The Evolution of zCloud
Zynga’s mission is to connect the world through games. Making games accessible to millions of people, and bringing play to everyone, everywhere, takes a lot of tech power and innovation.
It all starts with a strong foundation and our infrastructure is one of the strongest. Our total cloud footprint has been called one of the largest uses of public and private clouds in the world. In terms of scale and automation, we have the ability to deploy up to 1,000 servers in a 24 hour period. The power we deployed for our private cloud alone during the second half of 2011 could’ve kept 166 international space stations in orbit.
The path we’ve taken to get here is even more interesting, and over the last year we’ve made significant changes to our infrastructure that I’m happy to finally unveil today. First, a little back story…
The inflection point: FarmVille
When we first started as a company, we didn’t anticipate how quickly our games would grow. We supported our first games using third-party hosting services to launch and scale games. That was until FarmVille came along in June 2009.
FarmVille grew at an astonishing rate. Within the first six weeks, it went from zero to 10 million daily active users (DAUs). It hit 25 million DAUs within the first 5 months. We needed to come up with a solution to absorb this growth and we needed it quick.
The public cloud
We moved FarmVille to the public cloud using Amazon Web Services (AWS), and quickly realized how the public cloud could revolutionize our games. It allowed for limitless infrastructure, flexibility and peace of mind. We used the public cloud with virtual machine instances and scaled it with automated provisioning tools.
The birth of zCloud
While the public cloud revolutionized our infrastructure, we were limited in how we could optimize our infrastructure for specific games. While the public cloud is exceptional at providing a wealth of services for various computing needs, we’re an outlier and not a traditional IT workload. The performance and availability required to operate social games on the scale that we do, requires the ability to fine tune infrastructure.
Enter zCloud. We learned to understand our workload, look into the black box of cloud computing, and built what we affectionately call zCloud, our own private cloud infrastructure. zCloud looks, feels, and operates similar to the way we use the public cloud, but allows for greater performance, scale and reliability. As infrastructure that is private to Zynga, zCloud physically resides in our own datacenters and is designed specifically for social games in terms of availability, network connectivity, server processing power and storage throughput. zCloud – from proof of concept in our labs to supporting its first games – took less than 6 months.
Zynga’s hybrid cloud
Between zCloud and the public cloud, we had a strong hybrid cloud infrastructure to launch and support our games. We gained notoriety in the industry for turning hybrid cloud computing on its head. We used the limitless storage and flexibility of the public cloud to launch games and watched as they grew to millions of players within days. When we could predict the growth of our games, we began to balance the workload to our private datacenters. This approach – using the public cloud to “burst” and shift back to private infrastructure – ran counter to the traditional model of filling up private datacenters and offloading to the public cloud.
Bulking up zCloud
Between 2009 and 2011, we increased our physical server capacity by two orders of magnitude. We turned zCloud into a faster and more automated system. For social games specifically, zCloud offers 3x the efficiency of standard public cloud infrastructure. For example, where our games in the public cloud would require three physical servers, zCloud only uses one. We worked on provisioning and automation tools to make zCloud event faster and easier to set up. We’ve optimized storage operations and networking throughput for social gaming. Systems that took us days to set up instead took minutes. zCloud became a sports car that’s finely tuned for games.
In 2011, a major shift occurred. Rather than use zCloud as the off ramp from AWS, zCloud became the primary highway for our games. We began to launch games directly in zCloud instead of in the public cloud. In Spring 2011, we turned our first datacenter live in zCloud. In March 2011, we started migrating existing Zynga games over to zCloud infrastructure.
The first new Zynga game to launch in zCloud was CityVille Hometown in June 2011. Since then, every Zynga game has launched in zCloud, and we continued to actively migrate existing games to our own infrastructure. CastleVille, which holds the record for the fastest growing Zynga game was launched and scaled solely in zCloud.
To put it in perspective, at the start of 2011, only 20% of our DAU was in zCloud. By the beginning of this year, nearly 80% of our games’ DAU resided in zCloud, and 20% in the public cloud.
A new hybrid cloud
Zynga’s hybrid cloud architecture still leverages the public cloud, but it’s predominantly supported by zCloud. Now that we own the base, and rent the spike, so to speak, we’re re-architecting the ways our games operate within our own infrastructure. We’ve created our own automation tools for large server environments. We’ve built custom monitoring and management tools and utilize highly-available storage architectures to duplicate data before migrations.
What all this means is that we’re able to launch games faster, improve player experience (by improving game performance) and become more efficient. Best of all, we have even more capacity to bring play to the world.