Games with your head in the cloud

  • 659 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
659
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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

Transcript

  • 1. Writing gameswith your head in the cloud Julien Ellie - Amazon AWS
  • 2. S.A.A.S, I.A.A.S., P.A.A.S., W.T.F.?
  • 3. • Compute
  • 4. • Compute• Storage
  • 5. • Compute• Storage• Networking
  • 6. • Compute• Storage• Networking• Monitoring
  • 7. • Compute• Storage• Networking• Monitoring• Authentication
  • 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. • Notification
  • 10. • Notification• Processing
  • 11. • Notification• Processing• Content Delivery
  • 12. • Notification• Processing• Content Delivery• Application Hosting
  • 13. • Notification• Processing• Content Delivery• Application Hosting• Automation
  • 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. Confused yet?
  • 16. So why use the cloud anyway?
  • 17. Good enough, right?
  • 18. Don’t go down, scale as you need
  • 19. Innovate!
  • 20. Don’t break the bank
  • 21. In the end this leads to ...
  • 22. NERD RAGE!
  • 23. Use the cloud for what makes sense in your scenario!
  • 24. • Distribute the game/updates/DLC (Storage, Content Delivery)• Enrich single player experience (Compute/Storage/Networking/ Processing)• Multiplayer: from 2 to MMOs
  • 25. An example?
  • 26. Platformer
  • 27. • Simple platformer game: collect gems, get out. Dont die.
  • 28. • Simple platformer game: collect gems, get out. Dont die.• Levels should come from the server. Get new levels all the time.
  • 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. • 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. • A REST API serving levels and replays/highscores as JSON
  • 32. • A REST API serving levels and replays/highscores as JSON• Store all the data in a safe, backed up location
  • 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. • 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. So... not this, but let’s start there
  • 36. Add multi-AZ replicated DB
  • 37. Load balancing
  • 38. Auto scaling
  • 39. Monitoring & Alarms
  • 40. Build on demand
  • 41. Q &A
  • 42. That’s all I got!Get in touch: JulienE@amazon.com http://github.com/JulienEllie/