SlideShare a Scribd company logo
1 of 41
Download to read offline
AWS Gaming Solutions | GDC 2014
Scalable Gaming with AWS
Or, How to go from 1,000 to 1,000,000 users without starting over
Nate Wiger @nateware | Principal Gaming Solutions Architect
AWS Gaming Solutions | GDC 2014
What's In It For Me?
•  Why AWS for Games?
•  Core Game Backend
•  Scaling Data with DynamoDB
•  Low-Latency Multiplayer with C3
•  Mobile Push Notifications
AWS Gaming Solutions | GDC 2014
Gratuitous Logo Slide
AWS Gaming Solutions | GDC 2014
Traditional: Rigid AWS: Elastic
Servers
Demand
Capacity
Excess Capacity
Wasted $$
Demand
Unmet Demand
Upset Players
Missed Revenue
Pay As You Scale
AWS Gaming Solutions | GDC 2014
Pay As You Scale
AWS Gaming Solutions | GDC 2014
10 Regions
51 CloudFront POPs
Continuous Expansion
Global Is Good
AWS Gaming Solutions | GDC 2014
AWS Gaming Solutions | GDC 2014
Game Backend Concepts
•  Think in terms of API's
•  Get friends, leaderboard
•  HTTP+JSON
•  Binary asset data
•  Mobile push
•  Multiplayer servers
AWS Gaming Solutions | GDC 2014
Core Game Backend
ELB
S3
•  Choose Region
•  Elastic Load Balancer
•  Two Availability Zones
•  EC2 for App
•  RDS Database
•  Multi-AZ
•  S3 for Game Data
•  Assets
•  UGC
•  Analytics
Region
AWS Gaming Solutions | GDC 2014
Scale It Way Out
ELB
S3
•  Auto Scaling Group
•  Capacity on Demand
•  Respond to Users
EC2EC2EC2
Region
AWS Gaming Solutions | GDC 2014
Scale It Way Out
ELB
S3
•  Auto Scaling Group
•  Capacity on Demand
•  Respond to Users
•  ElastiCache
•  Memcache
•  Redis EC2EC2EC2
Region
AWS Gaming Solutions | GDC 2014
Scale It Way Out
CloudFront
CDN
ELB
S3
EC2EC2EC2
Region
•  Auto Scaling Group
•  Capacity on Demand
•  Respond to Users
•  ElastiCache
•  Memcache
•  Redis
•  CloudFront CDN
•  DLC, Assets
•  Game Saves
•  UGC
AWS Gaming Solutions | GDC 2014
Big picture slide
AWS Gaming Solutions | GDC 2014
Elastic Beanstalk
•  Managed Container
•  Git Push or Zip Upload
•  ELB, EC2, RDS
•  Web Dashboard
•  Same Performance
•  So Yeah, Use It
AWS Gaming Solutions | GDC 2014
Hill Of Beans
ELB
S3
•  Beanstalk Manages
•  ELB
•  EC2
•  Auto Scaling
•  Monitoring
•  RDS
•  Add Other Services
•  S3
•  CloudFront
•  ElastiCache
•  SNS
EC2
Elastic Beanstalk Container
EC2
CloudFront
CDN
AWS Gaming Solutions | GDC 2014
AWS Gaming Solutions | GDC 2014
More CLI bell
cd	
  MyGameAPI	
  
	
  
eb	
  init	
  
eb	
  start	
  
	
  
vi	
  app.rb	
  
require	
  'sinatra'	
  
