SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Traditional: Rigid 
AWS: Elastic 
Servers 
Demand 
Capacity 
Excess Capacity Wasted $$ 
Demand 
Unmet Demand 
Upset Players 
Missed Revenue :(
11 Regions 
52 Edge Locations 
Continuous Expansion
Multiplayer 
Leaderboards 
Multi-platform 
Achievements 
Power-ups 
In-game purchases 
Multi-ball 
Break-out mode
ELB 
•Choose region 
•>=2 AvailabilityZones 
•Amazon EC2 for app 
•Elastic Load Balancing 
•Amazon RDS database 
•Multi-AZ 
Region
ELB 
•Amazon S3 for game data 
•Assets 
•UGC 
•Analytics 
Region
ELB 
•Amazon S3 for game data 
•Assets 
•UGC 
•Analytics 
•... with CloudFront! 
Region 
CloudFront 
CDN
•Amazon S3 for game data 
•Assets 
•UGC 
•Analytics 
•... with CloudFront! 
•Auto Scaling Group 
•Capacity on demand 
•Respond to users 
•Automatic healing 
ELB 
Region 
CloudFront 
CDN
• Amazon S3 for game data 
• Assets 
• UGC 
• Analytics 
• ... with CloudFront! 
• Auto Scaling Group 
• Capacity on demand 
• Respond to users 
• Automatic healing 
• Amazon ElastiCache 
• Memcached 
• Redis 
ELB 
Region 
CloudFront 
CDN
•Games are write heavy 
•Caching of limited use 
•Key value key value 
•Binary structures 
•Database = bottleneck 
ELB 
Region 
CloudFront 
CDN
(not fun)
•Fully-managed 
•NoSQLdata store 
•Provisioned throughput 
•Secondary indexes 
•PUT/GET keys 
•Document Support! 
•400 KB Items 
•Reindexing(Soon!) 
•Auto Scaling (OSS) 
ELB 
Region 
CloudFront 
CDN
•Hash key = Primary key 
•Range key = Sub key 
•Range key = Sort key 
•Others attributes are undefined 
•So… How to sort based on Top Score? 
UserID(hash key) 
BoardName(rangekey) 
TopScore 
TopScoreDate 
"101" 
"GalaxyInvaders" 
5842 
"2014-09-15T17:24:31" 
"101" 
"Meteor Blasters" 
1000 
"2014-10-22T23:18:01" 
"101" 
"StarshipX" 
24 
"2014-08-31T13:14:21" 
"102" 
"AlienAdventure" 
192 
"2014-07-12T11:07:56" 
"102" 
"GalaxyInvaders" 
0 
"2014-09-18T07:33:42" 
"103" 
"Attack Ships" 
3 
"2014-10-19T01:13:24" 
"103" 
"GalaxyInvaders" 
2317 
"2014-09-11T06:53:00" 
"103" 
"Meteor Blasters" 
723 
"2014-10-19T01:14:24" 
"103" 
"StarshipX" 
42 
"2014-07-11T06:53:03"
•Create a secondary index! 
•Set hash key to BoardName 
•Set range key to TopScore 
•Project extra attributes as needed 
•Can now query by BoardName, Sorted by TopScore 
•Handles many common gaming use case 
BoardName(hash key) 
TopScore(rangekey) 
UserID 
"AlienAdventure" 
192 
"101" 
"Attack Ships" 
3 
"103" 
"GalaxyInvaders" 
0 
"102" 
"GalaxyInvaders" 
2317 
"103" 
"GalaxyInvaders" 
5842 
"101" 
"Meteor Blasters" 
723 
"103" 
"Meteor Blasters" 
1000 
"101" 
"StarshipX" 
24 
"101" 
"StarshipX" 
42 
"103" 
UserID(hash key) 
BoardName(rangekey) 
TopScore 
TopScoreDate 
"101" 
"GalaxyInvaders" 
5842 
"2014-09-15T17:24:31"
•Document types: List, Map 
•Document content addressing 
"name": "Martin", 
"games": ["Megablast", 
"Spacerace"], 
"score": { 
"Megablast" : 123, 
"Spacerace" : 41 
} 
"name": { 
"S": "Martin" 
} 
"games": { 
"L": [ { "S": "Megablast" }, 
{ "S": "Spacerace" } ] 
}, 
"score": { 
"M": { 
"Megablast": { "N": "123" }, 
"Spacerace": { "N": "41" } 
} 
} 
,Boolean, Null 
document.score.Megablast
SOV204 
Scaling Up to Your First 10 Million Users 
SDD407 
Amazon DynamoDB: Data Modeling and Scaling Best Practices 
GAM302 
EA's Real-World Hurdles with Millions of Players in theSimpsons: Tapped Out
Region 
•API backend app 
•Core session 
•Matchmaking 
•S3+CloudFront 
•DLC, assets 
•Game saves 
•UGC 
•Public server tier 
•Direct client socket 
•Scale on players
①Login via API 
②Request matchmaking 
③Get game server IP 
Region
①Login via API 
②Request matchmaking 
③Get game server IP 
④Connect to server 
⑤Pull down assets 
⑥Other players join 
Region
Region A 
Region B
GAM402 
Deploying a Low-Latency Multiplayer Game Globally: Loadout 
GAM404 
Gaming DevOps: Scopely'sContinuous Deployment Pipeline 
GAM405 
Create Streaming Game Experiences with Amazon AppStream
Load test environment 
Metrics tools
0 20 40 60 80 
0 5000 10000 15000 20000 25000 30000 
Engine Ping 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
0 20 40 60 80 
0 5000 10000 15000 20000 25000 30000 
Join OK 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
0 20 40 60 80 
0 5000 10000 15000 20000 25000 30000 
Spawn OK 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
0 20 40 60 80 
0 5000 10000 15000 20000 25000 30000 
Turf API 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
bad
0 20 40 60 80 100 
0 20000 40000 60000 80000 
Engine Ping 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
0 20 40 60 80 100 
0 20000 40000 60000 80000 
Join OK 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
0 20 40 60 80 100 
0 20000 40000 60000 80000 
Spawn OK 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
0 20 40 60 80 100 
0 20000 40000 60000 80000 
Turf API 
Minutes 
Milliseconds 
ccu 
95th 
max 
median 
min 
Better!
GAM303 
Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming 
WEB306 
UI, Load, and Performance Testing Your Websites on AWS 
GAM301 
Real-Time Game Analytics with Kinesis, Redshift, and DynamoDB 
GAM304 
How Riot Games re:Inventedtheir AWS Model 
ARC302 
Running Lean Architectures: How to Optimize for Cost Efficiency
wow 
so managed 
much gaming 
such available 
very scaling
Please give us your feedback on this session. 
Complete session evaluations and earn re:Invent swag. 
http://bit.ly/awsevals

Contenu connexe

Tendances

아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
Amazon Web Services Korea
 

Tendances (20)

Six Degrees of Domain Admin - BloodHound at DEF CON 24
Six Degrees of Domain Admin - BloodHound at DEF CON 24Six Degrees of Domain Admin - BloodHound at DEF CON 24
Six Degrees of Domain Admin - BloodHound at DEF CON 24
 
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321) ...
 
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (Amazon RDS)
 
