SlideShare a Scribd company logo
1 of 49
Download to read offline
November 14, 2014 | Las Vegas, NV 
Nate Wiger, Principal Gaming Solutions Architect, AWS 
James Gwertzman, CEO, PlayFab
[Game] Online Problems Continue; Features Disabled as [Game Studio] Works on Fixes 
“We are working hard to get everyone online as soon as possible,” [Game Studio] says. 
Days later, [Game Studio] leaving disconnected players stranded 
[Game] has a great online mode –if you can get online, that is 
“This is total bull**** I paid for a preorder and I can’t even connect WTF [Game Studio]??”
http://bit.ly/verizon-latencyhttp://bit.ly/superdata-latency
Tokyo 
Oregon 
Frankfurt 
Virginia
VPC Subnet 
VPC Subnet 
Availability Zone 
A 
Availability Zone B 
VPC Subnet 
VPC Subnet 
Auto Scaling group 
WEB 
VPC Subnet 
WEB 
JOBS
Region 
① Login via HTTP API 
② Download Game Assets 
③ Matchmaking to Game Server 
EC2 
EC2 
EC2
Region 
① Login via HTTP API 
② Download Game Assets 
③ Matchmaking to Game Server 
④ Connect to Server 
⑤ Hack Apart Your Friends 
⑥ Game Over EC2 
EC2
Region 
① Login via HTTP API 
② Download Game Assets 
③ Matchmaking to Game Server 
④ Connect to Server 
⑤ Hack Apart Your Friends 
⑥ Game Over 
⑦ Write via HTTP API 
EC2 
EC2
VPC Private Subnet 
VPC Public Subnet 
Availability Zone A Availability Zone B 
VPC Public Subnet 
VPC Private Subnet 
GAME GAME GAME GAME GAME GAME
http://bit.ly/ec2-enhanced-nethttp://bit.ly/linux- tuning
VPC Private Subnet 
VPC Private Subnet 
Availability Zone A 
Availability Zone B 
10.1.0.13 
10.2.0.16 
TCP 5672 
rabbitmq-node1 
rabbitmq-node2 
TCP 4369 
& 25672
https://www.rabbitmq.com/clustering.htmlhttps://www.rabbitmq.com/ha.html
5672rabbitmq-node1rabbitmq-node2
VPC Private Subnet 
VPC Public Subnet 
Availability Zone A Availability Zone B 
VPC Public Subnet 
VPC Private Subnet 
GAME GAME GAME GAME GAME GAME 
Auto Scaling group
VPC Private Subnet 
VPC Public Subnet 
Availability Zone A 
GAME GAME GAME 
Auto Scaling group
UnrealServerunreal_linux.template.jsontruemy-bucket-name Unreal-123.zipsshkeyname1.2.3.4/24 MyPass123
Tokyo 
Oregon 
Frankfurt 
Virginia 
? 
?
VPC Subnet 
Availability Zone A Availability Zone B 
VPC Subnet 
Auto Scaling group 
WEB WEB 
Oregon 
Tokyo 
VPC Subnet 
JOBS
VPC Private Subnet 
VPC Public Subnet 
Availability Zone A 
S3 Bucket 
Amazon CloudWatch Logs 
GAME GAME GAME
VPC Private Subnet 
VPC Public Subnet 
Availability Zone A 
Amazon 
Kinesis 
S3 Bucket 
Amazon Redshift 
GAME GAME GAME
China 
Oregon 
Frankfurt 
Auth 
China 
Leaderboard
+ 
Tools for operating & monetizing live games 
Complete set of cloud-basedbackend services 
Eco-system of pre-integrated third-party services 
.. and more 
+
AWS cloud: PlayFab Web Services 
US 
EU 
Hardware Game Servers 
Hardware Game Servers 
Game Client 
Amazon Route 53 
(3.playfabapi.com) 
Amazon EC2 (API handling) 
Matchmaker 
Instance 
Instance 
Game Server Monitor 
DynamoDB 
Amazon RDS 
Amazon S3 
Elastic Load Balancing 
Amazon Redshift 
Reports service 
Instance 
Logs 
Matchmaker (Secondary) 
Instance 
US 
EU 
SA 
AUS 
Amazon EC2 Game Servers 
Amazon EC2 Game Servers 
Amazon EC2 Game Servers 
Amazon EC2 Game Servers
Client 
Server 
Authentication 
Title-Wide Data Management 
Shared Group Data 
Authentication 
AddUsernamePassword 
GetCatalogItems 
AddSharedGroupMembers 
AuthenticateSessionTicket 
LoginWithAndroidDeviceID 
GetStoreItems 
CreateSharedGroup 
Account Management 
LoginWithFacebook 
GetTitleData 
GetSharedGroupData 
GetUserAccountInfo 
LoginWithGameCenter 
GetTitleNews 
RemoveSharedGroupMembers 
SendPushNotification 
LoginWithGoogleAccount 
AddUserVirtualCurrency 
UpdateSharedGroupData 
Player Data Management 
LoginWithIOSDeviceID 
Player Item Management 
Server-Side Game Logic 
GetLeaderboard 
LoginWithPlayFab 
ConsumeItem 
GetLogicServerUrl 
GetLeaderboardAroundUser 
LoginWithSteam 
GetUserInventory 
GetUserData 
RegisterPlayFabUser 
RedeemCoupon 
GetUserInternalData 
SendAccountRecoveryEmail 
SubtractUserVirtualCurrency 
GetUserReadOnlyData 
Account Management 
UnlockContainerItem 
GetUserStatistics 
GetAccountInfo 
StartPurchase 
UpdateUserData 
GetPlayFabIDsFromFacebookIDs 
PayForPurchase 
UpdateUserInternalData 
GetUserCombinedInfo 
ConfirmPurchase 
UpdateUserReadOnlyData 
LinkFacebookAccount 
PurchaseItem 
UpdateUserStatistics 
LinkGameCenterAccount 
Friend List Management 
Title-Wide Data Management 
LinkSteamAccount 
AddFriend 
GetCatalogItems 
UnlinkFacebookAccount 
GetFriendsList 
GetTitleData 
UnlinkGameCenterAccount 
RemoveFriend 
SetTitleData 
UnlinkSteamAccount 
SetFriendTags 
Player Item Management 
UpdateEmailAddress 
IOS-Specific APIs 
AddUserVirtualCurrency 
UpdatePassword 
RegisterForIOSPushNotification 
GetUserInventory 
UpdateUserTitleDisplayName 
ValidateIOSReceipt 
GrantItemsToUsers 
Player Data Management 
Matchmaking APIs 
SubtractUserVirtualCurrency 
GetFriendLeaderboard 
GetCurrentGames 
Matchmaking APIs 
GetLeaderboard 
GetGameServerRegions 
NotifyMatchmakerPlayerLeft 
GetLeaderboardAroundCurrentUser 
Matchmake 
RedeemMatchmakerTicket 
GetUserData 
StartGame 
Steam-Specific APIs 
GetUserReadOnlyData 
Android-Specific APIs 
AwardSteamAchievement 
GetUserStatistics 
AndroidDevicePushNotificationRegistration 
UpdateUserData 
ValidateGooglePlayPurchase 
UpdateUserStatistics 
Analytics 
LogEvent
API Request: 
Response from Web Services:
Game Client 
Amazon Route 53 
(3.playfabapi.com) 
API Request: 
Elastic Load 
Balancing 
Logs 
Amazon Redshift 
Amazon S3 bucket 
Reports service 
Logs 
Instance 
Logs include title-specific endpoint for analytics 
AWS wildcard DNS (*.playfabapi.com) 
Log event:
API NAME 
TOTAL CALLS 
AVERAGE BACKEND TIME (S) 
AVERAGE RESPONSE TIME (MS) 
AVERAGE REQUEST TIME (MS) 
TOTAL REQUEST TIME (M) 
AVERAGE RECIEVED (BYTES) 
AVERAGE SENT (BYTES) 
TOTAL ERRORS 
adminapi_userinfo 
93,081,685 
0.03 
0.04 
0.04 
59.83 
0 
452 
1979 
gameserver_usercustomdatareadonly 
1,582,348 
0.06 
0.04 
0.04 
1.06 
42 
902 
290 
matchmaker_userinfo 
1,138,842 
0.20 
0.04 
0.04 
0.81 
0 
10046 
319 
matchmaker_playerjoined 
1,138,247 
0.01 
0.04 
0.04 
0.79 
64 
2 
93 
matchmaker_playerleft 
1,136,797 
0.01 
0.04 
0.04 
0.80 
64 
2 
400 
matchmaker_authuser 
736,607 
0.01 
0.03 
0.04 
0.52 
0 
48 
107 
gameserver_usercustomdata 
297,735 
0.19 
0.04 
0.04 
0.20 
0 
4080 
0 
gameserver_usercustomdatainternal 
297,469 
0.08 
0.04 
0.04 
0.20 
0 
237 
2
Instance 
Health Check 
Auto Scaling group 
Auto Scaling service 
Instance 
Matchmaker (Primary) 
Instance 
Amazon Route 53 
(matchmaker.playfabapi.com) 
Elastic Load 
Balancing 
Matchmaker (Secondary) 
1.Auto Scaling is set to keep two instances up. 
2.Elastic Beanstalk Health Check terminates bad instance. 
3.Amazon Route 53 fails over all traffic to secondary server. 
4.Auto Scaling detects failure and starts new instance.
Amazon EC2 (API handling) 
Elastic Load Balancing 
CloudWatch 
Health Check 
Email Alerts 
On-call Engineer Mobile Alerts
Amazon EC2 API Server 
Server SSD 
Amazon Redshift 
Local Reports service 
Local event logs 
Instance 
Events: logins and purchases 
Reports service 
Logs 
Customer’s game management dashboard 
Analytics 
Server Logs 
RabbitMQmessage queue 
Logs 
Instance 
Logstashservice 
Logstash 
Instance 
ElasticSearchInstance 
Instance
DynamoDB 
Amazon RDS 
Amazon S3 
Player data: 
•Accounts 
•Profile 
•Inventory 
•Save data 
•Player stats 
•Player currency values 
•Auditing 
•Log files 
•Game replays 
Amazon Redshift 
•Analytics data
Amazon DynamoDB 
•Player data: accounts, profile, inventory, save data 
User: 
UserID: Hash 
TitleID: range key 
-DisplayName 
-Linked accounts 
-… 
Custom user data: 
UserID: Hash 
TitleID: range key 
-Key/value 1 
-Key/value 2 
-… 
Inventory: 
UserID: Hash 
ItemID: range key 
-titleID 
-Catalog Item 
-… 
…
AZ 1 
AZ 2 
PlayFab Web Services 
PlayFab Web Services 
N. California 
AZ 1 
AZ 2 
PlayFab Web Services 
PlayFab Web Services 
Oregon 
AZ 1 
PlayFab Web Services 
Beijing 
•Original deployment: us-west-1 
•Expanded to us-west-2 in July 
•Coming soon: cn-north-1 
Amazon EC2 Game Server 
Singapore 
Game Client 
Instance
Player accounts are shared across all regions: 
•Cross-regional wrapper for user.getsets order of databases and regions to check 
•user.getthen checks for player account data 
•High availability, transparent to customers and players 
// Returns the first matching player record, searching DynamoDB and SimpleDB 
// in both regions in the specified order. 
// Updates the player record in the store and region from which it was loaded. 
// Creates a player record in the default store and region.
AWS cloud: PlayFab Web Services 
US 
EU 
Hardware Game Servers 
Hardware Game Servers 
Game Client 
Amazon Route 53 
(3.playfabapi.com) 
Amazon EC2 (API handling) 
Matchmaker 
Instance 
Instance 
Game Server Monitor 
DynamoDB 
Amazon RDS 
Amazon S3 
Elastic Load Balancing 
Amazon Redshift 
Reports service 
Instance 
Logs 
Matchmaker (Secondary) 
Instance 
US 
EU 
SA 
AUS 
Amazon EC2 Game Servers 
Amazon EC2 Game Servers 
Amazon EC2 Game Servers 
Amazon EC2 Game Servers
http://bit.ly/awsevalshttp://playfab.com

