This document discusses gaming on AWS in Japan. It begins with an introduction by Shinpei Ohtani from Amazon Data Services Japan. It then discusses typical mobile gaming architectures on AWS, including using EC2, RDS, S3, CloudFront, Route53, and ElastiCache. It provides use case examples of major Japanese gaming companies using AWS, including Nintendo's Miiverse, the browser-based game Grani, mobile game developer GungHo Online Entertainment, and Bandai Namco Studio's use of AWS OpsWorks for automation. Key benefits highlighted include the ability to scale quickly on AWS, focus on development rather than infrastructure, and leverage AWS services and support.
3. Who am I?
• Shinpei Ohtani(ohtani@amazon.co.jp)
• Work for Amazon Data Services Japan
– 2011 Feb : joined as Solutions Architect
– 2013 Jan : SA Manager for entertainment segment
• Publications (in Japanese)
6. JAWS-‐UG
=
Japan
AWS
User
Group
Since
2010
from
Tokyo
to
50
branches
at
2015
7. The power of community : Cloud Design Pattern(CDP)
• AWS Cloud Design Patterns (CDP) are a collection of solutions
and design patterns for using AWS technologies to solve common
systems design problems.
Design guide Implementation guide
11. What would we need for a mobile game?
• Fast development
– Light weight gaming
– Frequent releases
• Unexpected traffic
• No way to predict how
much resources
needed
12. Pain point : Infrastructure hinders you move faster
• Want to super focus on
development
• Much less time after
launch due to feature
development and
operation
→ Faster development,
faster launch without
infrastructure burden is
critical for your success
13. Make it faster delivery with AWS !
• More focus on develop,
not infrastructure burden
• High peek traffic is
covered by scale of AWS
• Leverage new and
innovative technology on
AWS platform as soon as
you want to start
15. What would you need for latest gaming
infrastructure?
• Gaming core application
• Batch job capability
• Real-time communication capability
16. Mobile gaming architecture
• Start simple, keep it simple
• Golden pattern for gaming
– Multi-AZ
– VPC, EC2, RDS
– CloudFront, S3
– Route53, ElastiCache
• AWS makes it much easier
to build the architecture
and operate
17. Mobile gaming architecture – scale!
• Just scale up and out
• Avoid sharding RDS until
you absolutely need
– RDS is up to 32 vCPU/
244GB Memory as
r3.8xlarge!
18. Batch job on mobile gaming
• Put heavy & non-‐‑‒user related
jobs into worker servers
• Batch job example:
– Image resizing
– Push notification
– Data analytics
19. SQS + Worker pattern for asynchronous job
• Queue service in the cloud
• Highly available & scalable
• Fully managed
• Easy to use
• Make your app loosely coupled
• Job queue + worker is
common pattern
• Scale independently with SQS
Amazon SQS
Amazon Simple Queue Service (SQS)
20. Scalable mobile event notification by Amazon SNS
• Notification service in the cloud
• Highly available & scalable
• Pay only what you use
• Easy to manage
• Send millions notifications to
users to attract your game!
• Cross mobile platform
• Simplified application code
Amazon Simple Notification Service (SNS)
21. Gaming data analysis by Amazon Redshift
• Data warehouse in the cloud
• Easy to use with SQL capability
• Up to PB scale
• Gaming analysis is doable
without any heavy investment
• S3-‐‑‒Redshift Integration
Amazon Redshift
22. Real-time communication with WebSocket
• WebSocket for MMO type of
gaming
• Highly available WebSocket
server is tricky
– ELB isnʼ’t suitable for longer time
connection
• Architecture
– API servers for finding available
WebSocket instances
– WebSocket servers for direct
connection from customers
WebSocket serversAPI servers
23. Real-time communication with WebSocket
• NoSQL service in the cloud
– Highly scalable, highly
available, high performance
• Perfect fit to store and
manage connection state
– Scalable
– Write consistency
WebSocket serversAPI servers
Amazon DynamoDB
24. Let’s put it all together!
WebSocket servers
API servers
for WebSocket
Data analysis
Batch servers
* this architecture is intended to illustration purpose only
Game core servers(App/DB)
Mobile push notification
Contents
and Logs
26. #1. Gaming platform : Nintendo
• What is Miiverse?
– Global communication service for Wii U and Nintendo 3DS
– Provide API for gaming developer to connect Miiverse in a game
• Requirements
– Scalable storage for user data
– Highly available and durable database
– Flexible network for communicating across geographically
distributed locations mainly Japan, US, and Europe
28. Key takeaway from Miiverse
• Easier and flexible to add capacity with AWS
– C3/M3 latest instances are another game changer
• Leverage SDK and automate everything
– Automation make you focus on what matters most
• Technical support from AWS
– Solutions Architect and Enterprise Support
– Solve issues quickly as possible
29. Programmable infrastructure with AWS for massively
scalable and flexible infrastructure
AWS SDK for various language and platform
IDE build-‐‑‒in support
Eclipse Visual Studio CLI Powershell
iOS Android Java Python PHP .NET Ruby Node.jsJavaScript
Command line tool
30. #2. Browser based gaming : Grani
• Provide browser based gaming on top of AWS
• Migrated LAMP stack to Windows/IIS on EC2
– Reduced significant servers (300-400 servers to about 100)
• Well use C# capability with AWS
• Stats
– 100+ Windows Server 2012 instances without any issues
– MySQL RDS (r3.2xlarge to r3.8xlarge)
– Redis on EC2 (r3.2xlarge for master, r3.xlarge for slave)
– 10,000 request/sec, 100 million PV/day
31. Grani browser gaming architecture
VPC
Autoscaling Group
Redis on EC2
(Master-Slave)
EC2
Windows
CI, Deploy,
Batch on EC2
32. Key takeaway from Grani
• Works pretty well on Windows/C# for their game
• RDS is critical differentiator for Grani
– Point In Time Recovery is critical feature
– R3.8xlarge is well adopted
• Simple architecture without any special
treatment.
• Leverage AWS ISV partner such as NewRelic,
Sumo Logic to make you free from heavy-lifting
33. #3. Mobile gaming : GungHo Online Entertainment
• Experienced gaming company for PC online game
• Why AWS for mobile gaming?
– Faster development, flexible on capacity
• Puzzle and Dragons, biggest title since 2012
– 30 million+ downloads
35. Key takeaway from Gungho
• “We can accept 30 million users without any
need of special treatment. Just do regular
optimizations and operations.”
• Enterprise Support is critical for their success.
– 24/365 operations, 15 minute first contact response
– Monthly usage report
– Cost optimization proposal
36. #4. Automation : Bandai Namco Studio
• Provided mobile gaming “Drift Spiritz”
• Want to easily deploy both testing and production
• Choose AWS for OpsWorks?
– Easy and fully automated deployment
– Time-based scaling reduces unnecessary compute
– Load-based scaling lets you flexible autoscaling
– Ultimately focus on development the game, not managing
infrastructure with fewer developers
39. Closing Remarks
• Gaming customers well adopted AWS platform
– Simple but powerful architecture applied
• The power of AWS platform make you move
much faster
– AWS services, automation, technical support from AWS
• AWS fully managed services change their way
of adopting new technologies
– RDS, ElastiCache, SQS, Redshift, DynamoDB as name of few