micro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featuresmicro-ROS - New client library and middleware features
micro-ROS - New client library and middleware features
 
Security in NodeJS applications
Security in NodeJS applicationsSecurity in NodeJS applications
Security in NodeJS applications
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Introduction to Amazon DynamoDB
Introduction to Amazon DynamoDBIntroduction to Amazon DynamoDB
Introduction to Amazon DynamoDB
 
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
 
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigLive Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
 
Supercell – Scaling Mobile Games (GAM301) - AWS re:Invent 2018
Supercell – Scaling Mobile Games (GAM301) - AWS re:Invent 2018Supercell – Scaling Mobile Games (GAM301) - AWS re:Invent 2018
Supercell – Scaling Mobile Games (GAM301) - AWS re:Invent 2018
 
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
 
Internet Domain Names
Internet Domain NamesInternet Domain Names
Internet Domain Names
 
CSS INHERITANCE
CSS INHERITANCECSS INHERITANCE
CSS INHERITANCE
 
Introduction to Amazon DynamoDB
Introduction to Amazon DynamoDBIntroduction to Amazon DynamoDB
Introduction to Amazon DynamoDB
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
 
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트
 
Secure PHP Coding
Secure PHP CodingSecure PHP Coding
Secure PHP Coding
 
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ BehaviourWAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
 
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
Analyze corefile and backtraces with GDB for Mysql/MariaDB on Linux - Nilanda...
 

