SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Building a World in the Clouds
MMO Architecture on AWS
Jeffrey Berube
Director of Technical Operations
Red 5 Studios, Inc.

November 15, 2013

© 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Overview
•
•
•
•
•

What is Firefall?
Why build in the cloud?
Infrastructure Goals
Evolution of the Platform
Tools for Success
What is Firefall?
• Free-to-play cooperative open world shooter
• “Shardless” world
• Instance-based maps
• Both persistent and transient map types
• Possible for many instances of a map to exist at the same time
• Free-to-play cooperative open world shooter
• “Shardless” world
• Instance-based maps
• Both persistent and transient map types
• Possible for many instances of a map to exist at the same time
• Free-to-play cooperative open world shooter
• “Shardless” world
• Instance-based maps
• Both persistent and transient map types
• Possible for many instances of a map to exist at the same time
Why?
Why build in the cloud?
• Players are unpredictable
• Developers are unpredictable
• Cyclical player behavior opens up opportunities
for significant cost savings
Why build in the cloud?
• Players are unpredictable
– Forecasts can be (and usually are) wrong
• Too little hardware, Too many players
– Bad for everyone

• Too much hardware, Too few players
– Good for players (sort of) but bad for the business

– What if they don’t stick around?

• Developers are unpredictable
• Cyclical player behavior opens up opportunities for
significant cost savings
Why build in the cloud?
• Players are unpredictable
• Developers are unpredictable
• Cyclical player behavior opens up opportunities
for significant cost savings
Why build in the cloud?
• Players are unpredictable
• Developers are unpredictable
– Active development has risks
• Performance can change drastically
• New services can “appear” the day of the patch

– MMOs are ALWAYS being actively developed!
• (If you want to be successful…)

• Cyclical player behavior opens up opportunities
for significant cost savings
Why build in the cloud?
• Players are unpredictable
• Developers are unpredictable
• Cyclical player behavior opens up opportunities
for significant cost savings
Player Graph
36 Hours
Player Graph with Server Overlay
Player Graph with Efficient Server Overlay
35%–37.5% Savings
Infrastructure Goals
Infrastructure Goals
Deployment and Recovery

Platform

How do we make site
management better?

How can the platform make
the player experience better?

•
•
•
•

Expansion
Scalability
Disaster Recovery
Self-Healing

• Downtime
• Player Mobility
Infrastructure Goals:
Deployment and Recovery
Deployment and Recovery Goals
•
•
•
•

Quick regional expansion
On-demand scalability
Disaster recovery with minimal downtime
Self-healing
Deployment and Recovery Goals
• Quick regional expansion
– Traditionally, expansion is a multi-month process
• Contracts, Purchase and Shipping, Installation, etc.

– Today, adding a region is about a week long task
• Additional improvements are in the works

• On-demand scalability
• Disaster recovery with minimal downtime
• Self-healing
Deployment and Recovery Goals
•
•
•
•

Quick regional expansion
On-demand scalability
Disaster recovery with minimal downtime
Self-healing
Deployment and Recovery Goals
• Quick regional expansion
• On-demand scalability
– Automated scale up and down without* limits
• Instance sizes desired may not always be available, however

• Disaster recovery with minimal downtime
• Self-healing
Deployment and Recovery Goals
•
•
•
•

Quick regional expansion
On-demand scalability
Disaster recovery with minimal downtime
Self-healing
Deployment and Recovery Goals
• Quick regional expansion
• On-demand scalability
• Disaster recovery with minimal downtime
– Traditionally, DR sites are expensive and are not always
properly maintained
– Our goal is to automate disaster recovery safely
• We do a lot manually at present

• Self-healing
Deployment and Recovery Goals
•
•
•
•

Quick regional expansion
On-demand scalability
Disaster recovery with minimal downtime
Self-healing
Infrastructure Goals:
Platform
Platform Goals
• Zero downtime game updates
• Players can play globally without restrictions
Platform Goals
• Zero downtime game updates
– Blue-Green deployment
– Doesn’t preclude scheduled maintenance
• Some things are more safely done offline

• Players can play globally without restrictions
Platform Goals
• Zero downtime game updates
• Players can play globally without restrictions
Platform Goals
• Zero downtime game updates
• Players can play globally without restrictions
– Characters won’t be held hostage
• Player data is available everywhere they want to be
• We don’t charge a player so that they can play with their friends

