Games with your head in the cloud

822 views

Published on

PaxDev presentation. Code at https://github.com/JulienEllie/paxdevdemo

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
822
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • PRESENT YOURSELF DUMMY\n
  • \n
  • \n\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • If you’re here it’s because you need the internet to help with your game. If you’re using the net, the cloud can help.\n\n\n
  • \n
  • - drawsome got downloaded 20 millions times in 5 weeks, the server load would be insane!\n- diablo 3 launch (I don’t know their backend, I can only speculate)\n- so how do you avoid issues? 2 WAYS:\n* REDUNDANCY\n* REDUNDANCY\nMonitor your service, know what’s going on. Don’t let your customers be the people finding issues.\n\nDon’t disappoint your audience, don’t go down.\n
  • - explain the pic\n- a lot of what the cloud does existed before. It’s putting it all together in a way that makes sense and is highly usable that helps.\n- this creates opportunities to innovate. do things no one has done before, do it repeatedly, cheaply and efficiently\n- this in turn in changing gaming: always on, always connected means new experiences, new game types and you don’t need a crazy infrastructure like Xbox Live to connect gamers together\n- what would you do with cheap, always on, always scalable computing resources available to you?\n\n
  • All of this is expensive to develop and maintain.\n- pay only for what you use, priced by the hour\n- reduce provisioning time\n- often with no or little commitment\n- make sure to look at Reserved Instances\n- FREE TIER, including DynamoDB\n
  • \n
  • Going to do things right, you need:\n- resilience through redundancy, this means you need load balancers, you need multi machines in multiple datacenters, etc.\n- ability to scale\n- monitoring and alarming. What happened, what’s happening, why? CRITICAL TO YOUR BUSINESS!\n\n\n
  • - different games have different need\n- not every game needs to be online\n- not every online game needs hugely scalable infrastructures\n- but if you do... do it right... \nIn the words of the lyrical poet vanilla ice: “Anything less than the best is a felony”\n
  • 1) games like minecraft used AWS to host their content, if you’re not going through steam or Apple to distribute your content, this is attractive\n2) + TURN BY TURN, SENDING EMAIL\n + Game servers? Why not provide a hosted option? So much easier. \n3) you can create actual MMOs or connected games with extended persistence, it’s not just the blizzards of the world anymore\n
  • \n
  • \n
  • CUSTOMER SCENARIOS\n
  • CUSTOMER SCENARIOS\n
  • CUSTOMER SCENARIOS\n
  • CUSTOMER SCENARIOS\n
  • REQUIREMENTS\n
  • REQUIREMENTS\n
  • REQUIREMENTS\n
  • REQUIREMENTS\n
  • \n
  • +SECURITY\n
  • + BE STATELESS, so much easier to scale\n
  • \n
  • \n
  • + UPGRADES BY REDEPLOY\n
  • \n
  • \n
  • \n
  • \n
  • Games with your head in the cloud

    1. 1. Writing gameswith your head in the cloud Julien Ellie - Amazon AWS
    2. 2. S.A.A.S, I.A.A.S., P.A.A.S., W.T.F.?
    3. 3. • Compute
    4. 4. • Compute• Storage
    5. 5. • Compute• Storage• Networking
    6. 6. • Compute• Storage• Networking• Monitoring
    7. 7. • Compute• Storage• Networking• Monitoring• Authentication
    8. 8. • Compute • Elastic Cloud Compute (EC2)• Storage • Simple Storage Service (S3), Elastic Block Storage, RDS Mysql, RDS Oracle, DynamoDB• Networking • Route53, Elastic Load Balancer,Virtual Private Cloud• Monitoring • CloudWatch• Authentication • Identity and Access Management (IAM)
    9. 9. • Notification
    10. 10. • Notification• Processing
    11. 11. • Notification• Processing• Content Delivery
    12. 12. • Notification• Processing• Content Delivery• Application Hosting
    13. 13. • Notification• Processing• Content Delivery• Application Hosting• Automation
    14. 14. • Notification • Simple Notification Service, Simple Email Service• Processing • Simple Queuing Service, Simple Workflow Service, Elastic MapReduce• Content Delivery • CloudFront• Application Hosting • Elastic Beanstalk• Automation • CloudFormation, Auto Scaling Groups
    15. 15. Confused yet?
    16. 16. So why use the cloud anyway?
    17. 17. Good enough, right?
    18. 18. Don’t go down, scale as you need
    19. 19. Innovate!
    20. 20. Don’t break the bank
    21. 21. In the end this leads to ...
    22. 22. NERD RAGE!
    23. 23. Use the cloud for what makes sense in your scenario!
    24. 24. • Distribute the game/updates/DLC (Storage, Content Delivery)• Enrich single player experience (Compute/Storage/Networking/ Processing)• Multiplayer: from 2 to MMOs
    25. 25. An example?
    26. 26. Platformer
    27. 27. • Simple platformer game: collect gems, get out. Dont die.
    28. 28. • Simple platformer game: collect gems, get out. Dont die.• Levels should come from the server. Get new levels all the time.
    29. 29. • Simple platformer game: collect gems, get out. Dont die.• Levels should come from the server. Get new levels all the time.• Always show the ghost/replay of the best highscore per level.
    30. 30. • Simple platformer game: collect gems, get out. Dont die.• Levels should come from the server. Get new levels all the time.• Always show the ghost/replay of the best highscore per level.• Upload my replay/high score if I beat the high score.
    31. 31. • A REST API serving levels and replays/highscores as JSON
    32. 32. • A REST API serving levels and replays/highscores as JSON• Store all the data in a safe, backed up location
    33. 33. • A REST API serving levels and replays/highscores as JSON• Store all the data in a safe, backed up location• An admin UI to edit and manage levels and replays/highscores.
    34. 34. • A REST API serving levels and replays/highscores as JSON• Store all the data in a safe, backed up location• An admin UI to edit and manage levels and replays/highscores.• Make it redundant, resilient, scalable.
    35. 35. So... not this, but let’s start there
    36. 36. Add multi-AZ replicated DB
    37. 37. Load balancing
    38. 38. Auto scaling
    39. 39. Monitoring & Alarms
    40. 40. Build on demand
    41. 41. Q &A
    42. 42. That’s all I got!Get in touch: JulienE@amazon.com http://github.com/JulienEllie/

    ×