SlideShare a Scribd company logo
Behind the Scenes:
Deploying a Low-Latency Multiplayer
Game Globally
James Gwertzman, PlayFab CEO
[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]??”
“The single greatest predictor of
success and of sustainable
competitive advantage in this business
is live game operations.”
-- Owen Mahoney, CEO Nexon
Build game
Launch
The old days…
Build game
Build
backend
Launch
Build tools for
ops team
Segment &
target customers
Deploy servers
Business
intelligence
Offers &
Promotions
Update
content
Host in-game
events
Customer
service
Nowadays…
Business
intelligence
User
Acquisition
+
Live ops tools and dashboards
(mission control for the whole team)
Back-end services
(cross-platform, one-stop shop)
+
Integration with other partners
(building out the full ecosystem)
All-in-one platform to build, launch, and grow
and more ...
Some Loadout Stats
• PC launched 1/31/14
• PS4 launched 12/17/14
• Over 1 billion API Calls
• At Peak (Feb 2014):
– 300k DAU, 35K CCU
– 120 fixed game servers
– 110 EC2 game servers
Basic tenets of PlayFab architecture
• Put latency-sensitive game servers near players.
• Everything else as shared services via RESTful Web APIs.
• Data replication = bad.
• Local caches = good.
• No scheduled downtime.
• Automatic scaling for load.
• Backend changes should be invisible to developers.
• Use buffering to smooth over spikes or failures.
Availability Zone B
Oregon
AWS cloud: PlayFab Web Services
Amazon Route 53
(3.playfabapi.com)
Amazon EC2
(API handling)
Matchmaker
Instance
Instance
Game Server
Monitor
DynamoDB Amazon RDS Amazon S3 Amazon RedshiftReports
service
Instance
Logs
Architecture Overview
Matchmaker
(Secondary)
Instance
Virginia
Availability Zone A
Amazon EC2
(API handling)
Elastic Load Balancing
Cross-zone storage
Game Client
Game Manager
(Dashboards)
Amazon EC2
(Virtual game
servers)
Tokyo
Amazon EC2
(Virtual game
servers)
Sydney
Physical game
servers
Physical game
servers
Amazon EC2
(Virtual game
servers)
Local disk Local disk Local disk
Physical game
servers
PlayFab backend services
• Player Accounts
– Authentication
– Profile Management
– Account Linking
• Data Storage
– Per player
– Per title
– Per character (under one player)
– Files / CDN delivery
• Commerce
– Catalog Management
– Virtual Currencies
– Player Inventory
– In-game Purchasing
– Receipt validation (Apple/Google/Amazon)
– Marketing and Promotion
• In-game Marketing
– Push Notifications
– In-game Messaging
• Product Management
– Analytics and Reporting
– Customer Segmentation
– Customer Support Tools
– Abuse Reporting and Banning
• Social
– Friends Lists
– Player Chat
– Leaderboards
– Game forum integration
– Trading / gifting
• Multiplayer
– Photon integration (real-time / turn-based)
– Matchmaking
– Custom game server hosting
– Server monitoring
• Game logic
– Server-hosted JavaScript
The last API you’ll have to integrate into your game…
13
Example of Web API Call
API Request: Response from Web Services:
Oregon
AWS cloud: PlayFab Web Services
Matchmaker
Instance Instance
Game Server
Monitor
Basic Gameplay (1)
1. Login via Web API to PlayFab
2. Retrieve session key
3. Download content updates
4. Call backend services as needed
(inventory, catalog, player state)
5. Use matchmaker to find server;
retrieve game ticket
Virginia
API servers
Game Client
Game servers
Storage
Local diskAmazon RedshiftReports
service
Instance
Basic Gameplay (2)
6. Connect to game server
7. Present ticket to authenticate
8. Game server validates ticket
9. Game server loads player profile
10.Play w/ other players via server
11.Game ends
12.Server updates player profile
13.Log files get written to local disk
Virginia
Game Client
(other players)
Local disk
Oregon
AWS cloud: PlayFab Web Services
Matchmaker
Instance Instance
Game Server
Monitor
API servers
Storage Amazon RedshiftReports
service
Instance
Game servers
Basic Gameplay (2)
14.Log files get transferred to S3 storage
15.Server monitor cleans up old games;
can create new servers if needed
16.Matchmaker prepares for new game
17.Events get imported into Redshift
Virginia
Game Client
(other players)
Local disk
Oregon
AWS cloud: PlayFab Web Services
Matchmaker
Instance Instance
Game Server
Monitor
API servers
Storage Amazon RedshiftReports
service
Instance
Game servers
ELB logging for title-specific tracking
Game Client
Amazon Route 53
(3.playfabapi.com)
API Request:
Elastic Load
Balancing
Logs
Amazon RedshiftAmazon S3
bucket
Reports
service
Logs
Instance
Logs include title-specific
endpoint for analytics
AWS wildcard DNS
(*.playfabapi.com)
Sample Loadout API usage
report
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
Making a Singleton Service Highly Available
Health
Check
Auto Scaling group
Autoscaling
service
Instance
Matchmaker
(Primary)
Instance
Amazon Route 53
(matchmaker.playfab
api.com)
Elastic Load
Balancing
Matchmaker
(Secondary)
1. Autoscaling is set to keep one
instance up in each of 2 AZ’s.
2. Client locates matchmaker
through Route 53
3. All matchmaker state written
through to Dynamo DB
Storage
Game Client
AZ A AZ B
Instance
Making a Singleton Service Highly Available
Health
Check
Auto Scaling group
Autoscaling
service
Instance
Matchmaker
(Primary)
Instance
Amazon Route 53
(matchmaker.playfab
api.com)
Elastic Load
Balancing
Matchmaker
(Secondary)
4. Route53 Health Check
detects bad instance and
fails over all traffic to
secondary.
5. Secondary loads latest state
from storage
6. Autoscaling group detects
bad instance and starts new
one.
Storage
Game Client
AZ A AZ B
Monitoring Service Health
Amazon EC2
(API handling)
Elastic Load
Balancing CloudWatch
Health
Check
Email Alerts
On-call Engineer
Mobile Alerts
Datadog visualization
Trusted by hundreds of developers
• More than 500 game studios using the PlayFab SDK
• 16 titles now live (w/ more than 10 million total registered players)
• Integrate at any point of your game’s life cycle
23
PlayFab GameManager demo
Easy adoption by any game developer
25
Full set of support resources
makes it easy for any developer
to quickly start using the
PlayFab platform.
Getting Started Guides SDKs for popular tools
Full documentation
+ +
+
Full-time developer
relations team
PlayFab benefits
26Better Faster Cheaper
Developers
• Best-in-class technology
• Proven solution
• Fully documented
• Back-end engineering talent
• Continual improvements
• Baked-in best practices
• Learn from other games
• Available immediately
• Less testing needed
• No need to hire a new team
• No up-front engineering cost
• Volume of scale
• Amortized costs
Publishers
• Share tools across games
• Share players across games
• Less risk
• Training for new developers
• Share lessons across games
• All funding goes to game
• No tech support costs
26PlayFab confidential
Pricing model
Test Free Standard Premium Enterprise
Test all PlayFab
features risk-free
Build, test, and launch
a game risk-free
Backend services for
casual or mobile
games
Meet needs of
demanding core or
multiplayer games
Custom agreements
for multi-title
publishers
FREE
(max 1,000 DAU)
FREE
(UNLIMITED DAU)
$2
(per 1,000 users / day)
$6
(per 1,000 users / day)
negotiable
All features
are available with API
throttling limits
• Live ops game manager
• Login with Device ID
• Receipt validation
• Catalog (RM items only)
• User inventory (RM
items only)
• Basic reports
All of free tier plus:
• Player accounts
• Virtual goods
• Standard analytics
• Friends lists
• Leaderboards
• In-game messaging
All of standard tier plus:
• Cloud scripting
• Photon Realtime /
Turnbased / Unity
Networking / Chat /
Server
• Custom development
• Game server hosting*
All of premium tier plus:
• Private server clusters
• Custom payment
provider
• Custom authentication
• Custom SLA
*Actual server cost (pass through) + 10% management fee.
27PlayFab confidential
Thank you!
@playfabnetwork
james@playfab.com
Visit www.playfab.com