More Related Content

What's hot

Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Tetsuyuki Kobayashi
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technologysanjoysanyal
 
Introduction to Hyper-V
Introduction to Hyper-VIntroduction to Hyper-V
Introduction to Hyper-VMark Wilson
 
System Center Configuration Manager 2012 Overview
System Center Configuration Manager 2012 OverviewSystem Center Configuration Manager 2012 Overview
System Center Configuration Manager 2012 OverviewAmit Gatenyo
 
VMware and AWS Together - VMware Cloud on AWS
VMware and AWS Together  - VMware Cloud on AWSVMware and AWS Together  - VMware Cloud on AWS
VMware and AWS Together - VMware Cloud on AWSKristana Kane
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Novell
 
containerd the universal container runtime
containerd the universal container runtimecontainerd the universal container runtime
containerd the universal container runtimeDocker, Inc.
 
Is Trunk-based Development Easy in Game Development?
Is Trunk-based Development Easy in Game Development?Is Trunk-based Development Easy in Game Development?
Is Trunk-based Development Easy in Game Development?Perforce
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environmentsShapeBlue
 
Virtualization security
Virtualization securityVirtualization security
Virtualization securityAhmed Nour
 
An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...William Liang
 
EMC Vnx master-presentation
EMC Vnx master-presentationEMC Vnx master-presentation
EMC Vnx master-presentationsolarisyougood
 
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 Amazon Web Services
 
Virtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMwareVirtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMwareDatapath Consulting
 
Storage Virtualization
Storage VirtualizationStorage Virtualization
Storage Virtualizationrjain51
 

What's hot (20)

CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Virtualization basics
Virtualization basics Virtualization basics
Virtualization basics
 
Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technology
 
Introduction to Hyper-V
Introduction to Hyper-VIntroduction to Hyper-V
Introduction to Hyper-V
 
System Center Configuration Manager 2012 Overview
System Center Configuration Manager 2012 OverviewSystem Center Configuration Manager 2012 Overview
System Center Configuration Manager 2012 Overview
 
VMware and AWS Together - VMware Cloud on AWS
VMware and AWS Together  - VMware Cloud on AWSVMware and AWS Together  - VMware Cloud on AWS
VMware and AWS Together - VMware Cloud on AWS
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Ansible
AnsibleAnsible
Ansible
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
containerd the universal container runtime
containerd the universal container runtimecontainerd the universal container runtime
containerd the universal container runtime
 
Is Trunk-based Development Easy in Game Development?
Is Trunk-based Development Easy in Game Development?Is Trunk-based Development Easy in Game Development?
Is Trunk-based Development Easy in Game Development?
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environments
 
Virtualization security
Virtualization securityVirtualization security
Virtualization security
 
