L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

12
Connecting the World Through Games

description

Social Developer Summit

Transcript of L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Page 1: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Connecting the World Through GamesConnecting the World Through Games

Page 2: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Connecting the World Through GamesConnecting the World Through Games

Connecting the World Through GamesConnecting the World Through Games

Scaling From 0 to 100 Million Users

Luke RajlichJune 29, 2010

Page 3: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

FarmVille Growth

Design Motiviations

The Platform

Tooling

Team

Agenda

04/08/23| © Zynga. All Rights Reserved.3

Page 4: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Rocketship Growth after launch

1M daily users in 4 days

2M daily users in 10 days

4M daily users in 30 days

10M daily users in 64 days

Largest social game at launch: 5M daily users.

FarmVille Growth

04/08/23| © Zynga. All Rights Reserved.4

Page 5: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Design Motivations

We make games • Highly transactional workload.

• Large ratio of writes to reads.

• Small amounts of data.

• Highly Variable load

04/08/23| © Zynga. All Rights Reserved.5

Page 6: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Design Motivations

We move fast• Rapid growth

• Facilitate rapid development of new features

• Simplified systems cost estimation and ramp up

04/08/23| © Zynga. All Rights Reserved.6

Page 7: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

The Platform

04/08/23| © Zynga. All Rights Reserved.7

LAMP stack

• PHP + APC• Heavy use of memcache• Schema-less design

Cloud

• EC2• Elastic web server clusters• Push-button Provisioning

Page 8: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Tooling

• Monitoring– Nagios, Munin, Collectd

– Custom instrumentation and dashboards

• Configuration– Puppet, yum

– Custom runtime configuration tooling

• Deployment– Hudson

04/08/23| © Zynga. All Rights Reserved.8

Page 9: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

Tooling Example

• Runtime Tool – Dynamic Server Configuration– Web Servers pull config from a central store

– Fast and reliable changes without deploying new code

04/08/23| © Zynga. All Rights Reserved.9

Page 10: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

The Team

• Sometimes overlooked part of scaling

• Cross Train

• Extensive documentation– Incident diary

– Operations Runbook

04/08/23| © Zynga. All Rights Reserved.10

Page 11: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

General Advice

• Asynchronous Processing

• Degrade services– Identify and implement the operational modes for backend

services

• Feature on/off switches

• Double check network timeouts– defaults tend to be way too long

• Instrument performance

04/08/23| © Zynga. All Rights Reserved.11

Page 12: L. Rajlich Case Study Zynga - Scaling From 100 to 100 Million Users Social Developer Summit

connecting the world through gamesconnecting the world through games