YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DEPLOYING THE LEAGUE OF LEGENDS DATA PIPELINE WITH CHEF

ENGINEERING MANAGER| NOVEMBER 2013 TROTTER CASHION

Page 2: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

2009 LAUNCH

TEAM ORIENTED ONLINE PC

GAME

100+ CHAMPS

LIVE PLAYERS VS. LIVE PLAYERS

Page 3: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

Image  source:  herocomplex.la2mes.com/  

Page 4: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WE WORK WITH BIG DATA

SEMI-GLOBAL DEPLOYMENT 0 DOWNTIME

RUNS IN CLOUD (AWS) + DATACENTER

70+ BILLION TESTED @

EVENTS PER DAY

7+ BILLION EVENTS PER DAY 10+ TABLES

100MM TO 1B ROWS/DAY

100+ TABLES

7+ PETABYTE GAME EVENT DATASET

Page 5: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

AGENDA CHEF SERVER

CORE CONCEPTS

CHEF SOLO

OVERVIEW

GOLDEN IMAGES

Page 6: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

BASED ON REAL WORLD USAGE Big Data Team from April 2012 to June 2013

Also incorporates subsequent work with Player Accounts team

OVERVIEW

Page 7: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

OVERVIEW

WHAT DO WE WANT FROM AUTOMATED INFRASTRUCTURE?

Page 8: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

OVERVIEW

WHAT DO WE WANT TO BE ABLE TO DO FOR PLAYERS?

Page 9: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

TO PLAY LOL

‣  Minimize  Unplanned  Down2me  

‣  Rolling  Deploys  ‣  Expand  Capacity  

NEW FEATURES

‣  Low  Maintenance  ‣  Low  Barrier  for  New  Services  

WHAT PLAYERS WANT OVERVIEW

Page 10: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

OVERVIEW

CORE: ALWAYS UP, EASY TO DEPLOY

Page 11: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

AGENDA CHEF SERVER

CORE CONCEPTS

CHEF SOLO

OVERVIEW

GOLDEN IMAGES

Page 12: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

UNDERLYING COMPONENTS CORE CONCEPTS

Page 13: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

UNDERLYING COMPONENTS CORE CONCEPTS

ELB

Page 14: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

EC2

UNDERLYING COMPONENTS CORE CONCEPTS

ELB

Page 15: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

EC2

UNDERLYING COMPONENTS CORE CONCEPTS

VPC VPC

ELB

Page 16: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

EC2

UNDERLYING COMPONENTS CORE CONCEPTS

VPC VPC

ELB

VGW

Page 17: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

EC2

UNDERLYING COMPONENTS CORE CONCEPTS

VPC VPC

ELB

DC

VGW

VPN

Page 18: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

S3 DATA STORAGE

EC2

UNDERLYING COMPONENTS CORE CONCEPTS

VPC VPC

ELB

VGW

Page 19: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD CORE CONCEPTS

Page 20: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

Min. 2W & 3G

CORE CONCEPTS

Page 21: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

Min. 2W & 3G

CORE CONCEPTS

Page 22: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W

Min. 2W & 3G

CORE CONCEPTS

Page 23: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W

Min. 2W & 3G

CORE CONCEPTS

Page 24: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W

G

Min. 2W & 3G

CORE CONCEPTS

Page 25: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W

G G

Min. 2W & 3G

CORE CONCEPTS

Page 26: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W

G G G

Min. 2W & 3G

CORE CONCEPTS

Page 27: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W

G G G

Min. 2W & 3G

85%

CORE CONCEPTS

Page 28: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W

G G G

Min. 2W & 3G

85%

CORE CONCEPTS

Page 29: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W W

G G G

Min. 2W & 3G

85%

CORE CONCEPTS

Page 30: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W W

G G G

MANUAL

manual scaling no Chef required

Min. 2W & 3G

85%

CORE CONCEPTS

Page 31: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W W