An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...
 
EMC Vnx master-presentation
EMC Vnx master-presentationEMC Vnx master-presentation
EMC Vnx master-presentation
 
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
 
Virtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMwareVirtualization 101: Everything You Need To Know To Get Started With VMware
Virtualization 101: Everything You Need To Know To Get Started With VMware
 
Storage Virtualization
Storage VirtualizationStorage Virtualization
Storage Virtualization
 
Virtualization
Virtualization Virtualization
Virtualization
 

Viewers also liked

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 Nate Wiger
 
Application Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBApplication Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBAmazon Web Services Japan
 
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...Amazon Web Services
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014Amazon Web Services
 
Intro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWSIntro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWSAmazon Web Services
 
(GAM403) From 0 to 60 Million Player Hours in 400B Star Systems
(GAM403) From 0 to 60 Million Player Hours in 400B Star Systems(GAM403) From 0 to 60 Million Player Hours in 400B Star Systems
(GAM403) From 0 to 60 Million Player Hours in 400B Star SystemsAmazon Web Services
 
Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014Nate Wiger
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftAmazon Web Services
 
Amazon ElastiCache (Dan Zamansky) - AWS DB Day
Amazon ElastiCache (Dan Zamansky) - AWS DB DayAmazon ElastiCache (Dan Zamansky) - AWS DB Day
Amazon ElastiCache (Dan Zamansky) - AWS DB DayAmazon Web Services Korea
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyJames Gwertzman
 
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 ...Amazon Web Services
 
A taste of Snowplow Analytics data
A taste of Snowplow Analytics dataA taste of Snowplow Analytics data
A taste of Snowplow Analytics dataRobert Kingston
 
