Building’s Compute Cloud

Location: D139-140 Level: Intermediate
Average rating: **...
(2.57, 7 ratings)

The goal of this presentation is to educate the audience on various architectural, design, and implementation details learned while building Go Daddy’s Compute Cloud IaaS offering. Specifically we will focus on the managing a highly distributed SOA/EDA architecture, the messaging system, and our approach for process orchestration.

Go Daddy’s cloud follows EDA and SOA principals to orchestrate over 100 separate services geographically distributed. While building all of these services we determined we needed a good amount of automation and monitoring to support these services from a very small team. We will discuss the various techniques such as Apache Maven, Jenkins, Yum/RPM, Puppet, Node.js, and Apache CouchDB we have used to build, package, deploy, and monitor all of these services.

A specific challenge we had with our distributed model is how to efficiently communicate between the services. We will discuss why we stopped using SOAP over HTTP and JMS and moved to JSON on Redis Pub/Sub.

Finally we will present how we used the concepts of eventual consistency and applied it to our whole virtual machine provisioning process. Instead of following a synchronous process of provisioning compute, storage, and then networking, we use a non-reliable event driven model that will eventually ensure that the individual aspects will complete.

Photo of Darren Shepherd

Darren Shepherd

Darren is the architect and technical lead of Go Daddy’s IaaS platform. He has a background in large scale distributed systems. Prior to Go Daddy, Darren was an architect working for Citigroup on their Self Service Delivery Platform. In his free time he enjoys leveraging his obsession with Linux and Xen to develop interesting solutions for problems that don’t exist.


For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or

View a complete list of OSCON contacts