– Prefer closest healthy region, however
Evolution of the Platform
The Beginning
March 2011
INET

The Beginning
March 2011
AWS Services in Use

Outside-Game

AWS

Elastic Compute Cloud (EC2)

US-West-1

CORP

Availability Zone: b
Alpha
October 2011
INET
Operator

Alpha
October 2011

AWS ELB

AWS Services in Use
Mx

HP

Outside-Game
HP
PvP

HP
MM

HP

HP

Inside-LB
Chef

Ic

I

I

C

Ar

Inside-Core

Log

U

Ad

Inside-App
C

U

Ad

Inside-DB
Availability Zone: b

US-West-1

CORP

HP

Outside-LB

Inside-Game

AWS

MD

MCP

Elastic Compute Cloud (EC2)
Simple Storage Service (S3)
Elastic Load Balancing (ELB)
Simple Queue Service (SQS)
Closed Beta
April 2012
INET

Closed Beta
April 2012

Operator AWS ELB

AWS Services in Use
OW

PvP

HP

HP

Outside-Game

Outside-Game

MM

Outside-LB

HP

HP

Inside-LB

HP

Inside-Game

Outside-LB

MD
MM

HP

HP

Inside-LB

MCP

Inside-Game

HP

HP
HP

Chef
I

Ic
Gr

Inside-Core

Log

C

U

I

C

U

Ar

Ad

S

Ar

Ad

S

Inside-App
Availability Zone: b

AWS RDS

Inside-App
Availability Zone: c

Elastic Compute Cloud (EC2)
Simple Storage Service (S3)
Elastic Load Balancing (ELB)
Simple Queue Service (SQS)
Relational Database Service (RDS)
ElastiCache

AWS

PvP

HP

US-West-1

CORP

OW

HP
Gamescom
August 2012
INET
Operator

Gamescom
August 2012

AWS ELB

AWS Services in Use
OW

NPE

PvE

EU-West-1

PvP
HP

HP

HP

Outside-Game

Task Task Task

MD

MM

Inside-Game

Log

Ic

C

U

Ar

L

In

Ad

Co

S

A

P

W

I

Chef

C

U

A

P

Gr

Log

Ic

Outside-LB

I

Inside-AppTasks

Chef

AWS ELB

Gr

Inside-Core

VPC

Inside-Core

AWS

MCP

Inside-App
W

Inside-DB
Availability Zone: b
US-West-2

CORP

US-East-1
US-West-2

Elastic Compute Cloud (EC2)
Simple Storage Service (S3)
Elastic Load Balancing (ELB)
Simple Queue Service (SQS)
Relational Database Service (RDS)
ElastiCache
CloudFront
Virtual Private Cloud (VPC)

HQ
Open Beta
July 2013
INET
Operator

Open Beta
July 2013

AWS ELB

AWS Services in Use
ES

ES

ES

OW

NPE

PvE

EU-West-1

PvP
HP

MCP

MD

MM

HP

HP

Inside-LB

Log

Ic

C

U

Ar

L

In

Ad

Co

S

A

P

W

C

U

A

P

Gr

Log

Gr

Inside-Core

Inside-Core

VPC
US-East-1
Ops

US-East-1

Outside-LB

I

Chef

VPC

HP

I

Inside-AppTasks

Ic

HP

Inside-Game

Task Task Task

Chef

HP

Outside-Game

Inside-Search

AWS

ES

ES

Inside-App
W

Inside-DB
Availability Zone: b

US-West-2

CORP

ES

HQ

Elastic Compute Cloud (EC2)
Simple Storage Service (S3)
Elastic Load Balancing (ELB)
Simple Queue Service (SQS)
CloudFront
Virtual Private Cloud (VPC)
Elastic MapReduce (EMR)
Today
November 2013
INET
Operator

Today
November 2013

AWS ELB

AWS Services in Use
ES

ES

ES

ES

ES

ES

OW

NPE

PvE

EU-West-1

PvP
HP

Outside-Game
MD

MM

Chef

Log

Ic
Ic

Inside-LB

C

U

Ar

L

In

Ad

Co

S

A

P

W

Gr

Log

Gr

VPC

Inside-Core
VPC

US-East-1
Ops