SAP on AWS紹介資料 - Dec, 2014
SAP on AWS紹介資料 - Dec, 2014SAP on AWS紹介資料 - Dec, 2014
SAP on AWS紹介資料 - Dec, 2014Matsumoto Hiroki
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-Amazon Web Services Japan
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services Japan
 
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLiftTwitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLiftAmazon Web Services
 
AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...
AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...
AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...Amazon Web Services
 

Viewers also liked (19)

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
 
Application Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBApplication Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDB
 
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
(GAM201) Scalable Game Architectures That Don't Break the Bank | AWS re:Inven...
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
 
Intro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWSIntro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWS
 
(GAM403) From 0 to 60 Million Player Hours in 400B Star Systems
(GAM403) From 0 to 60 Million Player Hours in 400B Star Systems(GAM403) From 0 to 60 Million Player Hours in 400B Star Systems
(GAM403) From 0 to 60 Million Player Hours in 400B Star Systems
 
Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
 
Amazon ElastiCache (Dan Zamansky) - AWS DB Day
Amazon ElastiCache (Dan Zamansky) - AWS DB DayAmazon ElastiCache (Dan Zamansky) - AWS DB Day
Amazon ElastiCache (Dan Zamansky) - AWS DB Day
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
 
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 ...
 
A taste of Snowplow Analytics data
A taste of Snowplow Analytics dataA taste of Snowplow Analytics data
A taste of Snowplow Analytics data
 
SAP on AWS紹介資料 - Dec, 2014
SAP on AWS紹介資料 - Dec, 2014SAP on AWS紹介資料 - Dec, 2014
SAP on AWS紹介資料 - Dec, 2014
 
雲端媒體串流
雲端媒體串流雲端媒體串流
雲端媒體串流
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
 
AWS Black Belt Online Seminar lumberyard
AWS Black Belt Online Seminar lumberyardAWS Black Belt Online Seminar lumberyard
AWS Black Belt Online Seminar lumberyard
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
 
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLiftTwitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
 
AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...
AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...
AWS re:Invent 2016: Running Lean Architectures: How to Optimize for Cost Effi...
 