More Related Content

What's hot

Hpe Data Protector troubleshooting guide
Hpe Data Protector troubleshooting guideHpe Data Protector troubleshooting guide
Hpe Data Protector troubleshooting guide
Andrey Karpov
 
CIS Security Benchmark
CIS Security BenchmarkCIS Security Benchmark
CIS Security Benchmark
Rahul Khengare
 
Preparing your enteprise for Hybrid AD Join and Conditional Access
Preparing your enteprise for Hybrid AD Join and Conditional AccessPreparing your enteprise for Hybrid AD Join and Conditional Access
Preparing your enteprise for Hybrid AD Join and Conditional Access
Jason Condo
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualization
xKinAnx
 
Intro to Game Design
Intro to Game DesignIntro to Game Design
Intro to Game Design
Graeme Smith
 
Nimble storage
Nimble storageNimble storage
Nimble storagedvmug1
 
Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...
GameCamp
 
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen HypervisorSafety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Stefano Stabellini
 
Enterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOEnterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOOliver Mueller
 
Mastering Windows Hyper-V-2016.pdf
Mastering Windows Hyper-V-2016.pdfMastering Windows Hyper-V-2016.pdf
Mastering Windows Hyper-V-2016.pdf
Yogeshwaran R
 
Managing ESXi - Tools and Techniques
Managing ESXi - Tools and TechniquesManaging ESXi - Tools and Techniques
Managing ESXi - Tools and Techniques
Christopher Janoch
 