G G G

MANUAL

manual scaling no Chef required

AUTOSCALING CLOUD

Min. 2W & 3G

85%

CORE CONCEPTS

Page 32: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W W

G G G

MANUAL

manual scaling no Chef required

AUTOSCALING CLOUD

Min. 2W & 3G

85%

CORE CONCEPTS

Page 33: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W W

G G G

MANUAL

manual scaling no Chef required

AUTOSCALING CLOUD

G

Min. 2W & 3G

85%

CORE CONCEPTS

W W W W

G G G G

Page 34: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W W

G G G

MANUAL

manual scaling no Chef required

AUTOSCALING CLOUD

W W

G G G

W

G G

Min. 2W & 3G

85%

CORE CONCEPTS

W

Page 35: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

DATA CENTER VS. CLOUD

DATA CENTER MODEL

W W W

G G G

MANUAL

manual scaling no Chef required

AUTOSCALING CLOUD

W W W

G G G G

AUTO

automatic scaling automated provisioning needed

Min. 2W & 3G

85%

CORE CONCEPTS

W

G

Page 36: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

userdata.sh

AMI

START

OPERATING SYSTEM

CORE CONCEPTS

Page 37: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

userdata.sh

AMI

START

OPERATING SYSTEM

GOAL

Publish Hello World

•  Instantly

•  Automatically

CORE CONCEPTS

Page 38: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

userdata.sh

AMI

START

OPERATING SYSTEM

GOAL

Publish Hello World

•  Instantly

•  Automatically

1st BOOT

CORE CONCEPTS

Page 39: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

userdata.sh

AMI

START

OPERATING SYSTEM

GOAL

Publish Hello World

•  Instantly

•  Automatically

Userdata.sh 1st BOOT

CORE CONCEPTS

Page 40: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

userdata.sh

GOAL

Publish Hello World

•  Instantly

•  Automatically

AMI

START

OPERATING SYSTEM

#!/bin/bash

yum install apache

wget http://hw/hello_world.html…

Userdata.sh 1st BOOT

CORE CONCEPTS

Page 41: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

AMI

START

userdata.sh

OPERATING SYSTEM

yum install apache

wget s3://hw/hello_world.html… RE

PLAC

ED W

/

GOAL

Publish Hello World

•  Instantly

•  Automatically

#!/bin/bash

yum install apache

wget s3://hw/hello_world.html…

Userdata.sh 1st BOOT

wget http://hw/first-boot.json

chef-client

CORE CONCEPTS

Page 42: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

CORE CONCEPTS

Page 43: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 44: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W1 W1 W1

W1 W1

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

MUTABLE SERVER:

CHANGE EACH BOX TO NEW VERSION

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 45: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W2 W1 W1

W1 W1

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

MUTABLE SERVER:

CHANGE EACH BOX TO NEW VERSION

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 46: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W2 W2 W1

W1 W1

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

MUTABLE SERVER:

CHANGE EACH BOX TO NEW VERSION

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 47: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W2 W2 W2

W1 W1

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

MUTABLE SERVER:

CHANGE EACH BOX TO NEW VERSION

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 48: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W2 W2 W2

W2 W1

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

MUTABLE SERVER:

CHANGE EACH BOX TO NEW VERSION

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 49: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W2 W2 W2

W2 W2

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

MUTABLE SERVER:

CHANGE EACH BOX TO NEW VERSION

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 50: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

W1 W1 W1

W1 W1

IMMUTABLE SERVER:

FLIP ON BOXES WITH NEW VERSION, SHUT OFF EXISTING BOXES

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 51: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W2 W2 W2

W2 W2

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

IMMUTABLE SERVER:

FLIP ON BOXES WITH NEW VERSION, SHUT OFF EXISTING BOXES

W1 W1 W1

W1 W1

CORE CONCEPTS

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

Page 52: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS

W2 W2 W2

W2 W2

LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU PREVENT UNEXPECTED CHANGES TO SERVERS

IMMUTABLE SERVER:

FLIP ON BOXES WITH NEW VERSION, SHUT OFF EXISTING BOXES

W1 W1 W1

W1 W1

CORE CONCEPTS

Page 53: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

IMMUTABLE SERVERS LIMITED TO 2 ACTIONS: 1)  Start & provision server 2)  Kill it

WITH IMMUTABLE SERVERS, YOU CAN’T SSH INTO BOX & CHANGE THINGS

BENEFITS:

No snowflakes

Easy rollbacks

Cleaner deploys

CORE CONCEPTS

Page 54: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

AGENDA CHEF SERVER

CORE CONCEPTS

CHEF SOLO

OVERVIEW

GOLDEN IMAGES

Page 55: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

CHEF SOLO WHAT’S REQUIRED

•  All cookbooks in one tarball •  Somewhere to put the tarball •  Tell instances how to provision with the tarball

Page 56: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

CHEF SOLO WHAT’S REQUIRED

•  All cookbooks in one tarball •  Somewhere to put the tarball •  Tell instances how to provision with the tarball

PACKAGING

•  Use Berkshelf •  `berkshelf package COOKBOOK_NAME` •  `tar czvf cookbooks-VERSION.tgz ./cookbooks`

Page 57: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

CHEF SOLO WHAT’S REQUIRED

•  All cookbooks in one tarball •  Somewhere to put the tarball •  Tell instances how to provision with the tarball

PACKAGING

•  Use Berkshelf •  `berkshelf package COOKBOOK_NAME` •  `tar czvf cookbooks-VERSION.tgz ./cookbooks`

STORAGE OPTIONS

•  S3 •  `s3cmd` makes it easy to upload to S3

•  Internal asset server

Page 58: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

CHEF SOLO WHAT’S REQUIRED

•  All cookbooks in one tarball •  Somewhere to put the tarball •  Tell instances how to provision with the tarball

PACKAGING

•  Use Berkshelf •  `berkshelf package COOKBOOK_NAME` •  `tar czvf cookbooks-VERSION.tgz ./cookbooks`

STORAGE OPTIONS

•  S3 •  `s3cmd` makes it easy to upload to S3

•  Internal asset server

PROVISIONING

•  userdata.sh •  Get cookbooks off s3 and untar to /var/chef/

cookbooks •  Get first-boot.json off s3 -> /etc/chef/first-

boot.json •  Get solo.rb off s3 -> /etc/chef/solo.rb •  Run `chef-solo`

Page 59: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

CHEF SOLO

WHERE IT WORKS

•  Good when your Chef run is fast •  Easy to set up •  No single point of failure

CHEF SOLO: PROs VS CONs

WHERE IT FAILS

•  When Chef runs occasionally fail •  Configuration changes •  Service discovery

Page 60: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

TO PLAY LOL

ü  Minimize  Unplanned  Down2me  

ü  Rolling  Deploys  ü  Expand  Capacity  

NEW FEATURES

q  Low  Maintenance  q  Low  Barrier  for  New  Services  

WHAT PLAYERS WANT CHEF SOLO

Page 61: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

RECOMMENDATION:

CHEF SOLO

•  Use chef-solo approach to get started

•  Stop when you have multiple applications

Page 62: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

AGENDA CHEF SERVER

CORE CONCEPTS

CHEF SOLO

OVERVIEW

AMIs

Page 63: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WHAT’S REQUIRED

•  Chef Server •  Cookbooks uploaded to Chef Server •  Tell instances how to provision with Chef Server

CHEF SERVER

Page 64: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WHAT’S REQUIRED

•  Chef Server •  Cookbooks uploaded to Chef Server •  Tell instances how to provision with Chef Server

RUNNING CHEF SERVER

•  Run  your own •  Hosted Chef

CHEF SERVER

