Zynga's hybrid cloud strategy helps it cope with the risk of unpredictable demand for new online games.
Looking To Cloud
Although Zynga's capacity needs are different from those of most other businesses, IT teams almost universally are at least investigating new cloud options for their Internet-facing architectures. Twenty-nine percent already have investigated cloud options, another 30% plan to, and 27% will do such research before adopting any new services, our InformationWeek Analytics 2011 State of Cloud Survey finds. Just 6% of survey respondents have no plans to explore cloud options.
We're just starting to see companies tap the cloud to deal with unknown demand. The Outback Steakhouse chain last year used the Microsoft Azure cloud to launch a coupon promotion for its Bloomin' Onion appetizer, a deep-fried Vidalia onion cut to resemble the petals of a flower. By getting people to register online with an email address and ZIP code, it could distribute a Bloomin' Onion coupon just for the Outback restaurant closest to an individual. Outback wasn't sure how many people would sign up, so it used load-balanced servers in Azure to get the promotion off the ground. By the fifth week, Outback had issued 670,000 coupons. Outback took a simple approach -- using a standalone app, without the transition to in-house data centers that Zynga's hybrid approach has.
Few companies have Zynga's luxury of building their data center infrastructures from scratch, but some are trying variations on the idea. FedEx, with a new data center it opened late last year, is relying on a more uniform infrastructure approach. Before apps are moved into it, they are revised to run on a standard x86 platform, with common infrastructure such as database and messaging, to allow resource sharing of servers, storage, and networking. When Indiana University did a hardware refresh of its data center, it opted to replace all its servers, including some just a year or two old, in part because of the management advantages of uniform hardware.
What Makes Zynga Tick
Community More than 200 million players, with more than 50 million active daily; 1,300+ employees.
Business Model Free games; players pay for virtual goods, from cows to fish to furniture. It sells gift cards. American Express lets you cash in reward points for virtual goods.
History Started with poker, invented Mafia Wars, FarmVille, and others focused on interaction.
Facebook Most players access games on Facebook, so Zynga's subject to its rules. But Zynga brings millions of people to Facebook, helping drive the social network's growth.
Zynga uses Citrix Systems' XenServer to create its virtualized environment. That choice reflects Zynga's preference for open source code; the XenServer hypervisor is a commercialized version of open source Xen. If it had to, a shop with Zynga's expertise could resort to the open source version and manage operations itself. Citrix does offer advanced management tools, but Zynga doesn't rely on them. It uses home-grown ones built atop open source systems management, network management, and virtualization management tools, Leinwand says.
Zynga likes the open source memory caching systems, such as Memcached, which manage an application's data in RAM instead of requiring calls to disk. Keeping data in RAM speeds up app performance, particularly for Web applications, which has made Memcached one of the most popular open source cache management systems.
Zynga uses MySQL and Couch DB, both open source databases, to rapidly serve players' data in game activities. Couch DB is a NoSQL system that recently became CouchBase, through a merger of Couch DB with the MemBase data management system built with Memcached. "CouchBase is giving us great performance in the memory tier," Leinwand says. With the ability to hold thousands of players' data in a cache memory, responses to each player's moves can be more instantaneous. It's almost as if the game were waiting for a player's next move.
Zynga employs a "follow the sun" operations team that works out of a Zynga West Coast data center, handing off responsibility at the end of the day to another team in Bangalore. These teams also monitor and manage the parts of Zynga games running in Amazon EC2.