Azure Sentinel.pptx
Azure Sentinel.pptxAzure Sentinel.pptx
Azure Sentinel.pptx
Mohit Chhabra
 
Sysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshopSysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshop
Dave Willingham
 
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
Edureka!
 
VMware vCloud and vRealize Operations
VMware vCloud and vRealize OperationsVMware vCloud and vRealize Operations
VMware vCloud and vRealize Operations
Pedro Silva
 
Gaming and eSports
Gaming and eSportsGaming and eSports
Gaming and eSports
Brett Munster
 
Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security Overview
Allen Brokken
 
Getting Started with Azure Sentinel
Getting Started with Azure SentinelGetting Started with Azure Sentinel
Getting Started with Azure Sentinel
Samik Roy
 
GameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringGameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos Engineering
DiUS
 

What's hot (20)

Hpe Data Protector troubleshooting guide
Hpe Data Protector troubleshooting guideHpe Data Protector troubleshooting guide
Hpe Data Protector troubleshooting guide
 
CIS Security Benchmark
CIS Security BenchmarkCIS Security Benchmark
CIS Security Benchmark
 
Preparing your enteprise for Hybrid AD Join and Conditional Access
Preparing your enteprise for Hybrid AD Join and Conditional AccessPreparing your enteprise for Hybrid AD Join and Conditional Access
Preparing your enteprise for Hybrid AD Join and Conditional Access
 
Presentation citrix desktop virtualization
Presentation   citrix desktop virtualizationPresentation   citrix desktop virtualization
Presentation citrix desktop virtualization
 
Intro to Game Design
Intro to Game DesignIntro to Game Design
Intro to Game Design
 
Nimble storage
Nimble storageNimble storage
Nimble storage
 
Virtualization 101
Virtualization 101Virtualization 101
Virtualization 101
 
Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...Developing an effective LTV model at the soft launch and keeping it valid fur...
Developing an effective LTV model at the soft launch and keeping it valid fur...
 
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen HypervisorSafety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
 
Enterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOEnterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSO
 
Mastering Windows Hyper-V-2016.pdf
Mastering Windows Hyper-V-2016.pdfMastering Windows Hyper-V-2016.pdf
Mastering Windows Hyper-V-2016.pdf
 
Managing ESXi - Tools and Techniques
Managing ESXi - Tools and TechniquesManaging ESXi - Tools and Techniques
Managing ESXi - Tools and Techniques
 
Azure Sentinel.pptx
Azure Sentinel.pptxAzure Sentinel.pptx
Azure Sentinel.pptx
 
Sysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshopSysmon and Windows Event Forwarding workshop
Sysmon and Windows Event Forwarding workshop
 
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
 
VMware vCloud and vRealize Operations
VMware vCloud and vRealize OperationsVMware vCloud and vRealize Operations
VMware vCloud and vRealize Operations
 
Gaming and eSports
Gaming and eSportsGaming and eSports
Gaming and eSports
 
Azure Security Overview
Azure Security OverviewAzure Security Overview
Azure Security Overview
 
Getting Started with Azure Sentinel
Getting Started with Azure SentinelGetting Started with Azure Sentinel
Getting Started with Azure Sentinel
 
GameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringGameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos Engineering
 

Viewers also liked

