Top Banner

of 32

Joyent Scale in the Cloud GT

Apr 08, 2018

Download

Documents

Gary Kam
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/6/2019 Joyent Scale in the Cloud GT

    1/32

  • 8/6/2019 Joyent Scale in the Cloud GT

    2/32

  • 8/6/2019 Joyent Scale in the Cloud GT

    3/32

  • 8/6/2019 Joyent Scale in the Cloud GT

    4/32

    James Cann

    Scaling acloudbased

    Game Infrastructure

  • 8/6/2019 Joyent Scale in the Cloud GT

    5/32

    Build a game!

  • 8/6/2019 Joyent Scale in the Cloud GT

    6/32

    Will it fly?

  • 8/6/2019 Joyent Scale in the Cloud GT

    7/32

    Build a database!

  • 8/6/2019 Joyent Scale in the Cloud GT

    8/32

    Will it float?

  • 8/6/2019 Joyent Scale in the Cloud GT

    9/32

    Get some servers!

  • 8/6/2019 Joyent Scale in the Cloud GT

    10/32

    DIY Server Farm

    hardware

    softwareoperating system

    raid memoryredundancy

    scalability

    read-write performance

    database

    load-balancerbackups

    Dantes Inferno!

  • 8/6/2019 Joyent Scale in the Cloud GT

    11/32

    Will it scale?

  • 8/6/2019 Joyent Scale in the Cloud GT

    12/32

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

  • 8/6/2019 Joyent Scale in the Cloud GT

    13/32

    Scalinggames != website

    traffic"

  • 8/6/2019 Joyent Scale in the Cloud GT

    14/32

    Scaling yourgame means launching

    today and possiblysupporting 100,000 users."

    tomorrow..."

  • 8/6/2019 Joyent Scale in the Cloud GT

    15/32

    The CloudCloud 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 thewidespread adoption of virtualization, service-orientedarchitecture and utility computing. Details areabstracted from consumers, who no longer have needfor expertise in, or control over, the technologyinfrastructure "in the cloud" that supports them.[1]""Danielson, Krissi (2008-03-26). "Distinguishing Cloud Computing from Utility Computing"""

  • 8/6/2019 Joyent Scale in the Cloud GT

    16/32

    The CloudWhat cloud computing vs. dedicatedserver 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"

  • 8/6/2019 Joyent Scale in the Cloud GT

    17/32

    Beyond web 2.0"Games are web 3.0 (maybe web 4.0)Critical masses of users accessing read-write

    resources with always-on devicesGaming traffic patterns and data consumption

    is burst-able, chatty, and highly unpredictable in

    early stagesRegardless of theoretical measurements thatcan be made, a small team of 3 people have

    more important things to do

  • 8/6/2019 Joyent Scale in the Cloud GT

    18/32

    Its not a yes or no question"it's an economics question:"

    Will it scale? Yes, no, maybe

    Hardware / SoftwareWetware*System Expectations

    *you and me and the database guru"

  • 8/6/2019 Joyent Scale in the Cloud GT

    19/32

    The CloudContextualizing scalability in the cloud when we framethis 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 moretraffic for less money."""

  • 8/6/2019 Joyent Scale in the Cloud GT

    20/32

    Hardware / Software"

  • 8/6/2019 Joyent Scale in the Cloud GT

    21/32

    Hardware / Software"

    daily active users = vertical"concurrent users = horizontal

    "

    The good news is there are early beacons:"1)Daily active users"2)Concurrent users"

    vertical = bigger (more cpu, memory)"horizontal = more (more db, app nodes)"

  • 8/6/2019 Joyent Scale in the Cloud GT

    22/32

  • 8/6/2019 Joyent Scale in the Cloud GT

    23/32

  • 8/6/2019 Joyent Scale in the Cloud GT

    24/32

    Analysis"Hardware:"Disk I/O"CPU graphs"Bandwidth""Software:"NewRelic

    "dTrace"

  • 8/6/2019 Joyent Scale in the Cloud GT

    25/32

    Ultimately, the databasewill become the problem"

  • 8/6/2019 Joyent Scale in the Cloud GT

    26/32

    Scaling the database

    Reads-writes (reads are easy!)

  • 8/6/2019 Joyent Scale in the Cloud GT

    27/32

    Scaling the database

    Reads-writes (writes are @#$% hard!) Sharding Master-master NoSQL (Cassandra, Riak)

  • 8/6/2019 Joyent Scale in the Cloud GT

    28/32

    Scaling the database

    Sharding

  • 8/6/2019 Joyent Scale in the Cloud GT

    29/32

    Scaling the database

    Master-master

  • 8/6/2019 Joyent Scale in the Cloud GT

    30/32

    Scaling the database

    NoSQL (Riak)

  • 8/6/2019 Joyent Scale in the Cloud GT

    31/32

    2011 Technology Trends:"NoSQL"Stack optimizations: Rails = Rack, Metal

    "Server-side Javascript (Node.js)"Cloud services (load balancers, security, db)"

  • 8/6/2019 Joyent Scale in the Cloud GT

    32/32

    Thank YouWebinar recording and slides will be available at

    joyent.com/resources/webinars on 1/12www.joyent.com

    Special thanks to Sean Johnson for server graphics