get	
  '/hello.json'	
  do	
  
	
  	
  {message:	
  "Hello	
  World!"}	
  
End	
  
	
  
git	
  commit	
  –m	
  "app	
  updates"	
  app.rb	
  
git	
  aws.push	
  
•  Initialize everything
•  Write code
•  Commit to git
•  Push to Beanstalk
•  Coffee / Beer
•  Repeat
AWS Gaming Solutions | GDC 2014
AWS Gaming Solutions | GDC 2014
Region
Writing Is Painful
Availability
Zone A
Availability
Zone B
S3
EC2
•  Games are Write Heavy
•  Caching of Limited Use
•  Key Value Key Value
•  Binary Structures
•  Database = Bottleneck
ELB
EC2
CloudFront
CDN
AWS Gaming Solutions | GDC 2014
Sharding (Not Fun)
Availability
Zone A
C2
AWS Gaming Solutions | GDC 2014
DynamoDB
Availability
Zone A
Availability
Zone B
S3
•  NoSQL Data Store
•  Fully-Managed
•  Highly Available
•  PUT/GET Keys
•  Secondary Indexes
•  Provisioned Throughput
•  Auto Scaling
EC2 EC2
ELB
CloudFront
CDN
Elastic Beanstalk Container
AWS Gaming Solutions | GDC 2014
Leaderboard in DynamoDB
•  Hash key = Primary key
•  Range key = Sub key
•  Others attributes are
unstructured, unindexed
•  So… How to sort based
on Top Score?
AWS Gaming Solutions | GDC 2014
Leaderboard with Secondary Indexes
•  Create a secondary index!
•  Set hash key to Game Level
•  Set range key to Top Score
•  Can now query by Level,
Sorted by Top Score
•  Handles any (sane) gaming
use case
AWS Gaming Solutions | GDC 2014
Python Leaderboard
table	
  =	
  Table('scores',	
  schema=[	
  
	
  	
  HashKey('user'),	
  
	
  	
  RangeKey('level')	
  
],	
  
throughput={	
  
	
  	
  'read':	
  5,	
  'write':	
  15	
  
},	
  global_indexes=[	
  
	
  	
  GlobalAllIndex('highscore',	
  
	
  	
  	
  	
  parts=[	
  
	
  	
  	
  	
  	
  	
  HashKey('level'),	
  
	
  	
  	
  	
  	
  	
  RangeKey('score',	
  data_type=NUMBER)	
  
	
  	
  	
  	
  ],	
  
	
  	
  	
  	
  throughput={	
  
	
  	
  	
  	
  	
  	
  'read':	
  5,	
  'write':	
  15	
  
	
  	
  	
  	
  }	
  
	
  	
  )	
  
])	
  
new_score	
  =	
  
	
  	
  Item(table,	
  data={	
  
	
  	
  	
  	
  'user':	
  	
  user,	
  
	
  	
  	
  	
  'level':	
  level,	
  
	
  	
  	
  	
  'score':	
  score	
  
	
  	
  	
  })	
  
new_score.save()	
  
	
  
topscores	
  =	
  table.query(index='highscore')	
  
	
  
for	
  ts	
  in	
  topscores:	
  
	
  	
  print(ts['user'],	
  ts['score'])	
  
	
  
AWS Gaming Solutions | GDC 2014
Big picture slide
AWS Gaming Solutions | GDC 2014
G2 Instance
•  NVIDIA Kepler GPU
•  Game Streaming
•  Rendering Assets
•  Build Servers
•  AppStream!
AWS Gaming Solutions | GDC 2014
C3 Instance
•  High packets per second
•  Very low latency, jitter
•  Intel Ivy Bridge CPU
•  SSD's
•  Built for games
•  15 cents / hour
AWS Gaming Solutions | GDC 2014
Enhanced Networking (SR-IOV)
Before:
Hypervisor
After:
Hardware
AWS Gaming Solutions | GDC 2014
Multiplayer Game Servers
EC2EC2 EC2
Region
•  Beanstalk App
•  Core Session
•  Matchmaking
•  Public Server Tier
•  Direct Client Socket
•  Scale on Players
•  CloudFront CDN
•  DLC, Assets
•  Game Saves
•  UGC
EC2
AWS Gaming Solutions | GDC 2014
Multiplayer Game Servers
①  Login via Beanstalk
②  Request Matchmaking
③  Get Game Server IP
EC2EC2 EC2
Region
EC2
AWS Gaming Solutions | GDC 2014
Multiplayer Game Servers
①  Login via Beanstalk
②  Request Matchmaking
③  Get Game Server IP
④  Connect to Server
⑤  Pull Down Assets
⑥  Other Players Join
EC2EC2 EC2
Region
EC2
AWS Gaming Solutions | GDC 2014
Multiplayer Game Servers
①  Login via Beanstalk
②  Request Matchmaking
③  Get Game Server IP
④  Connect to Server
⑤  Pull Down Assets
⑥  Other Players Join
⑦  Game Ends
⑧  Update Stats
EC2EC2 EC2
Region
EC2
AWS Gaming Solutions | GDC 2014
Multi-Region Game Servers
E2
Region
EC2
Region
AWS Gaming Solutions | GDC 2014
Big picture slide
AWS Gaming Solutions | GDC 2014
Messages and Queues
ELB
S3
•  Simple Notification Service
•  HTTP
•  SMS
•  Mobile Push
EC2EC2EC2
Region
AWS Gaming Solutions | GDC 2014
Messages and Queues
ELB
•  Simple Notification Service
•  HTTP
•  SMS
•  Mobile Push
•  CloudWatch
•  Monitoring
•  Alerts
EC2EC2EC2
Region
EC2
PUB
AWS Gaming Solutions | GDC 2014
Messages and Queues
ELB
EC2EC2EC2
Region
EC2EC2
•  Simple Notification Service
•  HTTP
•  SMS
•  Mobile Push
•  CloudWatch
•  Monitoring
•  Alerts
•  SQS
•  Background Tasks
•  Avatar Resizing
•  Score Processing
AWS Gaming Solutions | GDC 2014
Messages and Queues
ELB
EC2EC2EC2
Region
EC2EC2
•  Simple Notification Service
•  HTTP
•  SMS
•  Mobile Push
•  CloudWatch
•  Monitoring
•  Alerts
•  SQS
•  Background Tasks
•  Avatar Resizing
•  Score Processing
AWS Gaming Solutions | GDC 2014
Messages and Queues
ELB
EC2EC2EC2
Region
EC2EC2
•  Simple Notification Service
•  HTTP
•  SMS
•  Mobile Push
•  CloudWatch
•  Monitoring
•  Alerts
•  SQS
•  Background Tasks
•  Avatar Resizing
•  Score Processing
PUB
AWS Gaming Solutions | GDC 2014
Wrap It Up Already
•  Start Simple With Beanstalk
•  Go Directly to DynamoDB, Do Not Pass Go
•  CloudFront + S3 for Download and Upload
•  Add Multiplayer - Hybrid
•  Use the EC2 C3 Instance
•  SQS to Decouple and Scale
AWS Gaming Solutions | GDC 2014
Cheers – Nate Wiger @nateware

More Related Content

What's hot

UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPAndré Déo
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 Amazon Web Services Korea
 
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017Amazon Web Services Korea
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceXionglong Jin
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1Amazon Web Services Korea
 
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례Amazon Web Services Korea
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremSeungmo Koo
 
리텐션율 의미와 산출방법
리텐션율 의미와 산출방법리텐션율 의미와 산출방법
리텐션율 의미와 산출방법Chanman Jo
 
게임 디자이너와 게임 서버
게임 디자이너와 게임 서버게임 디자이너와 게임 서버
게임 디자이너와 게임 서버ByungChun2
 
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Amazon Web Services Korea
 
웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드Hyunjik Bae
 
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
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조Hyunjik Bae
 
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입choi sungwook
 
GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자TonyCms
 
게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018
게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018 게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018
게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018 Amazon Web Services Korea
 

What's hot (20)

UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SPUserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
 
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
 
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
 
리텐션율 의미와 산출방법
리텐션율 의미와 산출방법리텐션율 의미와 산출방법
리텐션율 의미와 산출방법
 
게임 디자이너와 게임 서버
게임 디자이너와 게임 서버게임 디자이너와 게임 서버
게임 디자이너와 게임 서버
 
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
 
웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드웹서버와 ProudNet 서버간 상호작용 가이드
웹서버와 ProudNet 서버간 상호작용 가이드
 
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
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
 
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
 
GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자GameInstance에 대해서 알아보자
GameInstance에 대해서 알아보자
 
게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018
게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018 게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018
게임을 위한 최적의 AWS DB 서비스 선정 퀘스트 깨기::최유정::AWS Summit Seoul 2018
 

Similar to Scalable Gaming with AWS - GDC 2014

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
 
AWS Game Analytics - GDC 2014
AWS Game Analytics - GDC 2014AWS Game Analytics - GDC 2014
AWS Game Analytics - GDC 2014Nate Wiger
 
Gaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinGaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinIan Massingham
 
Gaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinGaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinAmazon Web Services
 
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...Openbar
 
AWS Summit Seoul 2015 - 일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로
AWS Summit Seoul 2015 -  일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로AWS Summit Seoul 2015 -  일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로
AWS Summit Seoul 2015 - 일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로Amazon Web Services Korea
 
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKGDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKNate Wiger
 
[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 SecuritySeungmin Shin
 
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...AWSKRUG - AWS한국사용자모임
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with GrailsTanausu Cerdeña
 
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 AzureMarco Parenzan
 
AWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - SlidesAWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - SlidesTobyWilman
 
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLiftTwitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLiftAmazon Web Services
 
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...Tom Kerkhove
 
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
 

Similar to Scalable Gaming with AWS - GDC 2014 (20)

AWS Architecture - GDC 2014
AWS Architecture - GDC 2014AWS Architecture - GDC 2014
AWS Architecture - GDC 2014
 
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...
 
AWS Game Analytics - GDC 2014
AWS Game Analytics - GDC 2014AWS Game Analytics - GDC 2014
AWS Game Analytics - GDC 2014
 
Gaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinGaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit Dublin
 
Gaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit DublinGaming in the Cloud at Websummit Dublin
Gaming in the Cloud at Websummit Dublin
 
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
Openbar Kontich // Google Cloud: past, present and the (oh so sweet) future b...
 
AWS Summit Seoul 2015 - 일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로
AWS Summit Seoul 2015 -  일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로AWS Summit Seoul 2015 -  일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로
AWS Summit Seoul 2015 - 일본 AWS 게임 고객사례 - Gungho, Grani, Nintendo를 중심으로
 
re:Invent re:cap 2020
re:Invent re:cap 2020re:Invent re:cap 2020
re:Invent re:cap 2020
 
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKGDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
 
[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
 
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
AWS Cloud Development Kit (CDK)를 이용한 코드 기반 인프라 개발 및 배포 - 공찬호(리얼리티매직) :: AWS C...
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with Grails
 
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
 
AWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - SlidesAWS vs Azure vs Google (GCP) - Slides
AWS vs Azure vs Google (GCP) - Slides
 
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLiftTwitch-ready 3D-Games with Amazon Lumberyard and GameLift
Twitch-ready 3D-Games with Amazon Lumberyard and GameLift
 
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
 
KGC 2013 AWS Keynote
KGC 2013 AWS KeynoteKGC 2013 AWS Keynote
KGC 2013 AWS Keynote
 
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
 
AWS Lambda in C#
AWS Lambda in C#AWS Lambda in C#
AWS Lambda in C#
 
Serverless Culture
Serverless CultureServerless Culture
Serverless Culture
 

Recently uploaded

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Recently uploaded (20)

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Scalable Gaming with AWS - GDC 2014

  • 1. AWS Gaming Solutions | GDC 2014 Scalable Gaming with AWS Or, How to go from 1,000 to 1,000,000 users without starting over Nate Wiger @nateware | Principal Gaming Solutions Architect
  • 2. AWS Gaming Solutions | GDC 2014 What's In It For Me? •  Why AWS for Games? •  Core Game Backend •  Scaling Data with DynamoDB •  Low-Latency Multiplayer with C3 •  Mobile Push Notifications
  • 3. AWS Gaming Solutions | GDC 2014 Gratuitous Logo Slide
  • 4. AWS Gaming Solutions | GDC 2014 Traditional: Rigid AWS: Elastic Servers Demand Capacity Excess Capacity Wasted $$ Demand Unmet Demand Upset Players Missed Revenue Pay As You Scale
  • 5. AWS Gaming Solutions | GDC 2014 Pay As You Scale
  • 6. AWS Gaming Solutions | GDC 2014 10 Regions 51 CloudFront POPs Continuous Expansion Global Is Good
  • 7. AWS Gaming Solutions | GDC 2014
  • 8. AWS Gaming Solutions | GDC 2014 Game Backend Concepts •  Think in terms of API's •  Get friends, leaderboard •  HTTP+JSON •  Binary asset data •  Mobile push •  Multiplayer servers
  • 9. AWS Gaming Solutions | GDC 2014 Core Game Backend ELB S3 •  Choose Region •  Elastic Load Balancer •  Two Availability Zones •  EC2 for App •  RDS Database •  Multi-AZ •  S3 for Game Data •  Assets •  UGC •  Analytics Region
  • 10. AWS Gaming Solutions | GDC 2014 Scale It Way Out ELB S3 •  Auto Scaling Group •  Capacity on Demand •  Respond to Users EC2EC2EC2 Region
  • 11. AWS Gaming Solutions | GDC 2014 Scale It Way Out ELB S3 •  Auto Scaling Group •  Capacity on Demand •  Respond to Users •  ElastiCache •  Memcache •  Redis EC2EC2EC2 Region
  • 12. AWS Gaming Solutions | GDC 2014 Scale It Way Out CloudFront CDN ELB S3 EC2EC2EC2 Region •  Auto Scaling Group •  Capacity on Demand •  Respond to Users •  ElastiCache •  Memcache •  Redis •  CloudFront CDN •  DLC, Assets •  Game Saves •  UGC
  • 13. AWS Gaming Solutions | GDC 2014 Big picture slide
  • 14. AWS Gaming Solutions | GDC 2014 Elastic Beanstalk •  Managed Container •  Git Push or Zip Upload •  ELB, EC2, RDS •  Web Dashboard •  Same Performance •  So Yeah, Use It
  • 15. AWS Gaming Solutions | GDC 2014 Hill Of Beans ELB S3 •  Beanstalk Manages •  ELB •  EC2 •  Auto Scaling •  Monitoring •  RDS •  Add Other Services •  S3 •  CloudFront •  ElastiCache •  SNS EC2 Elastic Beanstalk Container EC2 CloudFront CDN
  • 16. AWS Gaming Solutions | GDC 2014
  • 17. AWS Gaming Solutions | GDC 2014 More CLI bell cd  MyGameAPI     eb  init   eb  start     vi  app.rb   require  'sinatra'   get  '/hello.json'  do      {message:  "Hello  World!"}   End     git  commit  –m  "app  updates"  app.rb   git  aws.push   •  Initialize everything •  Write code •  Commit to git •  Push to Beanstalk •  Coffee / Beer •  Repeat
  • 18. AWS Gaming Solutions | GDC 2014
  • 19. AWS Gaming Solutions | GDC 2014 Region Writing Is Painful Availability Zone A Availability Zone B S3 EC2 •  Games are Write Heavy •  Caching of Limited Use •  Key Value Key Value •  Binary Structures •  Database = Bottleneck ELB EC2 CloudFront CDN
  • 20. AWS Gaming Solutions | GDC 2014 Sharding (Not Fun) Availability Zone A C2
  • 21. AWS Gaming Solutions | GDC 2014 DynamoDB Availability Zone A Availability Zone B S3 •  NoSQL Data Store •  Fully-Managed •  Highly Available •  PUT/GET Keys •  Secondary Indexes •  Provisioned Throughput •  Auto Scaling EC2 EC2 ELB CloudFront CDN Elastic Beanstalk Container
  • 22. AWS Gaming Solutions | GDC 2014 Leaderboard in DynamoDB •  Hash key = Primary key •  Range key = Sub key •  Others attributes are unstructured, unindexed •  So… How to sort based on Top Score?
  • 23. AWS Gaming Solutions | GDC 2014 Leaderboard with Secondary Indexes •  Create a secondary index! •  Set hash key to Game Level •  Set range key to Top Score •  Can now query by Level, Sorted by Top Score •  Handles any (sane) gaming use case
  • 24. AWS Gaming Solutions | GDC 2014 Python Leaderboard table  =  Table('scores',  schema=[      HashKey('user'),      RangeKey('level')   ],   throughput={      'read':  5,  'write':  15   },  global_indexes=[      GlobalAllIndex('highscore',          parts=[              HashKey('level'),              RangeKey('score',  data_type=NUMBER)          ],          throughput={              'read':  5,  'write':  15          }      )   ])   new_score  =      Item(table,  data={          'user':    user,          'level':  level,          'score':  score        })   new_score.save()     topscores  =  table.query(index='highscore')     for  ts  in  topscores:      print(ts['user'],  ts['score'])    
  • 25. AWS Gaming Solutions | GDC 2014 Big picture slide
  • 26. AWS Gaming Solutions | GDC 2014 G2 Instance •  NVIDIA Kepler GPU •  Game Streaming •  Rendering Assets •  Build Servers •  AppStream!
  • 27. AWS Gaming Solutions | GDC 2014 C3 Instance •  High packets per second •  Very low latency, jitter •  Intel Ivy Bridge CPU •  SSD's •  Built for games •  15 cents / hour
  • 28. AWS Gaming Solutions | GDC 2014 Enhanced Networking (SR-IOV) Before: Hypervisor After: Hardware
  • 29. AWS Gaming Solutions | GDC 2014 Multiplayer Game Servers EC2EC2 EC2 Region •  Beanstalk App •  Core Session •  Matchmaking •  Public Server Tier •  Direct Client Socket •  Scale on Players •  CloudFront CDN •  DLC, Assets •  Game Saves •  UGC EC2
  • 30. AWS Gaming Solutions | GDC 2014 Multiplayer Game Servers ①  Login via Beanstalk ②  Request Matchmaking ③  Get Game Server IP EC2EC2 EC2 Region EC2
  • 31. AWS Gaming Solutions | GDC 2014 Multiplayer Game Servers ①  Login via Beanstalk ②  Request Matchmaking ③  Get Game Server IP ④  Connect to Server ⑤  Pull Down Assets ⑥  Other Players Join EC2EC2 EC2 Region EC2
  • 32. AWS Gaming Solutions | GDC 2014 Multiplayer Game Servers ①  Login via Beanstalk ②  Request Matchmaking ③  Get Game Server IP ④  Connect to Server ⑤  Pull Down Assets ⑥  Other Players Join ⑦  Game Ends ⑧  Update Stats EC2EC2 EC2 Region EC2
  • 33. AWS Gaming Solutions | GDC 2014 Multi-Region Game Servers E2 Region EC2 Region
  • 34. AWS Gaming Solutions | GDC 2014 Big picture slide
  • 35. AWS Gaming Solutions | GDC 2014 Messages and Queues ELB S3 •  Simple Notification Service •  HTTP •  SMS •  Mobile Push EC2EC2EC2 Region
  • 36. AWS Gaming Solutions | GDC 2014 Messages and Queues ELB •  Simple Notification Service •  HTTP •  SMS •  Mobile Push •  CloudWatch •  Monitoring •  Alerts EC2EC2EC2 Region EC2 PUB
  • 37. AWS Gaming Solutions | GDC 2014 Messages and Queues ELB EC2EC2EC2 Region EC2EC2 •  Simple Notification Service •  HTTP •  SMS •  Mobile Push •  CloudWatch •  Monitoring •  Alerts •  SQS •  Background Tasks •  Avatar Resizing •  Score Processing
  • 38. AWS Gaming Solutions | GDC 2014 Messages and Queues ELB EC2EC2EC2 Region EC2EC2 •  Simple Notification Service •  HTTP •  SMS •  Mobile Push •  CloudWatch •  Monitoring •  Alerts •  SQS •  Background Tasks •  Avatar Resizing •  Score Processing
  • 39. AWS Gaming Solutions | GDC 2014 Messages and Queues ELB EC2EC2EC2 Region EC2EC2 •  Simple Notification Service •  HTTP •  SMS •  Mobile Push •  CloudWatch •  Monitoring •  Alerts •  SQS •  Background Tasks •  Avatar Resizing •  Score Processing PUB
  • 40. AWS Gaming Solutions | GDC 2014 Wrap It Up Already •  Start Simple With Beanstalk •  Go Directly to DynamoDB, Do Not Pass Go •  CloudFront + S3 for Download and Upload •  Add Multiplayer - Hybrid •  Use the EC2 C3 Instance •  SQS to Decouple and Scale
  • 41. AWS Gaming Solutions | GDC 2014 Cheers – Nate Wiger @nateware