(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
Amazon Web Services
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games
Amazon Web Services
 
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
 
Cloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWSCloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWS
Danilo Poccia
 
Commander's Intent: Managing Through Uncertainty
Commander's Intent: Managing Through UncertaintyCommander's Intent: Managing Through Uncertainty
Commander's Intent: Managing Through Uncertainty
James Gwertzman
 
PlayFab Advanced Cloud Script
PlayFab Advanced Cloud ScriptPlayFab Advanced Cloud Script
PlayFab Advanced Cloud Script
Thomas Robbins
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and Monitoring
Melissa Benua
 
Mobile on AWS
Mobile on AWSMobile on AWS
Mobile on AWS
Amazon Web Services
 
No Free Lunch: Transactions in Online Games
No Free Lunch: Transactions in Online GamesNo Free Lunch: Transactions in Online Games
No Free Lunch: Transactions in Online Games
James Gwertzman
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...Amazon 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 AWS
Amazon Web Services
 
Connecting Your Customers – Building Successful Mobile Games through the Powe...
Connecting Your Customers – Building Successful Mobile Games through the Powe...Connecting Your Customers – Building Successful Mobile Games through the Powe...
Connecting Your Customers – Building Successful Mobile Games through the Powe...
Amazon Web Services
 
AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...
AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...
AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...
Amazon Web Services
 
Building the pipeline for FUN - Game Development
 Building the pipeline for FUN - Game Development Building the pipeline for FUN - Game Development
Building the pipeline for FUN - Game Development
FaunaFace, Inc
 
The Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need BackendsThe Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need Backends
James Gwertzman
 
(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:...
Amazon Web Services
 
Epic Fails in LiveOps
Epic Fails in LiveOpsEpic Fails in LiveOps
Epic Fails in LiveOps
James Gwertzman
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
Amazon Web Services
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
Melissa Benua
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
Amazon Web Services
 

Viewers also liked (20)

(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
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games
 
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
 
Cloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWSCloud-powered Cross-platform Mobile Apps on AWS
Cloud-powered Cross-platform Mobile Apps on AWS
 
Commander's Intent: Managing Through Uncertainty
Commander's Intent: Managing Through UncertaintyCommander's Intent: Managing Through Uncertainty
Commander's Intent: Managing Through Uncertainty
 
PlayFab Advanced Cloud Script
PlayFab Advanced Cloud ScriptPlayFab Advanced Cloud Script
PlayFab Advanced Cloud Script
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and Monitoring
 
Mobile on AWS
Mobile on AWSMobile on AWS
Mobile on AWS
 
No Free Lunch: Transactions in Online Games
No Free Lunch: Transactions in Online GamesNo Free Lunch: Transactions in Online Games
No Free Lunch: Transactions in Online Games
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
 
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
 
Connecting Your Customers – Building Successful Mobile Games through the Powe...
Connecting Your Customers – Building Successful Mobile Games through the Powe...Connecting Your Customers – Building Successful Mobile Games through the Powe...
Connecting Your Customers – Building Successful Mobile Games through the Powe...
 
AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...
AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...
AWS re:Invent 2016: AWS Customers Saving Lives with Mobile and IoT Technology...
 
Building the pipeline for FUN - Game Development
 Building the pipeline for FUN - Game Development Building the pipeline for FUN - Game Development
Building the pipeline for FUN - Game Development
 
The Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need BackendsThe Future is Operations: Why Mobile Games Need Backends
The Future is Operations: Why Mobile Games Need Backends
 
(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:...
 
Epic Fails in LiveOps
Epic Fails in LiveOpsEpic Fails in LiveOps
Epic Fails in LiveOps
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
(GAM404) Hunting Monsters in a Low-Latency Multiplayer Game on EC2
 

Similar to Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally

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
 
PlayFab analytics gdc
PlayFab analytics gdcPlayFab analytics gdc
PlayFab analytics gdc
Crystin Cox
 
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
 
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
iFunFactory Inc.
 
(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
 
Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014
Paul Winterhalder
 
(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
 
PlayFab multiplayer_party
PlayFab multiplayer_partyPlayFab multiplayer_party
PlayFab multiplayer_party
Crystin Cox
 
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...
Amazon Web Services Korea
 
Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017
Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017
Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
Amazon Web Services
 
Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...
Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...
Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...
DevGAMM Conference
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hdslantsixgames
 
Dedicated Game Servers
Dedicated Game ServersDedicated Game Servers
Dedicated Game Serverswebhostingguy
 
GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...
GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...
GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...
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 eu
Xie ChengChao
 
Writing a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media playerWriting a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media player
Tikal Knowledge
 
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Brand Analytics Management: Measuring CLV Across Platforms, Devices and AppsBrand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Treasure Data, Inc.
 

Similar to Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally (20)

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
 
PlayFab analytics gdc
PlayFab analytics gdcPlayFab analytics gdc
PlayFab analytics gdc
 
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 ...
 
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
 
(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...
 
Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014
 
Sgin2013 scrum accomplished-mmog-sajitvasudevan
Sgin2013 scrum accomplished-mmog-sajitvasudevanSgin2013 scrum accomplished-mmog-sajitvasudevan
Sgin2013 scrum accomplished-mmog-sajitvasudevan
 
(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...
 
PlayFab multiplayer_party
PlayFab multiplayer_partyPlayFab multiplayer_party
PlayFab multiplayer_party
 
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...
 
Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017
Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017
Amazon 게임 플랫폼 활용하기- Amazon GameLift를 중심으로 - AWS Summit Seoul 2017
 
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
AWS Webcast - Database in the Cloud Series - Scalable Games and Analytics wit...
 
Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...
Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...
Modern Data Stack for Game Analytics / Dmitry Anoshin (Microsoft Gaming, The ...
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
 
Dedicated Game Servers
Dedicated Game ServersDedicated Game Servers
Dedicated Game Servers
 
GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...
GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...
GAM303_Migrating Battleborn and the Spark Platform to Amazon GameLift for Mul...
 
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
 
Writing a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media playerWriting a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media player
 
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Brand Analytics Management: Measuring CLV Across Platforms, Devices and AppsBrand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
 

More from James Gwertzman

Optimizing for Change
Optimizing for ChangeOptimizing for Change
Optimizing for Change
James Gwertzman
 
Introducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOpsIntroducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOps
James Gwertzman
 
Running live game events for fun and profit
Running live game events for fun and profitRunning live game events for fun and profit
Running live game events for fun and profit
James Gwertzman
 
Technical Disruption and a New Golden Era of Games
Technical Disruption and a New Golden Era of GamesTechnical Disruption and a New Golden Era of Games
Technical Disruption and a New Golden Era of Games
James Gwertzman
 
Effective LiveOps Strategies for F2P Games
Effective LiveOps Strategies for F2P GamesEffective LiveOps Strategies for F2P Games
Effective LiveOps Strategies for F2P Games
James Gwertzman
 
OMG! Zombies on the Great Wall of China!
OMG! Zombies on the Great Wall of China!OMG! Zombies on the Great Wall of China!
OMG! Zombies on the Great Wall of China!
James Gwertzman
 
Fail Fast: PopCap's Approach to Quality
Fail Fast: PopCap's Approach to QualityFail Fast: PopCap's Approach to Quality
Fail Fast: PopCap's Approach to Quality
James Gwertzman
 
The Making of PopCap's Plants vs Zombies
The Making of PopCap's Plants vs ZombiesThe Making of PopCap's Plants vs Zombies
The Making of PopCap's Plants vs Zombies
James Gwertzman
 
Social Games in China - The New Import/Export Business!
Social Games in China - The New Import/Export Business!Social Games in China - The New Import/Export Business!
Social Games in China - The New Import/Export Business!
James Gwertzman
 
Lessons learned from SNS games at PopCap
Lessons learned from SNS games at PopCapLessons learned from SNS games at PopCap
Lessons learned from SNS games at PopCap
James Gwertzman
 
Career Day Advice
Career Day AdviceCareer Day Advice
Career Day Advice
James Gwertzman
 
What to do when it all goes to hell
What to do when it all goes to hellWhat to do when it all goes to hell
What to do when it all goes to hell
James Gwertzman
 
Definitive Guide To Funding Your Video Game Masterpiece
Definitive Guide To Funding Your Video Game MasterpieceDefinitive Guide To Funding Your Video Game Masterpiece
Definitive Guide To Funding Your Video Game Masterpiece
James Gwertzman
 
Pop Cap’s First Year In China
Pop Cap’s First Year In ChinaPop Cap’s First Year In China
Pop Cap’s First Year In China
James Gwertzman
 

More from James Gwertzman (14)

Optimizing for Change
Optimizing for ChangeOptimizing for Change
Optimizing for Change
 
Introducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOpsIntroducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOps
 
Running live game events for fun and profit
Running live game events for fun and profitRunning live game events for fun and profit
Running live game events for fun and profit
 
Technical Disruption and a New Golden Era of Games
Technical Disruption and a New Golden Era of GamesTechnical Disruption and a New Golden Era of Games
Technical Disruption and a New Golden Era of Games
 
Effective LiveOps Strategies for F2P Games
Effective LiveOps Strategies for F2P GamesEffective LiveOps Strategies for F2P Games
Effective LiveOps Strategies for F2P Games
 
OMG! Zombies on the Great Wall of China!
OMG! Zombies on the Great Wall of China!OMG! Zombies on the Great Wall of China!
OMG! Zombies on the Great Wall of China!
 
Fail Fast: PopCap's Approach to Quality
Fail Fast: PopCap's Approach to QualityFail Fast: PopCap's Approach to Quality
Fail Fast: PopCap's Approach to Quality
 
The Making of PopCap's Plants vs Zombies
The Making of PopCap's Plants vs ZombiesThe Making of PopCap's Plants vs Zombies
The Making of PopCap's Plants vs Zombies
 
Social Games in China - The New Import/Export Business!
Social Games in China - The New Import/Export Business!Social Games in China - The New Import/Export Business!
Social Games in China - The New Import/Export Business!
 
Lessons learned from SNS games at PopCap
Lessons learned from SNS games at PopCapLessons learned from SNS games at PopCap
Lessons learned from SNS games at PopCap
 
Career Day Advice
Career Day AdviceCareer Day Advice
Career Day Advice
 
What to do when it all goes to hell
What to do when it all goes to hellWhat to do when it all goes to hell
What to do when it all goes to hell
 
Definitive Guide To Funding Your Video Game Masterpiece
Definitive Guide To Funding Your Video Game MasterpieceDefinitive Guide To Funding Your Video Game Masterpiece
Definitive Guide To Funding Your Video Game Masterpiece
 
Pop Cap’s First Year In China
Pop Cap’s First Year In ChinaPop Cap’s First Year In China
Pop Cap’s First Year In China
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally

  • 1. Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally James Gwertzman, PlayFab CEO
  • 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. “The single greatest predictor of success and of sustainable competitive advantage in this business is live game operations.” -- Owen Mahoney, CEO Nexon
  • 5. Build game Build backend Launch Build tools for ops team Segment & target customers Deploy servers Business intelligence Offers & Promotions Update content Host in-game events Customer service Nowadays… Business intelligence User Acquisition
  • 6.
  • 7. + Live ops tools and dashboards (mission control for the whole team) Back-end services (cross-platform, one-stop shop) + Integration with other partners (building out the full ecosystem) All-in-one platform to build, launch, and grow and more ...
  • 8.
  • 9.
  • 10. Some Loadout Stats • PC launched 1/31/14 • PS4 launched 12/17/14 • Over 1 billion API Calls • At Peak (Feb 2014): – 300k DAU, 35K CCU – 120 fixed game servers – 110 EC2 game servers
  • 11. Basic tenets of PlayFab architecture • Put latency-sensitive game servers near players. • Everything else as shared services via RESTful Web APIs. • Data replication = bad. • Local caches = good. • No scheduled downtime. • Automatic scaling for load. • Backend changes should be invisible to developers. • Use buffering to smooth over spikes or failures.
  • 12. Availability Zone B Oregon AWS cloud: PlayFab Web Services Amazon Route 53 (3.playfabapi.com) Amazon EC2 (API handling) Matchmaker Instance Instance Game Server Monitor DynamoDB Amazon RDS Amazon S3 Amazon RedshiftReports service Instance Logs Architecture Overview Matchmaker (Secondary) Instance Virginia Availability Zone A Amazon EC2 (API handling) Elastic Load Balancing Cross-zone storage Game Client Game Manager (Dashboards) Amazon EC2 (Virtual game servers) Tokyo Amazon EC2 (Virtual game servers) Sydney Physical game servers Physical game servers Amazon EC2 (Virtual game servers) Local disk Local disk Local disk Physical game servers
  • 13. PlayFab backend services • Player Accounts – Authentication – Profile Management – Account Linking • Data Storage – Per player – Per title – Per character (under one player) – Files / CDN delivery • Commerce – Catalog Management – Virtual Currencies – Player Inventory – In-game Purchasing – Receipt validation (Apple/Google/Amazon) – Marketing and Promotion • In-game Marketing – Push Notifications – In-game Messaging • Product Management – Analytics and Reporting – Customer Segmentation – Customer Support Tools – Abuse Reporting and Banning • Social – Friends Lists – Player Chat – Leaderboards – Game forum integration – Trading / gifting • Multiplayer – Photon integration (real-time / turn-based) – Matchmaking – Custom game server hosting – Server monitoring • Game logic – Server-hosted JavaScript The last API you’ll have to integrate into your game… 13
  • 14. Example of Web API Call API Request: Response from Web Services:
  • 15. Oregon AWS cloud: PlayFab Web Services Matchmaker Instance Instance Game Server Monitor Basic Gameplay (1) 1. Login via Web API to PlayFab 2. Retrieve session key 3. Download content updates 4. Call backend services as needed (inventory, catalog, player state) 5. Use matchmaker to find server; retrieve game ticket Virginia API servers Game Client Game servers Storage Local diskAmazon RedshiftReports service Instance
  • 16. Basic Gameplay (2) 6. Connect to game server 7. Present ticket to authenticate 8. Game server validates ticket 9. Game server loads player profile 10.Play w/ other players via server 11.Game ends 12.Server updates player profile 13.Log files get written to local disk Virginia Game Client (other players) Local disk Oregon AWS cloud: PlayFab Web Services Matchmaker Instance Instance Game Server Monitor API servers Storage Amazon RedshiftReports service Instance Game servers
  • 17. Basic Gameplay (2) 14.Log files get transferred to S3 storage 15.Server monitor cleans up old games; can create new servers if needed 16.Matchmaker prepares for new game 17.Events get imported into Redshift Virginia Game Client (other players) Local disk Oregon AWS cloud: PlayFab Web Services Matchmaker Instance Instance Game Server Monitor API servers Storage Amazon RedshiftReports service Instance Game servers
  • 18. ELB logging for title-specific tracking Game Client Amazon Route 53 (3.playfabapi.com) API Request: Elastic Load Balancing Logs Amazon RedshiftAmazon S3 bucket Reports service Logs Instance Logs include title-specific endpoint for analytics AWS wildcard DNS (*.playfabapi.com)
  • 19. Sample Loadout API usage report 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
  • 20. Instance Making a Singleton Service Highly Available Health Check Auto Scaling group Autoscaling service Instance Matchmaker (Primary) Instance Amazon Route 53 (matchmaker.playfab api.com) Elastic Load Balancing Matchmaker (Secondary) 1. Autoscaling is set to keep one instance up in each of 2 AZ’s. 2. Client locates matchmaker through Route 53 3. All matchmaker state written through to Dynamo DB Storage Game Client AZ A AZ B
  • 21. Instance Making a Singleton Service Highly Available Health Check Auto Scaling group Autoscaling service Instance Matchmaker (Primary) Instance Amazon Route 53 (matchmaker.playfab api.com) Elastic Load Balancing Matchmaker (Secondary) 4. Route53 Health Check detects bad instance and fails over all traffic to secondary. 5. Secondary loads latest state from storage 6. Autoscaling group detects bad instance and starts new one. Storage Game Client AZ A AZ B
  • 22. Monitoring Service Health Amazon EC2 (API handling) Elastic Load Balancing CloudWatch Health Check Email Alerts On-call Engineer Mobile Alerts Datadog visualization
  • 23. Trusted by hundreds of developers • More than 500 game studios using the PlayFab SDK • 16 titles now live (w/ more than 10 million total registered players) • Integrate at any point of your game’s life cycle 23
  • 25. Easy adoption by any game developer 25 Full set of support resources makes it easy for any developer to quickly start using the PlayFab platform. Getting Started Guides SDKs for popular tools Full documentation + + + Full-time developer relations team
  • 26. PlayFab benefits 26Better Faster Cheaper Developers • Best-in-class technology • Proven solution • Fully documented • Back-end engineering talent • Continual improvements • Baked-in best practices • Learn from other games • Available immediately • Less testing needed • No need to hire a new team • No up-front engineering cost • Volume of scale • Amortized costs Publishers • Share tools across games • Share players across games • Less risk • Training for new developers • Share lessons across games • All funding goes to game • No tech support costs 26PlayFab confidential
  • 27. Pricing model Test Free Standard Premium Enterprise Test all PlayFab features risk-free Build, test, and launch a game risk-free Backend services for casual or mobile games Meet needs of demanding core or multiplayer games Custom agreements for multi-title publishers FREE (max 1,000 DAU) FREE (UNLIMITED DAU) $2 (per 1,000 users / day) $6 (per 1,000 users / day) negotiable All features are available with API throttling limits • Live ops game manager • Login with Device ID • Receipt validation • Catalog (RM items only) • User inventory (RM items only) • Basic reports All of free tier plus: • Player accounts • Virtual goods • Standard analytics • Friends lists • Leaderboards • In-game messaging All of standard tier plus: • Cloud scripting • Photon Realtime / Turnbased / Unity Networking / Chat / Server • Custom development • Game server hosting* All of premium tier plus: • Private server clusters • Custom payment provider • Custom authentication • Custom SLA *Actual server cost (pass through) + 10% management fee. 27PlayFab confidential

Editor's Notes

  1. (move to next slide as soon as we start)
  2. Day one challenge of games. Big problem. Players practically expect games to fail at launch. Who’s experienced? Who’s been on the developer side of this? I have… but EA not alone. I’m now CEO of PlayFab, we build game operations platform to help mitigate these problems. We help companies build, launch, operate live games. A big part of our work is specifically for multiplayer games, and in today’s talk we’ll peel back the covers and talk about how we architect to scale. We are based 100% on AWS. By end of talk, you’ll have practical steps & concepts to help leverage cloud to avoid issues like these. We’ll also give a peek into PlayFab, and show some of the other things we do to help you be successful beyond just scaling. I’m James Gwertzman, CEO, and with me today are members of my team, including Matt (CTO), Thom (head of marketing), Liz (Head of product).
  3. but first, I want to set the context for why this matters Part of why multiplayer games are challenging is that they exist as services – and require significant investments post-launch Asian game companies get this – they’ve been doing this for years. But it’s still relatively new here in the US Nowadays, to launch a multiplayer game, you can’t just rely on LAN parties Players want to battle other players around the world And to run a great service effectively is way harder than just building a good game.
  4. Consider how building a game has evolved. It used to be you’d build a game, ship it, and move on.
  5. Now, however, games have becomes services, and suddenly launching the game is only the beginning. There’s all this other stuff that has to happen AFTER the game goes live – the service has to be managed. (talk about the flow) Costs include: Technology cost People cost (burn out) Continuously reacting to competitors
  6. The amount of tech required to build and operate a live game is massive, very easy to underestimate. Most game companies don’t have much experience with this. The ones who do, who operate successful games, get it. But even with cloud platforms like AWS there’s still a ton of tech you need.
  7. We started PlayFab specifically to help with game operations – everything that happens post launch. That includes… Back end services Tools & dashboards Integration w/ other partners Multiplayer server hosting Education…   This is all great news for most developers, because it means that once again, the field is leveling. You don’t need to spend a year building backend technology to launch a great game, anymore than you need to spend a year building animation tools. It’s possible now to build the next Candy Crush saga, or Age of War, without hiring a single server engineer.
  8. One of the games we host is called Loadout… FPS F2P game.
  9. You can see the kind of game it is --- 4v4 FPS Huge emphasis on fast-twitch action. Performance and latency really matter
  10. First launched on PC, integrated w/ Steam. Then launched on PS4 Overall it was a mostly smooth launch – no major glitches that prevented players from getting in and playing. In fact we hit top 10 on Steam for the original PC launch
  11. [CLICK] Step 1 is put our gameplay servers near our players. But the only thing our game servers are going to handle is actually running around and hacking my friends to pieces. If a game servers crashes, sure players are going to get kicked offline – not much you can do about that. But players should still be able to log right back in, and jump into another game without losing their progress. [CLICK] Step 2: Everything else will be HTTP API's: Login, friends list, leaderboards, inventory, in-app purchases – these all go into HTTP. Not only does this make developing and scaling these services easier, since you can take advantage of features such as auto-scaling and HTTP load balancing, but you also get security features like SSL that work out of the box. [CLICK] Step 3: No database-level replication. It seems like if we want a global game, so that players worldwide can to just replicate all the data everywhere. But it's a fragile architecture, since now all our regions are dependent on one another. Not to mention, it adds a ton of latency back in, since you have to wait for replication commits across regions. Instead, we're going to focus on using our HTTP API's for data access. [CLICK] Step 4: But having a local cache of hot data is a fine idea, and we'll cover that [CLICK] And the last point is that nobody really “Plays Everywhere”. Anytime I hear this, an alarm bell goes off that it's a half-designed feature. Look, if I’m sitting around… on some random Tues afternoon, having a beer, playing a few rounds of deathmatch between meetings – this is completely hypothetical by the way [LAUGH] – do I really want the game to automagically connect me from my house in San Diego to a server down in Brazil? NO! Not only is the latency going to suck, I don't even know how to swear in Portuguese! How am I going to know what the 12 year old on the other end is yelling at me? What players want is the ILLUSION of a global experience. So when we talk about having a "global game", we're really talking about a subset of features, like a global leaderboard, or global friends list. These can be easily accomplished without a giant data replication mesh, and I'll show you how.
  12. Three primary areas: Game Client Game services Multiplayer Game Servers (physical and AWS)
  13. Our goal is to cover all the core services you might need… and to integrate third party services to fill in the areas we don’t cover
  14. Three primary areas: Game Client Game services Multiplayer Game Servers (physical and AWS)
  15. Three primary areas: Game Client Game services Multiplayer Game Servers (physical and AWS)
  16. Three primary areas: Game Client Game services Multiplayer Game Servers (physical and AWS)
  17. Trick: use DNS to isolate game instances for future flexibility We assign a different endpoint to each game The API request is sent to title-specific endpoint using AWS wildcard DNS (*.playfabapi.com) Sending the wildcard CNAME for *.playfabapi.com to the ELB allows us to use 0-downtime ELB deployment with CNAME swapping ELB logging to S3: Reports service pulls logs from S3 bucket and sends them to Redshift; logs include title-specific endpoint for analytics
  18. This is available to us, and also to the customer via the game manager dashboard.
  19. There are cases when you need to have a single server available (our matchmaker needs to be a single server because it needs to know all the available games), but you can use these services to keep that single server highly available. ELB Health Checking auto-terminates EC2 instances if they become unhealthy Each instance is a single-instance Elastic Beanstalk Autoscaling service spins up a new EC2 instance if needed
  20. There are cases when you need to have a single server available (our matchmaker needs to be a single server because it needs to know all the available games), but you can use these services to keep that single server highly available. ELB Health Checking auto-terminates EC2 instances if they become unhealthy Each instance is a single-instance Elastic Beanstalk Autoscaling service spins up a new EC2 instance if needed
  21. Pingdom monitors public-facing pages for outages, sends email alerts and also sends to VictorOps. CloudWatch sends alerts to VictorOps. VictorOps sends alerts to the engineer(s) on call based on CloudWatch and Pingdom alerts. ELB health check as shown earlier.
  22. We’ve already got substantial traction with small and medium developers, and we’re starting to work with some of the bigger companies too, which is exciting. You can integrate at any point, not just when you’re starting out. We are working w/ hyper hippo & adventure capitalist, launching an update this week
  23. Here’s how we price today… but this is definitely a work in progress. We need to balance so we’re cheaper than them doing it themselves, but obviously still profitable for us. And we’re in that up front zone where we don’t yet have the economies of scale that we’ll later have as we get bigger. We have certain fixed costs just to maintain availability and scalability, and we have extra capacity not using today.
  24. So if you’re building a game, I hope you’re thinking about your operations strategy… And if you’re thinking about your operations strategy, I hope you’ll consider a platform like PlayFab