En vedette

Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Amazon Web Services
 

En vedette (20)

(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
 
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Inv...
 
(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...
(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...
(BDT206) See How Amazon Redshift is Powering Business Intelligence in the Ent...
 
AWS Customer Presentation - Admeld
AWS Customer Presentation - Admeld AWS Customer Presentation - Admeld
AWS Customer Presentation - Admeld
 
AWS Customer Presentation - WeoGeo
AWS Customer Presentation - WeoGeo AWS Customer Presentation - WeoGeo
AWS Customer Presentation - WeoGeo
 
AWS Customer Presentation - Skipso
AWS Customer Presentation - Skipso AWS Customer Presentation - Skipso
AWS Customer Presentation - Skipso
 
(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...
(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...
(APP311) Lessons Learned From Over a Decade of Deployments at Amazon | AWS re...
 
AWS Webcast - Sumo Logic
AWS Webcast - Sumo LogicAWS Webcast - Sumo Logic
AWS Webcast - Sumo Logic
 
Migrating Entire Enterprise IT
Migrating Entire Enterprise ITMigrating Entire Enterprise IT
Migrating Entire Enterprise IT
 
(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014
(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014
(MBL305) The World Cup Second Screen Experience | AWS re:Invent 2014
 
AWS Customer Presentation - Mind Touch
AWS Customer Presentation - Mind TouchAWS Customer Presentation - Mind Touch
AWS Customer Presentation - Mind Touch
 
AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...
AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...
AWS GovCloud (US) Fundamentals: Past, Present, and Future - AWS Symposium 201...
 
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
Media Processing and Delivery on AWS, Santa Monica Meetup 6/25/14
 
(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014
(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014
(BDT205) Your First Big Data Application on AWS | AWS re:Invent 2014
 
AWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWS
AWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWSAWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWS
AWS Paris Summit 2014 - T2 - Optimisation du coût total de possession avec AWS
 
DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring DevOps for the Enterprise: Automated Testing and Monitoring
DevOps for the Enterprise: Automated Testing and Monitoring
 
Intro to Amazon Web Services at Edinburgh Startup Event
Intro to Amazon Web Services at Edinburgh Startup EventIntro to Amazon Web Services at Edinburgh Startup Event
Intro to Amazon Web Services at Edinburgh Startup Event
 
The Great Cloud Migration
The Great Cloud MigrationThe Great Cloud Migration
The Great Cloud Migration
 
Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014
 
APN Partner Webinar - Security & Compliance for AWS EMEA Partners
APN Partner Webinar - Security & Compliance for AWS EMEA PartnersAPN Partner Webinar - Security & Compliance for AWS EMEA Partners
APN Partner Webinar - Security & Compliance for AWS EMEA Partners
 

Similaire à (GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Invent 2014

201507131408448146
201507131408448146201507131408448146
201507131408448146
Mason Mei
 
Barga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 KeynoteBarga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 Keynote
Roger Barga
 

Similaire à (GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Invent 2014 (20)

Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築
 
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
(GAM301) Real-Time Game Analytics with Amazon Kinesis, Amazon Redshift, and A...
 
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
 
Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout Deploying a Low-Latency Multiplayer Game Globally: Loadout
Deploying a Low-Latency Multiplayer Game Globally: Loadout
 
201507131408448146
201507131408448146201507131408448146
201507131408448146
 
GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS
 
Barga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 KeynoteBarga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 Keynote
 
SRV404 Deep Dive on Amazon DynamoDB
SRV404 Deep Dive on Amazon DynamoDBSRV404 Deep Dive on Amazon DynamoDB
SRV404 Deep Dive on Amazon DynamoDB
 
Living on the edge
Living on the edgeLiving on the edge
Living on the edge
 
Cloud Gaming Architectures: From Social to Mobile to MMO
Cloud Gaming Architectures: From Social to Mobile to MMOCloud Gaming Architectures: From Social to Mobile to MMO
Cloud Gaming Architectures: From Social to Mobile to MMO
 
KGC 2013 AWS Keynote
KGC 2013 AWS KeynoteKGC 2013 AWS Keynote
KGC 2013 AWS Keynote
 
AWS Architecture - GDC 2014
AWS Architecture - GDC 2014AWS Architecture - GDC 2014
AWS Architecture - GDC 2014
 
AWS Road Trip 2013 - Presentation
AWS Road Trip 2013 - PresentationAWS Road Trip 2013 - Presentation
AWS Road Trip 2013 - Presentation
 
SRV404 Deep Dive on Amazon DynamoDB
SRV404 Deep Dive on Amazon DynamoDBSRV404 Deep Dive on Amazon DynamoDB
SRV404 Deep Dive on Amazon DynamoDB
 
Gaming in the Cloud - Pop-up Loft Tel Aviv
Gaming in the Cloud - Pop-up Loft Tel AvivGaming in the Cloud - Pop-up Loft Tel Aviv
Gaming in the Cloud - Pop-up Loft Tel Aviv
 
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016: [REPEAT] How EA Leveraged Amazon Redshift and AWS Partner...
 
AWS re:Invent 2016| GAM301 | How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016| GAM301 | How EA Leveraged Amazon Redshift and AWS Partner...AWS re:Invent 2016| GAM301 | How EA Leveraged Amazon Redshift and AWS Partner...
AWS re:Invent 2016| GAM301 | How EA Leveraged Amazon Redshift and AWS Partner...
 
AWS re:Invent 2016 Recap: What Happened, What It Means
AWS re:Invent 2016 Recap: What Happened, What It MeansAWS re:Invent 2016 Recap: What Happened, What It Means
AWS re:Invent 2016 Recap: What Happened, What It Means
 
게임을 위한 Cloud Native on AWS (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 Cloud Native on AWS (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 Cloud Native on AWS (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 Cloud Native on AWS (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
Gam301 Real-Time Game Analytics with Amazon Redshift, Amazon Kinesis, and Ama...
 

Plus de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Invent 2014

  • 1.
  • 2.
  • 3. Traditional: Rigid AWS: Elastic Servers Demand Capacity Excess Capacity Wasted $$ Demand Unmet Demand Upset Players Missed Revenue :(
  • 4. 11 Regions 52 Edge Locations Continuous Expansion
  • 5. Multiplayer Leaderboards Multi-platform Achievements Power-ups In-game purchases Multi-ball Break-out mode
  • 6.
  • 7. ELB •Choose region •>=2 AvailabilityZones •Amazon EC2 for app •Elastic Load Balancing •Amazon RDS database •Multi-AZ Region
  • 8. ELB •Amazon S3 for game data •Assets •UGC •Analytics Region
  • 9. ELB •Amazon S3 for game data •Assets •UGC •Analytics •... with CloudFront! Region CloudFront CDN
  • 10. •Amazon S3 for game data •Assets •UGC •Analytics •... with CloudFront! •Auto Scaling Group •Capacity on demand •Respond to users •Automatic healing ELB Region CloudFront CDN
  • 11. • Amazon S3 for game data • Assets • UGC • Analytics • ... with CloudFront! • Auto Scaling Group • Capacity on demand • Respond to users • Automatic healing • Amazon ElastiCache • Memcached • Redis ELB Region CloudFront CDN
  • 12. •Games are write heavy •Caching of limited use •Key value key value •Binary structures •Database = bottleneck ELB Region CloudFront CDN
  • 14. •Fully-managed •NoSQLdata store •Provisioned throughput •Secondary indexes •PUT/GET keys •Document Support! •400 KB Items •Reindexing(Soon!) •Auto Scaling (OSS) ELB Region CloudFront CDN
  • 15. •Hash key = Primary key •Range key = Sub key •Range key = Sort key •Others attributes are undefined •So… How to sort based on Top Score? UserID(hash key) BoardName(rangekey) TopScore TopScoreDate "101" "GalaxyInvaders" 5842 "2014-09-15T17:24:31" "101" "Meteor Blasters" 1000 "2014-10-22T23:18:01" "101" "StarshipX" 24 "2014-08-31T13:14:21" "102" "AlienAdventure" 192 "2014-07-12T11:07:56" "102" "GalaxyInvaders" 0 "2014-09-18T07:33:42" "103" "Attack Ships" 3 "2014-10-19T01:13:24" "103" "GalaxyInvaders" 2317 "2014-09-11T06:53:00" "103" "Meteor Blasters" 723 "2014-10-19T01:14:24" "103" "StarshipX" 42 "2014-07-11T06:53:03"
  • 16. •Create a secondary index! •Set hash key to BoardName •Set range key to TopScore •Project extra attributes as needed •Can now query by BoardName, Sorted by TopScore •Handles many common gaming use case BoardName(hash key) TopScore(rangekey) UserID "AlienAdventure" 192 "101" "Attack Ships" 3 "103" "GalaxyInvaders" 0 "102" "GalaxyInvaders" 2317 "103" "GalaxyInvaders" 5842 "101" "Meteor Blasters" 723 "103" "Meteor Blasters" 1000 "101" "StarshipX" 24 "101" "StarshipX" 42 "103" UserID(hash key) BoardName(rangekey) TopScore TopScoreDate "101" "GalaxyInvaders" 5842 "2014-09-15T17:24:31"
  • 17. •Document types: List, Map •Document content addressing "name": "Martin", "games": ["Megablast", "Spacerace"], "score": { "Megablast" : 123, "Spacerace" : 41 } "name": { "S": "Martin" } "games": { "L": [ { "S": "Megablast" }, { "S": "Spacerace" } ] }, "score": { "M": { "Megablast": { "N": "123" }, "Spacerace": { "N": "41" } } } ,Boolean, Null document.score.Megablast
  • 18. SOV204 Scaling Up to Your First 10 Million Users SDD407 Amazon DynamoDB: Data Modeling and Scaling Best Practices GAM302 EA's Real-World Hurdles with Millions of Players in theSimpsons: Tapped Out
  • 19. Region •API backend app •Core session •Matchmaking •S3+CloudFront •DLC, assets •Game saves •UGC •Public server tier •Direct client socket •Scale on players
  • 20. ①Login via API ②Request matchmaking ③Get game server IP Region
  • 21. ①Login via API ②Request matchmaking ③Get game server IP ④Connect to server ⑤Pull down assets ⑥Other players join Region
  • 23. GAM402 Deploying a Low-Latency Multiplayer Game Globally: Loadout GAM404 Gaming DevOps: Scopely'sContinuous Deployment Pipeline GAM405 Create Streaming Game Experiences with Amazon AppStream
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. Load test environment Metrics tools
  • 40. 0 20 40 60 80 0 5000 10000 15000 20000 25000 30000 Engine Ping Minutes Milliseconds ccu 95th max median min 0 20 40 60 80 0 5000 10000 15000 20000 25000 30000 Join OK Minutes Milliseconds ccu 95th max median min 0 20 40 60 80 0 5000 10000 15000 20000 25000 30000 Spawn OK Minutes Milliseconds ccu 95th max median min 0 20 40 60 80 0 5000 10000 15000 20000 25000 30000 Turf API Minutes Milliseconds ccu 95th max median min bad
  • 41. 0 20 40 60 80 100 0 20000 40000 60000 80000 Engine Ping Minutes Milliseconds ccu 95th max median min 0 20 40 60 80 100 0 20000 40000 60000 80000 Join OK Minutes Milliseconds ccu 95th max median min 0 20 40 60 80 100 0 20000 40000 60000 80000 Spawn OK Minutes Milliseconds ccu 95th max median min 0 20 40 60 80 100 0 20000 40000 60000 80000 Turf API Minutes Milliseconds ccu 95th max median min Better!
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. GAM303 Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming WEB306 UI, Load, and Performance Testing Your Websites on AWS GAM301 Real-Time Game Analytics with Kinesis, Redshift, and DynamoDB GAM304 How Riot Games re:Inventedtheir AWS Model ARC302 Running Lean Architectures: How to Optimize for Cost Efficiency
  • 50. wow so managed much gaming such available very scaling
  • 51. Please give us your feedback on this session. Complete session evaluations and earn re:Invent swag. http://bit.ly/awsevals