Вы находитесь на странице: 1из 32

Scaling a cloud based!

Game Infrastructure
James Cann
Build a game!
Will it fly?
Build a database!
Will it float?
Get some servers!
load-balancer

hardware
redundancy

raid
backups
memory

DIY Server Farm


operating system
database

software

scalability

read-write performance

Dante s Inferno!

ancy

Will it scale?
• Will it fly?
• Will it float?
• Will it scale?
These questions seem identical to most people

Scaling 

games != website
traffic"
Scaling your 

game means launching
today and possibly
supporting 100,000 users."
tomorrow..."
The Cloud
Cloud computing is Internet-based computing,
whereby shared servers provide resources, software,
and data to computers and other devices on demand,
as with the electricity grid. "
"
Cloud computing is a natural evolution of the
widespread adoption of virtualization, service-oriented
architecture and utility computing. Details are
abstracted from consumers, who no longer have need
for expertise in, or control over, the technology
infrastructure "in the cloud" that supports them.[1]"
"
Danielson, Krissi (2008-03-26). "Distinguishing Cloud Computing from Utility Computing""

"
The Cloud
What cloud computing vs. dedicated
server rental meant to us:"
"
"• Commoditized-hardware"
• Big-iron performance at dedicated server prices"
• Hardware expertise"
• Server technology expertise"
• Reliability and up-time"
• Rapid resource allocation"
• Conserve in-house attention"
Beyond web 2.0"
•  Games are web 3.0 (maybe web 4.0)

•  Critical masses of users accessing read-write
resources with always-on devices

•  Gaming traffic patterns and data consumption
is burst-able, chatty, and highly unpredictable in
early stages

•  Regardless of theoretical measurements that
can be made, a small team of 3 people have
more important things to do



Will it scale? Yes, no, maybe

It s not a yes or no question"


it's an economics question:"
•  Hardware / Software
•  Wetware*
•  System Expectations
*you and me and the database guru"
The Cloud
Contextualizing scalability in the cloud when we frame
this as an ROI analysis:"
"
•" Commoditized-hardware"
• Big-iron performance at dedicated server prices"
• Hardware expertise"
• Server technology expertise"
• Reliability and up-time"
• Rapid resource allocation"
• Conserve in-house attention"

We get high-performance, high-availability, high-


concurrency, dedicated expertise to accommodate more
traffic for less money."
"
"
Hardware / Software"
Hardware / Software"
The good news is there are early beacons:"
1) Daily active users"
2) Concurrent users"

daily active users = vertical"


concurrent users = horizontal"
vertical = bigger (more cpu, memory)"
horizontal = more (more db, app nodes)"
Analysis"
Hardware:"
Disk I/O"
CPU graphs"
Bandwidth"
"
Software:"
NewRelic"
dTrace"
Ultimately, the database
will become the problem"
Scaling the database
•  Reads-writes (reads are easy!)
Scaling the database
•  Reads-writes (writes are @#$% hard!)
‣  Sharding
‣  Master-master
‣  NoSQL (Cassandra, Riak)
Scaling the database
•  Sharding
Scaling the database
•  Master-master
Scaling the database
• NoSQL (Riak)
2011 Technology Trends:"
• NoSQL"
• Stack optimizations: Rails = Rack, Metal"
• Server-side Javascript (Node.js)"
• Cloud services (load balancers, security, db)"
Thank You

Webinar recording and slides will be available at

joyent.com/resources/webinars on 1/12



www.joyent.com

Special thanks to Sean Johnson for server graphics