© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Dorion Carroll, CIO, Zynga
October 2015
SPOT210
Zynga’s Journey (Back) to
the AWS Cloud
What to Expect from the Session
Zynga’s Journey (Back) to the AWS Cloud
• Zynga, a leading developer of social games with popular titles such as FarmVille, Zynga
Poker, and Words With Friends, was an early AWS customer that decided to move most
of its infrastructure off AWS in 2011 to build its own private cloud and data centers.
• With changes to their business over the years – particularly a transition to mobile games
and an ever increasing focus on analytics – Zynga determined that it would stop running
its own infrastructure and migrate workloads back to AWS, gaining agility, infrastructure
efficiency, and flexibility in managing operating costs.
• In this session, learn from Dorion Carroll, Chief Information Officer (CIO) for Zynga, as
he discusses some of the specific reasons why Zynga decided to move back to AWS
and his approach to Zynga’s migration plan.
Dorion Carroll – CIO, Zynga
• Joined Zynga in 2009
• CIO (2013 - present)
• CTO, Mobile (2011 - 2012)
• CTO, Shared Technology Group (2010)
• CTO, Mafia Wars (2009 – 2010)
• Currently responsible for:
• Cloud Operations & Engineering
• IS&T
• CyberSecurity
• Customer Support
• Quality Assurance
• International Localization
• Prior senior management roles at Technorati, Postini, Excite, and Oracle
Zynga games and data centers
Zynga Poker, Mafia Wars, and the X-Wars games
were hosted in retail data centers in Silicon Valley.
We did just about everything:• Equipment purchasing
• Racking and stacking
• Networking
• Operations and maintenance
Rapid growth with finite capacity
• We outgrew our data centers
• Lead times on equipment created a constant state of stress
• Bigger games actually cannibalized equipment from lower
performing games
Moving Mafia Wars
My first day at Zynga soon
became my second day: we
worked through the night moving
Mafia Wars from one data center
to a larger one down the street
FarmVille and the AWS cloud to the rescue
• FarmVille launched in AWS in June 2009 as our first Amazon EC2 game
• A few months later, it crossed the 80 million monthly active user mark
• In the summer of 2009, it would not have been possible for us to acquire
enough hardware for this meteoric growth, let alone provision it or even fit it in
our data center footprint
Zynga and AWS from 2009–2011
• Zynga continued to launch and scale
massive games on Facebook running
on top of AWS:
• Café World, CityVille, FrontierVille,
ChefVille, Bubble Safari, and more
• These games each rocketed from 0 to 10 million
users in weeks
• Zynga became extremely good at scaling in the cloud
• Our games like Zynga Poker, Words With Friends, and
even Mafia Wars launched on mobile platforms
zCloud: a cloud of our own
• Our appetite for EC2 instances and storage grew
• In partnership with AWS, we worked hard to keep up
• With games like FarmVille and CityVille at scale and with more on the
way, we created our own cloud with plans of operating in a hybrid model
Comstock – Q3 20113MW max – 3MW built
Vantage – Q1 20126 MW max – 5 MW built
Equinix – Q1 2009
EC2 – Q4 2009
VA1/VA2 – Q4 20104MW max – 4MW built
zCloud timeline
zCloud worked
• For major work loads, our new equipment
and dual network configuration gave us
nearly 3x gains in efficiency
• Our analytics infrastructure was able to
scale to new heights
• We were able to run both virtual instances
and bare metal as needed
• Time passed, equipment aged, and
mobile was upon us
Changing times
• Over the past few years, our industry and our games have moved to
mobile
• Our tech teams have created scalable, multi-tenant game services that
require a lot less equipment
• AWS invests heavily in scale, performance, configuration options, and
managed services
• We are investing in creating great games and can leverage the scale of
AWS and their learnings since 2011
Analytics breaks new ground in AWS
• Zynga stores and analyzes petabytes of data
• The equipment in our first zCloud data center was aging
• We chose to exit that data center and attempt to run our infrastructure in
the cloud
• No one had done this at our scale before
• We conducted 3 PoCs with AWS
• A fourth try that AWS conducted finally showed the way
• In 12 months, AWS has advanced storage and compute three times
• Had we chosen our own infrastructure, we would be behind already
Games and game services
• On a case-by-case basis, we consider workloads, future growth, and expense
• In some cases, we have completely re-implemented systems behind an API using
AWS managed services, while others have been lift and shift migrations
• The flexibility in options (instance classes, managed services, storage, etc.) has
given us the ability to experiment with live workloads running in parallel to choose
the best option
With Friends paves the way
• Words With Friends is our largest game – mobile and web
• It runs on iOS, Android, Windows, Kindle, and Facebook
• It is powered by a multi-tenant, turn-based backend
• The same backend powers Hanging With Friends, Word
Streak, Matching With Friends, Gems With Friends,
Chess With Friends, and What’s the Phrase
• We took a conservative, lift and shift approach to move
the backend
With Friends paves the way
• The move went smoothly with zero player downtime
• Post-migration, we were able to reduce the overall size by
over 30%
• Updated to AWS Linux image
• Upgraded Memcache to newer version
• Took advantage of I2 and local SSD
• These updates have shown the path for how to treat
many of our other games and services post-migration
Some key victories
• For With Friends, we re-implemented our Community Matchmaking:
• Reduced 100 database servers to 3 in AWS
• Updating to AWS Linux allowed us to drop our application server
instances from ~300 to ~200 due to the enhanced networking
capabilities
• Zynga Poker replaced a large MySQL farm with Amazon DynamoDB
dramatically reducing operational overhead
• A separate Zynga Poker database cluster saw 30 – 40X improvement in
query performance even under full write load:
• Query 1 went from 38 seconds to 1 second
• Query 2 went from 26.7 seconds to 1.5 seconds
Rapid wins with managed services
• Many of our games and game services use an older, open-source
technology for volatile (temporary) storage
• Though this technology has served us well as a semi-persistent cache, it
is difficult to maintain and manage
• Over the last several months, we have:
• Converted 17 game services to Amazon ElastiCache
• Converted 2 mission-critical services to Amazon DynamoDB
• Post-migration, we anticipate more conversions to DynamoDB and ElastiCache
• For those workloads that still require persistent storage, we are looking at
modernizing our storage technology, which is expected to yield > 75% reduction
in # of instances
Three reasons to consider a public cloud
• Business focus
• Zynga can focus on technical innovation in our games
• Investment
• With AWS, we pay for what we use, nothing more
• A three-year CapEx commitment means you are committed to what you
buy now vs. what is state of the art in one, two, and three years
• People
• Less emphasis for people to have hardware and physical infrastructure
expertise
• We can focus our people on running and operating our applications
What’s next in our journey?
• More optimizations with managed services and new architectures
• More experiments to drive innovation
• Micro-services
• AWS Lambda
• Amazon Redshift
• Amazon Glacier
• More fun and excitement!
Summary
• AWS is a leader in cloud computing and operations
• AWS is investing more in computing infrastructure innovation and
moving faster than we ever could
• We are exploring new services and configurations regularly to drive
performance and manage costs
• Using AWS allows Zynga to focus on developing great games, investing
in product innovation, and improving player experiences