1 day at• 10 millions players• 2 billions game server requests (http)• 20 devops people
Cloud“A cloud is made of billows uponbillows upon billows that look likeclouds.As you come closer to a cloud youdont get something smooth, butirregularities at a smaller scale.” Benoît B. Mandelbrot http://www.ﬂickr.com/photos/nirak/644336486
This talk will answer• Why building a system targeting the cloud?• How many EC2 instances do you need to respond to 0.25 billion uncacheable game reqs/day?
Uncertainity• will we reach100K or 3 millions users?• 3 million users in 2 weeks or 12 months?• cheat tool released 1h ago => single game call up 5000%• weekly releases, new feature performance impact?
the cloud• standard units (instances) of computing capacity• a network connecting all instances• an API to provision/dismiss instances
the cloudSounds like a good framework tocompose computing capacityWhy didn’t work as a frameworkto compose throughput?
Scaling in the cloud the recipeCLOUD: composable units of computing capacity +DEVELOPER: turn a unit of computing capacity in a unit of throughput =composable throughput, a plan for scaling BIG
turn a unit of computing capacity in a unit ofhttp://www.ﬂickr.com/photos/pasukaru76 throughput
Unit of throughput, where? App server Database
Unit of throughput, joke?App server App server App server App server Cache Database Database
Unit of throughput? App server Database No unit!
Unit of throughput? App server DatabaseTightly coupled throughput?
Unit of throughput? App server DatabaseMonolithic throughput?
Monolithic throughput• likes monolithic infrastructure!• scales well vertically• wants screaming fast stack (network, disks...)• any performance glitch impacts the whole system