AP-NorthEast-1

Inside-App
C

Inside-Core

US-East-1

Outside-LB

I

Inside-AppTasks

Chef

HP

Inside-Game

AWS

MCP
Task Task Task

A

P

Inside-DB
Availability Zone: b

US-West-2

SA-East-1

CORP

Inside-Search

HQ

Elastic Compute Cloud (EC2)
Simple Storage Service (S3)
Elastic Load Balancing (ELB)
Simple Queue Service (SQS)
CloudFront
Virtual Private Cloud (VPC)
Elastic MapReduce (EMR)
Tools for Success
Third-party Tools
•
•
•
•
•
•
•
•
•

Opscode Chef
collectd
Icinga (Nagios)
Graphite
Graylog2
HAProxy
Keepalived
elasticsearch
Others (Bluepill, Thin, memcached, RabbitMQ, etc.)
Third-party Services
• Dyn
– Global Load Balancing
– DNS Failover

• PagerDuty
– On-call scheduling
– Phone calls!

• Pingdom
– Transaction monitoring

• Duo Security
Internal Tools
• Architect
• Cartographer
• Dashboards (Everywhere)
Internal Tools
• Architect
– Everything heartbeats
– Service-specific data aggregation

• Cartographer
• Dashboards (Everywhere)
Internal Tools
• Architect
• Cartographer
• Dashboards (Everywhere)
Internal Tools
• Architect
• Cartographer
– Builds new game server stacks
– Replaces failed game server components
– Scales up (or down) the servers within a pool depending on
player demand

• Dashboards (Everywhere)
Internal Tools
• Architect
• Cartographer
• Dashboards (Everywhere)
Internal Tools
• Architect
• Cartographer
• Dashboards (Everywhere)
– Multiple data sources
• Graphite
• Production databases
• Business Intelligence databases
Please give us your feedback on this
presentation

MBL304
As a thank you, we will select prize
winners daily for completed surveys!

Contenu connexe

Tendances

MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by Andrew
Agate Studio
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
devCAT Studio, NEXON
 

Tendances (20)

[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
Making an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online StoryMaking an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online Story
 
Ndc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABCNdc14 분산 서버 구축의 ABC
Ndc14 분산 서버 구축의 ABC
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
 
Game Architecture with Scriptable Objects
Game Architecture with Scriptable ObjectsGame Architecture with Scriptable Objects
Game Architecture with Scriptable Objects
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
 
Python 게임서버 안녕하십니까 : RPC framework 편
Python 게임서버 안녕하십니까 : RPC framework 편Python 게임서버 안녕하십니까 : RPC framework 편
Python 게임서버 안녕하십니까 : RPC framework 편
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
 
MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by Andrew
 
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
양승명, 다음 세대 크로스플랫폼 MMORPG 아키텍처, NDC2012
 
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
 

En vedette

A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...
A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...
A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...
l xf
 
A practical architecture design for MMO casual game
A practical architecture design for MMO casual gameA practical architecture design for MMO casual game
A practical architecture design for MMO casual game
we20
 
Game Traffic Analysis: An MMORPG Perspective
Game Traffic Analysis: An MMORPG PerspectiveGame Traffic Analysis: An MMORPG Perspective
Game Traffic Analysis: An MMORPG Perspective
Academia Sinica
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Game
action.vn
 

En vedette (20)

Mmorpg
MmorpgMmorpg
Mmorpg
 
Anatomy of the MMO
Anatomy of the MMOAnatomy of the MMO
Anatomy of the MMO
 
A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...
A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...
A Virtual World Distributed Server Developed In Erlang As A Tool For Analysin...
 
Intro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) DesignIntro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) Design
 
3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer Graphics3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer Graphics
 
Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques
Beyond the Client-Server Architectures: A Survey of Mobile Cloud TechniquesBeyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques
Beyond the Client-Server Architectures: A Survey of Mobile Cloud Techniques
 
[Vietnam Mobile Day 2013] - Phát triển ứng dụng game đa nền tảng smart fox se...
[Vietnam Mobile Day 2013] - Phát triển ứng dụng game đa nền tảng smart fox se...[Vietnam Mobile Day 2013] - Phát triển ứng dụng game đa nền tảng smart fox se...
[Vietnam Mobile Day 2013] - Phát triển ứng dụng game đa nền tảng smart fox se...
 
