Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWS Customer Presentation - Zynga


Published on

Farmville, Cafeworld, and 5 out of 10 the top games on facebook is powered by Zynga and AWS. Jayme Cox discusses how Zynga uses AWS and shares some the lessons learned a the AWS Startup Tour - SV - 2010

Published in: Technology
  • Be the first to comment

AWS Customer Presentation - Zynga

  1. Zynga Hyper Growth with Amazon Web Services<br />Jayme Cox, Manager Cloud Operations<br />April 14th, 2010<br />
  2. Agenda<br />Why Zynga chose AWS<br />AWS Services Used<br />Easy Startup<br />Lessons Learned<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />3<br />Best Practices<br />
  3. Treasure Isle<br />3 Million DAU in six days<br />
  4. FarmVille Traffic Growth<br />1 Million DAUsevery week for 20 weeks<br />source:<br />
  5. Why Zynga Chose AWS<br />Hyper Growth<br />True on demand computing<br />Added 500 web in 30 mins (50% spike in Farmville traffic) <br />Multiple massively scalable services<br />S3, EC2, EBS, CloudFront, etc<br />Pay to Play<br />Only pay for the resources you use<br />Stable, full featured API<br />Outgrew our existing datacenter<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />6<br />
  6. Services Used<br />5 of the top 10 Facebook games hosted 100% in EC2<br />LB, web, memcached and MySQL database servers<br />Elastic Compute Cloud (ec2)<br />m1.xlarge for DB and memcached<br />c1.xlarge for web nodes<br />Simple Storage Service (s3)<br />Static Assets (images, flash, etc)<br />Code release process<br />Elastic Block Storage (ebs)<br />Persistent storage for MySQL<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />7<br />
  7. Quick and Easy Startup<br />Grab your founders Credit Card and GO!<br />Up and running in minutes<br />Literally had servers online in 30 minutes <br />Highly recommend RightScale<br />Management Platform for AWS<br />Scale your servers without scaling Sys Admin team<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />8<br />
  8. Lessons Learned<br />Plan Ahead<br />Start small, but plan for massive growth<br />Horizontal Scalability is required<br />Each of your application tiers must scale horizontaly<br />Pools of LB + web servers<br />Shards of memcached servers<br />Shards of DB servers<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />9<br />
  9. Best Practices<br />Design for failure<br />Plan for when (not if) a component fails<br />Design in “scale back” capability<br />Write your applications so you can turn off costly functions to keep the site up and running under massive load spikes<br />Invest in tools and management frameworks<br />CFengine, Chef and Puppet allow you to scale your servers without having to scale sys admins alongside<br />Tools and automation are keys to successful growth<br />Monitoring and fault notification<br />When things break, you want to know about them<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />10<br />
  10. Best Tools<br />Open Source<br />Zynga uses open source for entire game stack<br />HAproxy for frontend Load Balancers<br />Apache + PHP for web servers<br />Memcached for ultra-fast write storage<br />MySQL database for data persistence<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />11<br />
  11. Round Robin DNS<br />…<br />Load Balancer #1<br />Load Balancer #N<br /> Auto-scaling web array (PHP)<br />…<br />Web Server #M<br />Web Server #1<br />User Data <br />& Updates<br />Memcache Pool<br />Lazy Writes<br />DB Layer<br />Data<br />Reads<br />…<br />DB-#K<br />Master<br />DB-#1<br />Master<br />…<br />DB-#K<br />Slave<br />DB-#1<br />Slave<br />
  12. Best Tools<br />Monitoring and fault notification<br />Collectd for trend reporting<br />Nagios for fault alert notification<br />Automation and configuration<br />RightScale and Puppet<br />4/12/10<br />| © Zynga. All Rights Reserved.<br />13<br />
  13. PS: We’re hiring — over 300 job openings<br />