Transcript
Page 1: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

November 13, 2014 | Las Vegas, NV

Chris Gallinaro and Colin Shirley, Electronic Arts

Page 2: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 3: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 4: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 5: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

marketing activity content release

forced updateurl swap

Page 6: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 7: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 8: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

“I'd be mortified if someone ever made a lousy product with the

Simpson name on it.”

- Lisa Simpson

Page 9: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

“I can't promise I'll try, but I'll try to try.”

- Bart Simpson

Page 10: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

elastic load balancer

haproxy

Problem #1: Complex deployments

Problem #2: No auto-scaling

Problem #3: Expensive database

cluster

Page 11: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 12: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 13: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

elastic load balancer

haproxy

Page 14: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 15: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 16: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 17: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 18: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 19: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 20: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

Key concept: temporarily store

access code on both sides

Amazon

Page 21: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

Recall: previous access code

is stored on both sides

?

Amazon

Page 22: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 23: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 24: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

$$$$

Page 25: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

elastic load balancer

Page 26: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 27: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

MySQL DynamoDB

Game server

Page 28: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

MySQL DynamoDB

conditional put

Page 29: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

MySQL DynamoDB

Game server

Page 30: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 31: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 32: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 33: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

elastic load balancer

Page 34: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 35: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 36: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

manual increase

manual increase

Manual provisioning level

marketing activity

x3 availability zones

Page 37: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 38: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 39: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

Upload Artifact

Scale Up

URL Swap

Page 40: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 41: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 42: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 43: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 44: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014
Page 45: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

elastic load balancer

haproxy

Problem #1: Complex deployments

Easy deployments with Beanstalk

Problem #2: No auto-scaling

Auto-scaling on every component

Problem #3: Expensive database

cluster

Cost-effective DynamoDB

Page 46: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

• Game team has full control– One-man deployments

– One-man incident investigations

• AWS always improving

Page 47: (GAM302) EA's Real-World Hurdles with Millions of Players in the Simpsons: Tapped Out | AWS re:Invent 2014

http://bit.ly/awsevals

"Now for my favorite part of the show....What does that say? Talk to

the audience! Ugghhh, this is always death...”