157

(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

Embed Size (px)

DESCRIPTION

Riot Games is a high-paced dynamic environment with many groups striving to release new content, features, and tools. Riot runs League of Legends, one of the biggest online multiplayer games, and uses AWS to host many complex sites that service millions of players everyday. In this session, Riot Games talks about the evolution of their management practice on AWS over the past two years, some lessons learned the hard way, and where they hope to be in the future. Key topics include: SSO (Single-Sign On) integration with IAM roles High-level AWS architecture (How to make it easy on your organization) VPC design, centralization, and simplification DevOps tooling and automation How and why we use Auto Scaling

Citation preview

Page 1: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 2: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

How We

re:Invented our AWS ModelJonathan McCaffrey : Software Architect

Marty Chong : Sr. Network Engineer

GAM 304

Page 3: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

MARTY CHONGSR. NETWORK ENGINEER

IAAS TEAM

MARTY.CHONG @RIOTGAMES.COM

[email protected]

JONATHAN McCAFFREYSOFTWARE ARCHITECT

MEET YOUR PRESENTERS

Page 4: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

WHO IS RIOT?

Page 5: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 6: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

RIOT GAMES

Developer & publisher of League of Legends

Hosts some of the largest eSports events

Page 7: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

What is League of Legends?

2009LAUNCH

TEAMORIENTED

100+CHAMPS

MODERNFANTASY

Page 8: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAMEPLAY SCREESHOT #2

Page 9: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 10: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

Where in the World is.....

Page 11: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

League of Legends World Championship 2014

Page 12: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LEAGUE OF LEGENDS STATS

7.5MILLIONPEAK CONCURRENT

PLAYERS

STATS RELEASED JANUARY 2014

67MILLIONMONTHLY ACTIVE

PLAYERS

MORE THAN

27MILLIONDAILY ACTIVE

PLAYERS

MORE THAN MORE THAN

Page 13: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ADAPT CONCLUSIONOUR

STORYMOVESTART

INTRODUCTION

Page 14: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

What is LeagueOfLegends.com?

Page 15: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 16: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 17: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 18: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 19: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 20: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

League of Legends is a Global Product

Page 21: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 22: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 23: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

Goals for the site technology

Page 24: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY

Page 25: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY

Page 26: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

AGILITYSECURITY QUALITY

Page 27: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

Lets look at how we applied these initially…

Page 28: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYMOVE

STARTIN THE DATACENTER

STRUGGLE TO DELIVER

Page 29: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAME SERVICES

ROUTER

DDoS MITIGATION

FIREWALL

LOAD BALANCER

EDGE

NA CMS

NA FORUMS

MySQLSERVER

FRONTEND SERVER

MySQLSERVER

FRONTEND SERVER

Page 30: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAME SERVICES

ROUTER

DDoS MITIGATION

FIREWALL

LOAD BALANCER

EDGE

NA CMS

NA FORUMS

MySQLSERVER

FRONTEND SERVER

MySQLSERVER

FRONTEND SERVER

Page 31: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAME SERVICES

ROUTER

DDoS MITIGATION

FIREWALL

LOAD BALANCER

EDGE

NA CMS

NA FORUMS

MySQLSERVER

FRONTEND SERVER

MySQLSERVER

FRONTEND SERVER

Page 32: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAME SERVICES

ROUTER

DDoS MITIGATION

FIREWALL

LOAD BALANCER

EDGE

NA CMS

NA FORUMS

MySQLSERVER

FRONTEND SERVER

MySQLSERVER

FRONTEND SERVER

Page 33: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYMOVE

STARTIN THE DATACENTER

STRUGGLE TO DELIVER

MONOLITHIC APPPHYSICAL SERVERSNETWORK SECURITYREVISIT GOALS

Page 34: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYMOVE

STARTIN THE DATACENTER

STRUGGLE TO DELIVER

MONOLITHIC APPPHYSICAL SERVERSNETWORK SECURITYREVISIT GOALS

Page 35: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAME SERVICES

ROUTER

DDoS MITIGATION

FIREWALL

LOAD BALANCER

EDGE

NA CMS

NA FORUMS

MySQLSERVER

FRONTEND SERVER

MySQLSERVER

FRONTEND SERVER

Page 36: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

CMS

Frontpage

News

Media Gallery

Comments

Account Management

Refer-a-friend

Page 37: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

CMS

Frontpage

News

Media Gallery

Comments

Account Management

Refer-a-friend

Page 38: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

CMS

Frontpage

News

Media Gallery

Comments

Account Management

Refer-a-friend

Page 39: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYMOVE

STARTIN THE DATACENTER

STRUGGLE TO DELIVER

MONOLITHIC APPPHYSICAL SERVERSNETWORK SECURITYREVISIT GOALS

Page 40: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAME SERVICES

ROUTER

DDoS MITIGATION

FIREWALL

LOAD BALANCER

EDGE

NA CMS

NA FORUMS

MySQLSERVER

FRONTEND SERVER

MySQLSERVER

FRONTEND SERVER

Page 41: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

?

Page 42: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

?

IN THE CMS

Bolt-On New Apps

Page 43: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

?

NEW APP

Page 44: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

?

IN THE CMS

Page 45: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

?

IN THE CMS

NEW APP

Page 46: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYMOVE

STARTIN THE DATACENTER

STRUGGLE TO DELIVER

MONOLITHIC APPPHYSICAL SERVERSNETWORK SECURITYREVISIT GOALS

Page 47: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GAME SERVICES

ROUTER

DDoS MITIGATION

FIREWALL

LOAD BALANCER

EDGE

NA CMS

NA FORUMS

MySQLSERVER

FRONTEND SERVER

MySQLSERVER

FRONTEND SERVER

Page 48: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

DDoS Mitigation

Page 49: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

DDoS Mitigation Firewall

Page 50: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

DDoS Mitigation Firewall Strict Monitoring

Page 51: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYMOVE

STARTIN THE DATACENTER

STRUGGLE TO DELIVER

MONOLITHIC APPPHYSICAL SERVERSNETWORK SECURITYREVISIT GOALS

Page 52: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Data Center had a lot of security features No CDN

Page 53: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Separate stacks for CMS and Forums CMS did a lot of things Adding a new stack was very hard

Page 54: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Static physical server topology

Page 55: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYSTART

MOVETO AWS

STRUGGLE TO SCALE

Page 56: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICERDS

FRONTEND SERVER

RDSFRONTEND

SERVER

VPCCONNECTIONS

ELBELB

CDNELB

COMMUNITY CMS

TOURNAMENT CMSPLAYERS

Page 57: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELBELB

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICERDS

FRONTEND SERVER

RDSFRONTEND

SERVER

VPCCONNECTIONS CDNELB

COMMUNITY CMS

TOURNAMENT CMSPLAYERS

Page 58: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELBELB

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICECDNRDS

FRONTEND SERVERVPC

CONNECTIONS ELB

RDSFRONTEND

SERVER

COMMUNITY CMS

TOURNAMENT CMSPLAYERS

Page 59: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICECDNRDS

FRONTEND SERVERVPC

CONNECTIONS ELB

RDSFRONTEND

SERVER ELBELB

COMMUNITY CMS

TOURNAMENT CMSPLAYERS

Page 60: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICERDS

FRONTEND SERVERVPC

CONNECTIONS CDNELB

RDSFRONTEND

SERVER ELBELB

COMMUNITY CMS

TOURNAMENT CMSPLAYERS

Page 61: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICERDS

FRONTEND SERVER

RDSFRONTEND

SERVER

VPCCONNECTIONS

DEV TEAMS

ELBELB

CDNELB

COMMUNITY CMS

TOURNAMENT CMSPLAYERS

Page 62: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYSTART

MOVETO AWS

STRUGGLE TO SCALE

STARTING WITH VPCMICRO-SERVICESAUTOMATIONREVISIT GOALS

Page 63: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYSTART

MOVETO AWS

STRUGGLE TO SCALE

STARTING WITH VPCMICRO-SERVICESAUTOMATIONREVISIT GOALS

Page 64: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICECDNRDS

FRONTEND SERVERVPC

CONNECTIONS

ELBELB

ELB

RDSFRONTEND

SERVER

COMMUNITY CMS

TOURNAMENT CMSPLAYERS

Page 65: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC

VPC

VPC

Page 66: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC

VPC

VPC 1# of VPNs

Page 67: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC

VPC

VPC 2# of VPNs

Page 68: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC

VPC

VPC 10# of VPNs

Page 69: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC

VPC

VPC 20# of VPNs

Page 70: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC

VPC

VPC 40# of VPNs

Page 71: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

!!# of VPNs

VPC

VPC

VPC

Page 72: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

!!# of VPNs

VPC

VPC

VPC

Page 73: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYSTART

MOVETO AWS

STRUGGLE TO SCALE

STARTING WITH VPCMICRO-SERVICESAUTOMATIONREVISIT GOALS

Page 74: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 75: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 76: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LoLGAME

SERVICE

LoLGAME

SERVICE

RIOT DC 1

LoLGAME

SERVICERDS

FRONTEND SERVERVPC

CONNECTIONS CDNELB

RDSFRONTEND

SERVER ELBELB

COMMUNITY CMS

TOURNAMENT CMS

Page 77: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

COMMENTS SERVICE (JAVA)

Page 78: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

NEWS ARTICLE PAGE

COMMENTS UI (JAVASCRIPT)

COMMENTS SERVICE (JAVA)

Page 79: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 80: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

NEWS ARTICLE PAGE

COMMENTS UI (JAVASCRIPT)

COMMENTS SERVICE (JAVA)

CMS (PHP)

Page 81: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYSTART

MOVETO AWS

STRUGGLE TO SCALE

STARTING WITH VPCMICRO-SERVICESAUTOMATIONREVISIT GOALS

Page 82: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

EC2

Page 83: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

EC2 INSTANCE

Page 84: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

EC2 INSTANCECHEF

Page 85: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

EC2 INSTANCECHEF

Page 86: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

No AMIs

Page 87: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

No AMIs Fragile

Page 88: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

No AMIs Fragile Complex

Page 89: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPT CONCLUSIONOUR

STORYSTART

MOVETO AWS

STRUGGLE TO SCALE

STARTING WITH VPCMICRO-SERVICESAUTOMATIONREVISIT GOALS

Page 90: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Implemented VPCs with VPNs Struggled to scale them

Page 91: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Take advantage of our CDN Separate services We still had a lot of stuff in the CMS

Page 92: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Automated deploys Automation was fragile

Page 93: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION CONCLUSIONOUR

STORYMOVESTART

ADAPTTO CHANGES

TACKLE GROWTH

Page 94: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION CONCLUSIONOUR

STORYMOVESTART

ADAPTTO CHANGES

TACKLE GROWTH

SCALING VPCAWS WORKING GROUPGOLDEN IMAGE DEPLOYSSTATIC SITE HOSTINGREVIST GOALS

Page 95: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

WITH ALL GROWTH COMES

Page 96: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

What brought us agility also brought us the Wild West of Cloud Computing

Page 97: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION CONCLUSIONOUR

STORYMOVESTART

ADAPTTO CHANGES

TACKLE GROWTH

SCALING VPCAWS WORKING GROUPGOLDEN IMAGE DEPLOYSSTATIC SITE HOSTINGREVIST GOALS

Page 98: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

PAIN POINTS

INFRASTRUCTURE

PAINORGINIZATIONAL

PAIN

Page 99: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

PAIN POINTS

INFRASTRUCTURE

PAIN

Page 100: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC REGION 1

VPC REGION 2

AWS

Page 101: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC REGION 1

VPC REGION 2

AWSRIOT DC 1

RIOT DC 2

RIOT DC 3

Page 102: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC REGION 1

VPC REGION 2

AWS

CDN

RIOT DC 1

RIOT DC 2

RIOT DC 3

Page 103: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

!!# of VPNs

VPC

VPC

VPC

Page 104: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPCCONSOLIDATE

Page 105: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC REGION 1

VPC REGION 2

EXTEND

VPN

VPN

MULTI-POINT VPNAMI

AMI

Page 106: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC REGION 1

VPC REGION 2

MULTI-POINT VPN

DIRECT CONNECT

AWS DIRECT CONNECT

Page 107: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 108: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SHARED MODEL

VPC

PUBLIC

SHARED TOOLS

APPLICATIONS

Page 109: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

MANY TEAMS – ONE VPC

VPC

PUBLIC

SHARED TOOLS

TEAM 1

TEAM 2

TEAM 3

Page 110: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

VPC PER TEAM

VPC WEB VPC BIG DATA VPC IT

PUBLIC

SHARED TOOLS

APP 1

APP 2

APP 3

PUBLIC

SHARED TOOLS

APP 1

APP 2

APP 3

PUBLIC

SHARED TOOLS

APP 1

APP 2

APP 3

Page 111: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

COMMODITY-BASED VPC

VPC 1 VPC 2 VPC AS NEEDED

PUBLIC

SHARED TOOLS

APP 1

APP 2

APP 3

PUBLIC

SHARED TOOLS

APP 1

APP 2

APP 3

PUBLIC

SHARED TOOLS

APP 1

APP 2

APP 3

Page 112: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION CONCLUSIONOUR

STORYMOVESTART

ADAPTTO CHANGES

TACKLE GROWTH

SCALING VPCAWS WORKING GROUPGOLDEN IMAGE DEPLOYSSTATIC SITE HOSTINGREVIST GOALS

Page 113: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

PAIN POINTS

ORGINIZATIONAL

PAIN

Page 114: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 115: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 116: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 117: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

OK!

Page 118: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION CONCLUSIONOUR

STORYMOVESTART

ADAPTTO CHANGES

TACKLE GROWTH

SCALING VPCAWS WORKING GROUPGOLDEN IMAGE DEPLOYSSTATIC SITE HOSTINGREVIST GOALS

Page 119: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

GIT

Page 120: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINSGIT

Page 121: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINS PACKERGIT

Page 122: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINS EC2PACKERGIT

UPLOAD RUN SNAPSHOT

Page 123: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINS EC2PACKERGIT

UPLOAD RUN SNAPSHOT

Page 124: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINS EC2PACKERGIT

UPLOAD RUN SNAPSHOT

Page 125: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINS EC2PACKERGIT

AMI v1.0

Page 126: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINS EC2PACKERGIT

AMI v1.0

AMI v1.1

Page 127: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

JENKINS EC2PACKERGIT

AMI v1.0

AMI v1.1

AMI v1.2

Page 128: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V1 ASG EC2 EC2

Page 129: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V1 ASG EC2 EC2

V2 ASG EC2 EC2

Page 130: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V1 ASG EC2 EC2

V2 ASG EC2 EC2

Page 131: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V2 ASG EC2 EC2

Page 132: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V1 ASG EC2 EC2

V2 ASG EC2 EC2

Page 133: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V1 ASG EC2 EC2

Page 134: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V2 ASG EC2 EC2

Page 135: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V1 ASG EC2 EC2

V2 ASG EC2 EC2

Page 136: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

ELB

V1 ASG EC2 EC2

Page 137: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
Page 138: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

PACKMULE!

Page 139: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION CONCLUSIONOUR

STORYMOVESTART

ADAPTTO CHANGES

TACKLE GROWTH

SCALING VPCAWS WORKING GROUPGOLDEN IMAGE DEPLOYSSTATIC SITE HOSTINGREVIST GOALS

Page 140: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

Markdown File

Page 141: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

Markdown File Git Repo Jenkins

Spark

Page 142: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

HTML Static Site

JSJS

JS

CSSCSS

MarkdownMarkdown

JSON

Spark

Page 143: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

STAGE BUCKET

AMAZON S3

Page 144: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

STAGE BUCKET

PROD BUCKET

AMAZON S3

CDN

Page 145: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

But its not perfect…

Page 146: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION CONCLUSIONOUR

STORYMOVESTART

ADAPTTO CHANGES

TACKLE GROWTH

SCALING VPCAWS WORKING GROUPGOLDEN IMAGE DEPLOYSSTATIC SITE HOSTINGREVIST GOALS

Page 147: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

CDN for everything Continuing our VPC design

Page 148: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Static sites Full-page caching Auto-scaling Balance the AWS regions we are in

Page 149: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

SECURITY QUALITY AGILITYREVISITGOALS

Fully automated deploys Small easy to deploy services Need to improve local and dev workflows

Page 150: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

INTRODUCTION ADAPTOUR

STORYMOVESTART

CONCLUSION

Page 151: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

COMMUNICATE WITHIN YOUR ORGANIZATION

Page 152: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

DOCUMENT

<CODE>

Page 153: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

STAY TIGHT WITH YOUR AMAZON ACCOUNT TEAM

Page 154: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

LEARN FROM OUR MISTAKESLEARN FROM OTHERS

Page 155: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

PLEASE COME AND VISIT OUR BOOTH IN THE EXPO HALL!

THANKS!

Page 156: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

QUESTIONS?!MARTY CHONG

SR. NETWORK ENGINEERIAAS TEAM

MARTY.CHONG @RIOTGAMES.COM

[email protected]

JONATHAN McCAFFREYSOFTWARE ARCHITECT

Page 157: (GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014

Please give us your feedback on this session.

Complete session evaluations and earn re:Invent swag.

http://bit.ly/awsevals