Similar to (GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:Invent 2014

Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Amazon Web Services Korea
 
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...Amazon Web Services
 
Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf euXie ChengChao
 
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
 
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game RequestsAmazon Web Services
 
Vulnerabilities in multiplayer games (2001-2012)
Vulnerabilities in multiplayer games (2001-2012)Vulnerabilities in multiplayer games (2001-2012)
Vulnerabilities in multiplayer games (2001-2012)Luigi Auriemma
 
Unity Class 13 Presentation - .
Unity Class 13 Presentation -           .Unity Class 13 Presentation -           .
Unity Class 13 Presentation - .TaydeMCruz
 
(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...Amazon Web Services
 
201507131408448146
201507131408448146201507131408448146
201507131408448146Mason Mei
 
Год в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участияГод в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участияdefcon_kz
 
Sephy engine development document
Sephy engine development documentSephy engine development document
Sephy engine development documentJaejun Kim
 
오픈소스 게임 서버 엔진 스터디 캠프 - CloudBread
오픈소스 게임 서버 엔진 스터디 캠프 - CloudBread오픈소스 게임 서버 엔진 스터디 캠프 - CloudBread
오픈소스 게임 서버 엔진 스터디 캠프 - CloudBreadDae Kim
 
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 MMOAWS Germany
 
Super-NetOps Source of Truth
Super-NetOps Source of TruthSuper-NetOps Source of Truth
Super-NetOps Source of TruthJoel W. King
 
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...Amazon Web Services
 
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Kai Wähner
 
Building fast,scalable game server in node.js
Building fast,scalable game server in node.jsBuilding fast,scalable game server in node.js
Building fast,scalable game server in node.jsXie ChengChao
 
Behind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't knowBehind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't knowDavid Kim
 
Deep Dive into AWS Fargate - CON333 - re:Invent 2017
Deep Dive into AWS Fargate - CON333 - re:Invent 2017Deep Dive into AWS Fargate - CON333 - re:Invent 2017
Deep Dive into AWS Fargate - CON333 - re:Invent 2017Amazon Web Services
 

Similar to (GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:Invent 2014 (20)

Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
 
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
 
Game server development in node.js in jsconf eu
Game server development in node.js in jsconf euGame server development in node.js in jsconf eu
Game server development in node.js in jsconf eu
 
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
(GAM402) Turbine: A Microservice Approach to 3 Billion Game Requests
 
Vulnerabilities in multiplayer games (2001-2012)
Vulnerabilities in multiplayer games (2001-2012)Vulnerabilities in multiplayer games (2001-2012)
Vulnerabilities in multiplayer games (2001-2012)
 
Unity Class 13 Presentation - .
Unity Class 13 Presentation -           .Unity Class 13 Presentation -           .
Unity Class 13 Presentation - .
 
(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...
 
Martin Simecek, Microsoft
Martin Simecek, Microsoft	Martin Simecek, Microsoft
Martin Simecek, Microsoft
 
201507131408448146
201507131408448146201507131408448146
201507131408448146
 
Год в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участияГод в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участия
 
Sephy engine development document
Sephy engine development documentSephy engine development document
Sephy engine development document
 
오픈소스 게임 서버 엔진 스터디 캠프 - CloudBread
오픈소스 게임 서버 엔진 스터디 캠프 - CloudBread오픈소스 게임 서버 엔진 스터디 캠프 - CloudBread
오픈소스 게임 서버 엔진 스터디 캠프 - CloudBread
 
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
 
Super-NetOps Source of Truth
Super-NetOps Source of TruthSuper-NetOps Source of Truth
Super-NetOps Source of Truth
 
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
 
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
 
Building fast,scalable game server in node.js
Building fast,scalable game server in node.jsBuilding fast,scalable game server in node.js
Building fast,scalable game server in node.js
 
Behind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't knowBehind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't know
 
Deep Dive into AWS Fargate - CON333 - re:Invent 2017
Deep Dive into AWS Fargate - CON333 - re:Invent 2017Deep Dive into AWS Fargate - CON333 - re:Invent 2017
Deep Dive into AWS Fargate - CON333 - re:Invent 2017
 

More from Amazon Web Services

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...Amazon Web Services
 
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...Amazon Web Services
 
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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
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 Amazon Web Services
 
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...Amazon Web Services
 
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...Amazon Web Services
 
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 WorkloadsAmazon Web Services
 
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 sfatareAmazon Web Services
 
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 NodeJSAmazon Web Services
 
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 webAmazon Web Services
 
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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from 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
 

Recently uploaded

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:Invent 2014

  • 1. November 14, 2014 | Las Vegas, NV Nate Wiger, Principal Gaming Solutions Architect, AWS James Gwertzman, CEO, PlayFab
  • 2. [Game] Online Problems Continue; Features Disabled as [Game Studio] Works on Fixes “We are working hard to get everyone online as soon as possible,” [Game Studio] says. Days later, [Game Studio] leaving disconnected players stranded [Game] has a great online mode –if you can get online, that is “This is total bull**** I paid for a preorder and I can’t even connect WTF [Game Studio]??”
  • 3.
  • 5.
  • 6.
  • 8. VPC Subnet VPC Subnet Availability Zone A Availability Zone B VPC Subnet VPC Subnet Auto Scaling group WEB VPC Subnet WEB JOBS
  • 9. Region ① Login via HTTP API ② Download Game Assets ③ Matchmaking to Game Server EC2 EC2 EC2
  • 10. Region ① Login via HTTP API ② Download Game Assets ③ Matchmaking to Game Server ④ Connect to Server ⑤ Hack Apart Your Friends ⑥ Game Over EC2 EC2
  • 11. Region ① Login via HTTP API ② Download Game Assets ③ Matchmaking to Game Server ④ Connect to Server ⑤ Hack Apart Your Friends ⑥ Game Over ⑦ Write via HTTP API EC2 EC2
  • 12. VPC Private Subnet VPC Public Subnet Availability Zone A Availability Zone B VPC Public Subnet VPC Private Subnet GAME GAME GAME GAME GAME GAME
  • 14. VPC Private Subnet VPC Private Subnet Availability Zone A Availability Zone B 10.1.0.13 10.2.0.16 TCP 5672 rabbitmq-node1 rabbitmq-node2 TCP 4369 & 25672
  • 17. VPC Private Subnet VPC Public Subnet Availability Zone A Availability Zone B VPC Public Subnet VPC Private Subnet GAME GAME GAME GAME GAME GAME Auto Scaling group
  • 18. VPC Private Subnet VPC Public Subnet Availability Zone A GAME GAME GAME Auto Scaling group
  • 20.
  • 21.
  • 22.
  • 23. Tokyo Oregon Frankfurt Virginia ? ?
  • 24. VPC Subnet Availability Zone A Availability Zone B VPC Subnet Auto Scaling group WEB WEB Oregon Tokyo VPC Subnet JOBS
  • 25.
  • 26. VPC Private Subnet VPC Public Subnet Availability Zone A S3 Bucket Amazon CloudWatch Logs GAME GAME GAME
  • 27. VPC Private Subnet VPC Public Subnet Availability Zone A Amazon Kinesis S3 Bucket Amazon Redshift GAME GAME GAME
  • 28.
  • 29. China Oregon Frankfurt Auth China Leaderboard
  • 30.
  • 31. + Tools for operating & monetizing live games Complete set of cloud-basedbackend services Eco-system of pre-integrated third-party services .. and more +
  • 32.
  • 33.
  • 34.
  • 35. AWS cloud: PlayFab Web Services US EU Hardware Game Servers Hardware Game Servers Game Client Amazon Route 53 (3.playfabapi.com) Amazon EC2 (API handling) Matchmaker Instance Instance Game Server Monitor DynamoDB Amazon RDS Amazon S3 Elastic Load Balancing Amazon Redshift Reports service Instance Logs Matchmaker (Secondary) Instance US EU SA AUS Amazon EC2 Game Servers Amazon EC2 Game Servers Amazon EC2 Game Servers Amazon EC2 Game Servers
  • 36. Client Server Authentication Title-Wide Data Management Shared Group Data Authentication AddUsernamePassword GetCatalogItems AddSharedGroupMembers AuthenticateSessionTicket LoginWithAndroidDeviceID GetStoreItems CreateSharedGroup Account Management LoginWithFacebook GetTitleData GetSharedGroupData GetUserAccountInfo LoginWithGameCenter GetTitleNews RemoveSharedGroupMembers SendPushNotification LoginWithGoogleAccount AddUserVirtualCurrency UpdateSharedGroupData Player Data Management LoginWithIOSDeviceID Player Item Management Server-Side Game Logic GetLeaderboard LoginWithPlayFab ConsumeItem GetLogicServerUrl GetLeaderboardAroundUser LoginWithSteam GetUserInventory GetUserData RegisterPlayFabUser RedeemCoupon GetUserInternalData SendAccountRecoveryEmail SubtractUserVirtualCurrency GetUserReadOnlyData Account Management UnlockContainerItem GetUserStatistics GetAccountInfo StartPurchase UpdateUserData GetPlayFabIDsFromFacebookIDs PayForPurchase UpdateUserInternalData GetUserCombinedInfo ConfirmPurchase UpdateUserReadOnlyData LinkFacebookAccount PurchaseItem UpdateUserStatistics LinkGameCenterAccount Friend List Management Title-Wide Data Management LinkSteamAccount AddFriend GetCatalogItems UnlinkFacebookAccount GetFriendsList GetTitleData UnlinkGameCenterAccount RemoveFriend SetTitleData UnlinkSteamAccount SetFriendTags Player Item Management UpdateEmailAddress IOS-Specific APIs AddUserVirtualCurrency UpdatePassword RegisterForIOSPushNotification GetUserInventory UpdateUserTitleDisplayName ValidateIOSReceipt GrantItemsToUsers Player Data Management Matchmaking APIs SubtractUserVirtualCurrency GetFriendLeaderboard GetCurrentGames Matchmaking APIs GetLeaderboard GetGameServerRegions NotifyMatchmakerPlayerLeft GetLeaderboardAroundCurrentUser Matchmake RedeemMatchmakerTicket GetUserData StartGame Steam-Specific APIs GetUserReadOnlyData Android-Specific APIs AwardSteamAchievement GetUserStatistics AndroidDevicePushNotificationRegistration UpdateUserData ValidateGooglePlayPurchase UpdateUserStatistics Analytics LogEvent
  • 37. API Request: Response from Web Services:
  • 38. Game Client Amazon Route 53 (3.playfabapi.com) API Request: Elastic Load Balancing Logs Amazon Redshift Amazon S3 bucket Reports service Logs Instance Logs include title-specific endpoint for analytics AWS wildcard DNS (*.playfabapi.com) Log event:
  • 39. API NAME TOTAL CALLS AVERAGE BACKEND TIME (S) AVERAGE RESPONSE TIME (MS) AVERAGE REQUEST TIME (MS) TOTAL REQUEST TIME (M) AVERAGE RECIEVED (BYTES) AVERAGE SENT (BYTES) TOTAL ERRORS adminapi_userinfo 93,081,685 0.03 0.04 0.04 59.83 0 452 1979 gameserver_usercustomdatareadonly 1,582,348 0.06 0.04 0.04 1.06 42 902 290 matchmaker_userinfo 1,138,842 0.20 0.04 0.04 0.81 0 10046 319 matchmaker_playerjoined 1,138,247 0.01 0.04 0.04 0.79 64 2 93 matchmaker_playerleft 1,136,797 0.01 0.04 0.04 0.80 64 2 400 matchmaker_authuser 736,607 0.01 0.03 0.04 0.52 0 48 107 gameserver_usercustomdata 297,735 0.19 0.04 0.04 0.20 0 4080 0 gameserver_usercustomdatainternal 297,469 0.08 0.04 0.04 0.20 0 237 2
  • 40. Instance Health Check Auto Scaling group Auto Scaling service Instance Matchmaker (Primary) Instance Amazon Route 53 (matchmaker.playfabapi.com) Elastic Load Balancing Matchmaker (Secondary) 1.Auto Scaling is set to keep two instances up. 2.Elastic Beanstalk Health Check terminates bad instance. 3.Amazon Route 53 fails over all traffic to secondary server. 4.Auto Scaling detects failure and starts new instance.
  • 41. Amazon EC2 (API handling) Elastic Load Balancing CloudWatch Health Check Email Alerts On-call Engineer Mobile Alerts
  • 42. Amazon EC2 API Server Server SSD Amazon Redshift Local Reports service Local event logs Instance Events: logins and purchases Reports service Logs Customer’s game management dashboard Analytics Server Logs RabbitMQmessage queue Logs Instance Logstashservice Logstash Instance ElasticSearchInstance Instance
  • 43. DynamoDB Amazon RDS Amazon S3 Player data: •Accounts •Profile •Inventory •Save data •Player stats •Player currency values •Auditing •Log files •Game replays Amazon Redshift •Analytics data
  • 44. Amazon DynamoDB •Player data: accounts, profile, inventory, save data User: UserID: Hash TitleID: range key -DisplayName -Linked accounts -… Custom user data: UserID: Hash TitleID: range key -Key/value 1 -Key/value 2 -… Inventory: UserID: Hash ItemID: range key -titleID -Catalog Item -… …
  • 45. AZ 1 AZ 2 PlayFab Web Services PlayFab Web Services N. California AZ 1 AZ 2 PlayFab Web Services PlayFab Web Services Oregon AZ 1 PlayFab Web Services Beijing •Original deployment: us-west-1 •Expanded to us-west-2 in July •Coming soon: cn-north-1 Amazon EC2 Game Server Singapore Game Client Instance
  • 46. Player accounts are shared across all regions: •Cross-regional wrapper for user.getsets order of databases and regions to check •user.getthen checks for player account data •High availability, transparent to customers and players // Returns the first matching player record, searching DynamoDB and SimpleDB // in both regions in the specified order. // Updates the player record in the store and region from which it was loaded. // Creates a player record in the default store and region.
  • 47.
  • 48. AWS cloud: PlayFab Web Services US EU Hardware Game Servers Hardware Game Servers Game Client Amazon Route 53 (3.playfabapi.com) Amazon EC2 (API handling) Matchmaker Instance Instance Game Server Monitor DynamoDB Amazon RDS Amazon S3 Elastic Load Balancing Amazon Redshift Reports service Instance Logs Matchmaker (Secondary) Instance US EU SA AUS Amazon EC2 Game Servers Amazon EC2 Game Servers Amazon EC2 Game Servers Amazon EC2 Game Servers