Page 65: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WHAT’S REQUIRED

•  Chef Server •  Cookbooks uploaded to Chef Server •  Tell instances how to provision with Chef Server

GETTING COOKBOOKS TO CHEF SERVER

•  Use berkshelf •  `berks upload COOKBOOK_NAME`

RUNNING CHEF SERVER

•  Run your own •  Hosted Chef

CHEF SERVER

Page 66: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

PROVISIONING

•  userdata.sh •  Fetch validation.pem •  Fetch first-boot.json •  Fetch client.rb •  Run `chef-client …`

GETTING COOKBOOKS TO CHEF SERVER

•  Use berkshelf •  `berks upload COOKBOOK_NAME`

WHAT’S REQUIRED

•  Chef Server •  Cookbooks uploaded to Chef Server •  Tell instances how to provision with Chef Server

RUNNING CHEF SERVER

•  Run your own •  Hosted Chef

CHEF SERVER

Page 67: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WHERE IT WORKS

•  Updating feature flag configuration •  Warning: Can affect rolling

deploys!

CHEF SERVER: PROs VS CONs

WHERE IT FAILS

•  Single point of failure in Chef Server •  Long Chef runs cause problems •  Can cause problems in large

organizations where multiple teams depend on the same cookbook

CHEF SERVER

Page 68: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

TO PLAY LOL

q  Minimize  Unplanned  Down2me  

q  Rolling  Deploys  q  Expand  Capacity  

NEW FEATURES

ü  Low  Maintenance  q  Low  Barrier  for  New  Services  

WHAT PLAYERS WANT CHEF SERVER

Page 69: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

CHEF SERVER

RECOMMENDATION:

•  Use chef-server when managing feature flags

•  Not bad when you have multiple applications to deploy

•  Pro tips:

•  Use a shutdown script to remove instances from the chef server

•  Only use chef in daemon mode if you’re certain only feature flags will change

Page 70: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

AGENDA CHEF SERVER

CORE CONCEPTS

CHEF SOLO

OVERVIEW

GOLDEN IMAGES

Page 71: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

GOLDEN IMAGES

WHAT’S REQUIRED

•  Means to create Golden Image •  Configuration management

Page 72: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WHAT’S REQUIRED

•  Means to create Golden Image •  Configuration management

Creating Image

•  We use Chef-Solo •  Build an RPM •  Cookbook installs RPMs

GOLDEN IMAGES

Page 73: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WHAT’S REQUIRED

•  Means to create Golden Image •  Configuration management

GOLDEN IMAGES

Configuration Management

•  Archaius (on disk config) •  Chef

Creating Image

•  We use Chef-Solo •  Build an RPM •  Cookbook installs RPMS

Page 74: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

WHERE IT WORKS

•  Rollbacks are perfect and instances always boot

•  Boot times are very fast

CHEF SOLO: PROs VS CONs

WHERE IT FAILS

•  Need another method for configuration management

•  Need another method for service discovery

•  Releasing patches requires entire new build

GOLDEN IMAGES

GOLDEN IMAGES

Page 75: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

TO PLAY LOL

ü  Minimize  Unplanned  Down2me  

ü  Rolling  Deploys  ü  Expand  Capacity  

NEW FEATURES

ü  Low  Maintenance  q  Low  Barrier  for  New  Services  

WHAT PLAYERS WANT GOLDEN IMAGES

Page 76: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

RECOMMENDATION:

•  Use when auto scaling is a must

•  Requires an up-front effort to get going

•  Make sure you can afford it

•  Pro tip:

•  Use the Netflix stack: Asgard, Aminator, and Archaius

GOLDEN IMAGES

Page 77: Deploying the 'League of Legends' Data Pipeline with Chef (ARC205) | AWS re:Invent 2013

c  THANK YOU! QUESTIONS? ENGINEERING MANAGER| NOVEMBER 2013 TROTTER CASHION


Related Documents