Zynga has moved most of its users away from Amazon Web Services and on to its private cloud in a move to maximise the reliability and performance of its social games network.
Allan Leinwand, Zynga's CTO for infrastructure, said that nearly 80% of Zynga's daily active users were hosted on its own infrastructure at the end of 2011, a reversal from the start of last year, when 80% were hosted in Amazon's public cloud.
He thinks of Amazon as "a four-door saloon," whereas Zynga is able to fine-tune its own network, which it calls zCloud, to run like a sports car, he said.
"We love four-door saloons, but it's a car that's used for a lot of things - doing the shopping, moving the kids. I like to think of zCloud as the sports car built for the Le Mans of social gaming. It's tuned for the track."
Ahead of a presentation at the CloudConnect conference in San Jose, California, yesterday, Leinwand described how the maker of "Farmville" and "Words with Friends" has rethought its compute infrastructure over the past year. He also described the changes in a blog post.
He revealed that Zynga can now get 1,000 servers up and running in 24 hours, from loading dock to operation, and that it has been able to eliminate one in three physical servers since moving its operations from Amazon to its private cloud.
Zynga will continue to use Amazon in a hybrid cloud model, and Leinwand doesn't see Zynga reducing its dependence on Amazon any further, he said. But it now sees Amazon as a way to deal with unexpected surges in demand rather than as its primary platform.
"We love the flexibility it offers; we love to know we have that option," he said.
Zynga's move could provide clues for how companies that place a premium on performance will use the cloud in the future and how cloud services may develop.
"What's missing from the cloud today is the ability to take that infrastructure-as-a-service and customise it and tweak it in an appropriate way for our business," Leinwand said.
"For IT to really embrace cloud computing and outsource their data centres, you need to have more control than perhaps we're seeing these days."
Zynga started out hosting games on its own servers in a collocation facility but moved to Amazon when it couldn't keep pace with demand. A turning point was the 2009 launch of "Farmville," which shot from zero to 10 million users in six weeks.
From then until early last year Zynga launched all its new games in the cloud, moving them to its own servers only when demand became predictable.
But it continued to build out its zCloud, using software from Cloud.com and management tools from RightScale.
In the past year it has significantly expanded its own data centre capacity. Leinwand wouldn't give specifics, but he said the company has multiple physical locations on the East and West Coasts to provide redundancy.
It added enough power capacity to zCloud in the second half of 2011 to power "166 versions of the International Space Station," he said.
To improve reliability, Zynga set up its own fiber connections into Amazon and Facebook. The big outage Amazon suffered last year was a wake-up call for the company.
"Even though our game services weren't necessarily materially affected by that outage, knowing that someone we had a dependency on could have an outage changed the way we built the infrastructure," Leinwand said.
It built its own tools to help understand how its CPU, memory and I/O usage are constrained by its gaming applications, and what most stressed its web servers, memory cache and storage systems.
The upshot of that optimisation work is that for every three physical servers Zynga had to rent from Amazon, it now needs only one in zCloud.
"Its not because AWS has bad servers or is a bad service, it's because we streamlined, optimised and tweaked the zCloud platform in a way that was relevant for social games."
Zynga uses a three-tier system. When a person plays "Chess with Friends," for instance, the user enters the game through its web servers, changes to the board are cached in memory, and the game is saved on multiple disks for redundancy.
Its apps are written mostly in PHP. It uses an open source platform called Membase, which has memecache on the front end and a no-SQL database on the back end.
It had used MySQL for storage, but doesn't need its sophisticated query capabilities, and using Membase for both memory and storage gives it one less layer to administer.
Leinwand's team wrote automation tools that allow Zynga to install a thousand servers in short order. It doesn't use containers, like Microsoft and some other big online firms, but its integrator partners deliver the servers racked and ready to roll in.
It worked with a partner to design one server for a specific application - Leinwand wouldn't describe it in detail - but in general it uses standard x86 hardware where possible.
"As a philosophy I like to leverage what I call Taiwan Inc.," he said.