The gaming industry is undergoing massive changes, and AWS offers unique capabilities that game developers can use to succeed. In this session, we cover cloud gaming architectural patterns you can use to create highly available and scalable online games. We discuss games-as-APIs, database design considerations, decoupled architectures, and the best instance types for mobile, social, and AAA online games. By the end of this session, you’ll understand the different architecture patterns for the major classes of online games, as well as understand which AWS technologies will help you meet the unique challenges of each one.
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.
What's In It For Me? • Mobile Game Trends • Core Game Backend • Scaling Out • Push Messages • Analytics
A Few Gaming Customers
Mobile Game Landscape • Free To Play • In-App Purchases • Long-Tail • Cross-Platform • Go Global • User Retention = Revenue
Projected Mobile App Revenue
0100002000030000400005000060000700008000090000
2011 2012 2013 2014 2015 2016 2017
AdsIAPPaid
Source: Gartner
Mobile Online Features • Social Login • Friends • Leaderboards • Push Messages • Content Updates • Analytics
Traditional: Rigid AWS: Elastic
Servers
Demand
Capacity
Excess Capacity Wasted $$
Demand
Unmet Demand Upset Players
Missed Revenue
Pay As You Scale
Pay As You Scale
9 Regions
25 Availability Zones
Continuous Expansion
Go Global In Minutes
Mobile Backend Technology • HTTP Based • External Social API's • Save State • Database • Static Data Store • Mobile Push • Analytics
Get It Up
Region
• Choose Region • 9 Globally
• One Availability Zone • Ok for Development • No Redundancy
• EC2 Instance • Linux or Windows • App Server Code
• Elastic Load Balancer • DNS Entry Point
• Database • RDS or DIY Region
ELB
Social API's
Scale It Out
ELB
S3
• Add Another AZ • High Availability • Load Balancing
• Secondary Database • RDS Multi-AZ • Or DIY
• S3 for Game Data • Assets • UGC • Analytics
Region
Big picture slide
Scale It Way Out
ELB
S3
Region
Scale It Way Out
ELB
S3
• Auto Scaling Group • Capacity on Demand • Respond to Users
EC2 EC2 EC2
Region
Scale It Way Out
ELB
S3
• Auto Scaling Group • Capacity on Demand • Respond to Users
• ElastiCache • Memcache • Redis • Or DIY
EC2 EC2 EC2
Region
Scale It Way Out CloudFront CDN
ELB
S3
EC2 EC2 EC2
Region
• Auto Scaling Group • Capacity on Demand • Respond to Users
• ElastiCache • Memcache • Redis • Or DIY
• CloudFront CDN • DLC, Assets • PUT / POST • Game Saves • UGC
40+ CloudFront POPs
Europe Amsterdam (2) Dublin Frankfurt (2) London (2) Madrid Milan Paris (2) Stockholm
Asia Chennai Hong Kong (2) Mumbai Osaka Singapore (2) Seoul Sydney Tokyo (2)
South America Sao Paulo
North America Ashburn, VA (2) Dallas, TX (2) Hayward, CA Jacksonville, FL Los Angeles, CA (2) Miami, FL Newark, NJ New York, NY (3) Palo Alto, CA Seattle, WA San Jose, CA South Bend, IN St. Louis, MO
Big picture slide
Big picture slide
Elastic Beanstalk • Managed Container • Git Push or Zip Upload • ELB, EC2, RDS • Web Dashboard • URL Swap Deploys • Same Performance • So Yeah, Use It
Wrap It Up Already • Free To Play is Here To Stay • Start Small, Scale Out • Elastic Beanstalk • DynamoDB • S3 with CloudFront • SNS Mobile Push • SQS + ElastiCache to Scale • Focus on the Game
A Few Gaming Sessions • MBL303 – High-Performance Gaming Ops • MBL304 – Red 5's Firefall MMO • MBL305 – Killzone: Shadow Fall • MBL307 – Parse on AWS • MBL308 – SNS Mobile Push
Other Relevant Sessions • DAT101 – Production DynamoDB in an Hour • DAT204 – SmugMug: MySQL to DynamoDB • DAT307 – ElastiCache Deep Dive • DMG204 – Elastic Beanstalk 0-60 • SVC206 – Using SQS to Scale • DAT103 – Intro to Redshift • BDT203 – Analytics with DynamoDB + EMR
Please give us your feedback on this presentation
As a thank you, we will select prize winners daily for completed surveys!