A practical architecture design for MMO casual game
A practical architecture design for MMO casual gameA practical architecture design for MMO casual game
A practical architecture design for MMO casual game
 
Social Networking In MMOG‘s
Social Networking In MMOG‘sSocial Networking In MMOG‘s
Social Networking In MMOG‘s
 
MMOTraffic - The Leading MMO Marketing Partner
MMOTraffic -  The Leading MMO Marketing PartnerMMOTraffic -  The Leading MMO Marketing Partner
MMOTraffic - The Leading MMO Marketing Partner
 
Game Traffic Analysis: An MMORPG Perspective
Game Traffic Analysis: An MMORPG PerspectiveGame Traffic Analysis: An MMORPG Perspective
Game Traffic Analysis: An MMORPG Perspective
 
EA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationEA: Optimization of mobile Unity application
EA: Optimization of mobile Unity application
 
Online games: a real-time problem for the network
Online games: a real-time problem for the networkOnline games: a real-time problem for the network
Online games: a real-time problem for the network
 
Online games traffic characterization and network support
Online games traffic characterization and network supportOnline games traffic characterization and network support
Online games traffic characterization and network support
 
(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...
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Game
 
5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)
 
elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバ
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
Distributed Systems Real Life Applications
Distributed Systems Real Life ApplicationsDistributed Systems Real Life Applications
Distributed Systems Real Life Applications
 

Similaire à Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Invent 2013

Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Ontico
 
201507131408448146
201507131408448146201507131408448146
201507131408448146
Mason Mei
 

Similaire à Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Invent 2013 (20)

IIMB presentation
IIMB presentationIIMB presentation
IIMB presentation
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
 
