Over the past few months we were proud to publicly unveil zCloud – Zynga’s own private cloud computing infrastructure. In this post, we’ll take a closer look at cloud computing, zCloud, and Zynga’s use of both public and private cloud computing.
Cloud computing is infrastructure that is on-demand, flexible, distributed and location independent. Here at Zynga, we use cloud computing to bring play to the Internet. As we delight millions of users a month with our social games, we have to be flexible and nimble. Moments of user delight for our players happen all the time, and we need infrastructure that can support these moments. With cloud computing, we have the ability to use the three tenants of infrastructure – compute, storage and networking – in a way that grows and scales as required by our business.
The zCloud is our private cloud that looks, feels, and operates in a similar fashion to the way that we use Amazon Web Services (AWS) Elastic Compute Cloud (EC2), our public cloud provider. As infrastructure that is private to Zynga, the ZCloud physically resides in our current datacenters and will expand as we grow our infrastructure over time.
While similar in functionality to AWS, our private zCloud is designed specifically for social games in terms of availability, network connectivity, server processing power and storage throughput. We have achieved these improvements by providing redundant power to each rack, state-of-the-art servers with high memory capacity, a fully non-blocking network infrastructure, the use of inline hardware-based load balancers and local disk storage. The zCloud also integrates with the operational and management tools that have proven critical to our business, such as Rightscale and Cloud.com. We also make heavy use of open source technologies such as Apache, MySQL, memcache, Couchbase and Nagios.
We believe that picking best of breed vendors combined with open source projects allows us to scale effectively and efficiently.
Our vendors tell us that the zCloud is one of the world’s largest private clouds and will give Zynga the flexibility that we need to deliver games and features for our users in a very rapid fashion. Everyone that has been involved with zCloud, both internally and externally, have been amazed by the scale and speed that we have built out this infrastructure.
While our private cloud infrastructure has been growing quickly, Zynga also uses the AWS public cloud to fuel our rapid growth. Our use of AWS, while very important to our business, comes with an operating expense. Essentially, we have been trading monthly operating expenses against longer-term amortized capital expense. Yet, sometimes the pace of our growth forces us to make that tradeoff.
For example, when CityVille rapidly grew to millions of users in just six weeks, we had to grow our server infrastructure at a pace that kept up with and sometimes even outpaced this demand. In a strict capital expense model, we would have exceeded the supply chain of our equipment suppliers – the process of physically getting the number of servers ordered, shipped, delivered and implemented just takes too long. So, we traded the cost of operating expense in AWS for capital expense.
With that said, we do know that just like movies, games have demand arcs. As we see those arcs for games move from a vertical growth line to more traditional growth curve, we can plot the slop of that line and plan accordingly. Further, as we continue to grow our infrastructure scale on zCloud, we expect to be able to handle rapid game growth with the flexibility of our private cloud.
Given the initial success of zCloud, cloud computing has the potential to revolutionize social gaming infrastructure.