(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
 
KGC 2013 AWS Keynote
KGC 2013 AWS KeynoteKGC 2013 AWS Keynote
KGC 2013 AWS Keynote
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
 
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBMEclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
Eclipse the Rich Client Platform - Jeff McAffer, Eclipse Architect, IBM
 
Write retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with AzureWrite retrogames in the web and add something more with Azure
Write retrogames in the web and add something more with Azure
 
Game Programming - Cloud Development
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud Development
 
Worldwide Local Latency With ScyllaDB
Worldwide Local Latency With ScyllaDB Worldwide Local Latency With ScyllaDB
Worldwide Local Latency With ScyllaDB
 
201507131408448146
201507131408448146201507131408448146
201507131408448146
 
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
 
Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012Improving the VR experience - VRST 2012
Improving the VR experience - VRST 2012
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with Grails
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & Development
 
(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...
 
Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience Containerize Your Game Server for the Best Multiplayer Experience
Containerize Your Game Server for the Best Multiplayer Experience
 
mtl_rubykaigi
mtl_rubykaigimtl_rubykaigi
mtl_rubykaigi
 
Saltconf16 william-cannon b
Saltconf16 william-cannon bSaltconf16 william-cannon b
Saltconf16 william-cannon b
 
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
 
DevCon Summit 2014 #DevelopersUnitePH: Klab Cyscorpions
DevCon Summit 2014 #DevelopersUnitePH: Klab CyscorpionsDevCon Summit 2014 #DevelopersUnitePH: Klab Cyscorpions
DevCon Summit 2014 #DevelopersUnitePH: Klab Cyscorpions
 

Plus de Amazon Web Services

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

Plus de Amazon Web Services (20)

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

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Building a World in the Clouds: MMO Architecture on AWS (MBL304) | AWS re:Invent 2013

  • 1. Building a World in the Clouds MMO Architecture on AWS Jeffrey Berube Director of Technical Operations Red 5 Studios, Inc. November 15, 2013 © 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
  • 2. Overview • • • • • What is Firefall? Why build in the cloud? Infrastructure Goals Evolution of the Platform Tools for Success
  • 4. • Free-to-play cooperative open world shooter • “Shardless” world • Instance-based maps • Both persistent and transient map types • Possible for many instances of a map to exist at the same time
  • 5. • Free-to-play cooperative open world shooter • “Shardless” world • Instance-based maps • Both persistent and transient map types • Possible for many instances of a map to exist at the same time
  • 6. • Free-to-play cooperative open world shooter • “Shardless” world • Instance-based maps • Both persistent and transient map types • Possible for many instances of a map to exist at the same time
  • 8. Why build in the cloud? • Players are unpredictable • Developers are unpredictable • Cyclical player behavior opens up opportunities for significant cost savings
  • 9. Why build in the cloud? • Players are unpredictable – Forecasts can be (and usually are) wrong • Too little hardware, Too many players – Bad for everyone • Too much hardware, Too few players – Good for players (sort of) but bad for the business – What if they don’t stick around? • Developers are unpredictable • Cyclical player behavior opens up opportunities for significant cost savings
  • 10. Why build in the cloud? • Players are unpredictable • Developers are unpredictable • Cyclical player behavior opens up opportunities for significant cost savings
  • 11. Why build in the cloud? • Players are unpredictable • Developers are unpredictable – Active development has risks • Performance can change drastically • New services can “appear” the day of the patch – MMOs are ALWAYS being actively developed! • (If you want to be successful…) • Cyclical player behavior opens up opportunities for significant cost savings
  • 12. Why build in the cloud? • Players are unpredictable • Developers are unpredictable • Cyclical player behavior opens up opportunities for significant cost savings
  • 14. Player Graph with Server Overlay
  • 15. Player Graph with Efficient Server Overlay 35%–37.5% Savings
  • 17. Infrastructure Goals Deployment and Recovery Platform How do we make site management better? How can the platform make the player experience better? • • • • Expansion Scalability Disaster Recovery Self-Healing • Downtime • Player Mobility
  • 19. Deployment and Recovery Goals • • • • Quick regional expansion On-demand scalability Disaster recovery with minimal downtime Self-healing
  • 20. Deployment and Recovery Goals • Quick regional expansion – Traditionally, expansion is a multi-month process • Contracts, Purchase and Shipping, Installation, etc. – Today, adding a region is about a week long task • Additional improvements are in the works • On-demand scalability • Disaster recovery with minimal downtime • Self-healing
  • 21. Deployment and Recovery Goals • • • • Quick regional expansion On-demand scalability Disaster recovery with minimal downtime Self-healing
  • 22. Deployment and Recovery Goals • Quick regional expansion • On-demand scalability – Automated scale up and down without* limits • Instance sizes desired may not always be available, however • Disaster recovery with minimal downtime • Self-healing
  • 23. Deployment and Recovery Goals • • • • Quick regional expansion On-demand scalability Disaster recovery with minimal downtime Self-healing
  • 24. Deployment and Recovery Goals • Quick regional expansion • On-demand scalability • Disaster recovery with minimal downtime – Traditionally, DR sites are expensive and are not always properly maintained – Our goal is to automate disaster recovery safely • We do a lot manually at present • Self-healing
  • 25. Deployment and Recovery Goals • • • • Quick regional expansion On-demand scalability Disaster recovery with minimal downtime Self-healing
  • 27. Platform Goals • Zero downtime game updates • Players can play globally without restrictions
  • 28. Platform Goals • Zero downtime game updates – Blue-Green deployment – Doesn’t preclude scheduled maintenance • Some things are more safely done offline • Players can play globally without restrictions
  • 29. Platform Goals • Zero downtime game updates • Players can play globally without restrictions
  • 30. Platform Goals • Zero downtime game updates • Players can play globally without restrictions – Characters won’t be held hostage • Player data is available everywhere they want to be • We don’t charge a player so that they can play with their friends – Prefer closest healthy region, however
  • 31. Evolution of the Platform
  • 33. INET The Beginning March 2011 AWS Services in Use Outside-Game AWS Elastic Compute Cloud (EC2) US-West-1 CORP Availability Zone: b
  • 35. INET Operator Alpha October 2011 AWS ELB AWS Services in Use Mx HP Outside-Game HP PvP HP MM HP HP Inside-LB Chef Ic I I C Ar Inside-Core Log U Ad Inside-App C U Ad Inside-DB Availability Zone: b US-West-1 CORP HP Outside-LB Inside-Game AWS MD MCP Elastic Compute Cloud (EC2) Simple Storage Service (S3) Elastic Load Balancing (ELB) Simple Queue Service (SQS)
  • 37. INET Closed Beta April 2012 Operator AWS ELB AWS Services in Use OW PvP HP HP Outside-Game Outside-Game MM Outside-LB HP HP Inside-LB HP Inside-Game Outside-LB MD MM HP HP Inside-LB MCP Inside-Game HP HP HP Chef I Ic Gr Inside-Core Log C U I C U Ar Ad S Ar Ad S Inside-App Availability Zone: b AWS RDS Inside-App Availability Zone: c Elastic Compute Cloud (EC2) Simple Storage Service (S3) Elastic Load Balancing (ELB) Simple Queue Service (SQS) Relational Database Service (RDS) ElastiCache AWS PvP HP US-West-1 CORP OW HP
  • 39. INET Operator Gamescom August 2012 AWS ELB AWS Services in Use OW NPE PvE EU-West-1 PvP HP HP HP Outside-Game Task Task Task MD MM Inside-Game Log Ic C U Ar L In Ad Co S A P W I Chef C U A P Gr Log Ic Outside-LB I Inside-AppTasks Chef AWS ELB Gr Inside-Core VPC Inside-Core AWS MCP Inside-App W Inside-DB Availability Zone: b US-West-2 CORP US-East-1 US-West-2 Elastic Compute Cloud (EC2) Simple Storage Service (S3) Elastic Load Balancing (ELB) Simple Queue Service (SQS) Relational Database Service (RDS) ElastiCache CloudFront Virtual Private Cloud (VPC) HQ
  • 41. INET Operator Open Beta July 2013 AWS ELB AWS Services in Use ES ES ES OW NPE PvE EU-West-1 PvP HP MCP MD MM HP HP Inside-LB Log Ic C U Ar L In Ad Co S A P W C U A P Gr Log Gr Inside-Core Inside-Core VPC US-East-1 Ops US-East-1 Outside-LB I Chef VPC HP I Inside-AppTasks Ic HP Inside-Game Task Task Task Chef HP Outside-Game Inside-Search AWS ES ES Inside-App W Inside-DB Availability Zone: b US-West-2 CORP ES HQ Elastic Compute Cloud (EC2) Simple Storage Service (S3) Elastic Load Balancing (ELB) Simple Queue Service (SQS) CloudFront Virtual Private Cloud (VPC) Elastic MapReduce (EMR)
  • 43. INET Operator Today November 2013 AWS ELB AWS Services in Use ES ES ES ES ES ES OW NPE PvE EU-West-1 PvP HP Outside-Game MD MM Chef Log Ic Ic Inside-LB C U Ar L In Ad Co S A P W Gr Log Gr VPC Inside-Core VPC US-East-1 Ops AP-NorthEast-1 Inside-App C Inside-Core US-East-1 Outside-LB I Inside-AppTasks Chef HP Inside-Game AWS MCP Task Task Task A P Inside-DB Availability Zone: b US-West-2 SA-East-1 CORP Inside-Search HQ Elastic Compute Cloud (EC2) Simple Storage Service (S3) Elastic Load Balancing (ELB) Simple Queue Service (SQS) CloudFront Virtual Private Cloud (VPC) Elastic MapReduce (EMR)
  • 45. Third-party Tools • • • • • • • • • Opscode Chef collectd Icinga (Nagios) Graphite Graylog2 HAProxy Keepalived elasticsearch Others (Bluepill, Thin, memcached, RabbitMQ, etc.)
  • 46. Third-party Services • Dyn – Global Load Balancing – DNS Failover • PagerDuty – On-call scheduling – Phone calls! • Pingdom – Transaction monitoring • Duo Security
  • 47. Internal Tools • Architect • Cartographer • Dashboards (Everywhere)
  • 48. Internal Tools • Architect – Everything heartbeats – Service-specific data aggregation • Cartographer • Dashboards (Everywhere)
  • 49. Internal Tools • Architect • Cartographer • Dashboards (Everywhere)
  • 50. Internal Tools • Architect • Cartographer – Builds new game server stacks – Replaces failed game server components – Scales up (or down) the servers within a pool depending on player demand • Dashboards (Everywhere)
  • 51. Internal Tools • Architect • Cartographer • Dashboards (Everywhere)
  • 52. Internal Tools • Architect • Cartographer • Dashboards (Everywhere) – Multiple data sources • Graphite • Production databases • Business Intelligence databases
  • 53. Please give us your feedback on this presentation MBL304 As a thank you, we will select prize winners daily for completed surveys!