angrybirds - overview for a high performance shop

126
Challenges for a high performance Shop Angrybirds in the Cloud September 12 | E-HandelsSnack | Stockholm Donnerstag, 19. September 13

Upload: aoe

Post on 11-May-2015

569 views

Category:

Technology


3 download

DESCRIPTION

Overview of Challanges and Solutions of a high performance shop (at the example of Angrybirds) - E-HandelsSnack in Stockholm 2013

TRANSCRIPT

Page 1: Angrybirds - Overview for a High Performance Shop

Challenges for a high performance Shop

Angrybirds in the Cloud

September 12 | E-HandelsSnack | Stockholm

Donnerstag, 19. September 13

Page 2: Angrybirds - Overview for a High Performance Shop

@aoepeople

@

danpoetz

DanielPötzinger

Donnerstag, 19. September 13

Page 3: Angrybirds - Overview for a High Performance Shop

@aoepeople

�����)

@

danpoetz

DanielPötzinger

Donnerstag, 19. September 13

Page 4: Angrybirds - Overview for a High Performance Shop

���$""�'�� !$��!����

� !������

�#)�'%' (�����'��

Donnerstag, 19. September 13

Page 5: Angrybirds - Overview for a High Performance Shop

2.5 billion internet users

Donnerstag, 19. September 13

Page 6: Angrybirds - Overview for a High Performance Shop

360 495677 785 914 1022 1150

13641560

1764

2013

2265

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011

2.5 billion internet users

Donnerstag, 19. September 13

Page 7: Angrybirds - Overview for a High Performance Shop

360 495677 785 914 1022 1150

13641560

1764

2013

2265

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011

2.5 billion internet users

�$� �!���� �� "%��) "$� !���#)�'#�)

Donnerstag, 19. September 13

Page 8: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 9: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 10: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 11: Angrybirds - Overview for a High Performance Shop

152,2 Million €

68,5 Million € Consumer Products

Donnerstag, 19. September 13

Page 12: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 13: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 14: Angrybirds - Overview for a High Performance Shop

> 24.000.000 likes > 500.000 followers

Social MediaImpact

Donnerstag, 19. September 13

Page 15: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 16: Angrybirds - Overview for a High Performance Shop

Irregular Traffic Behaviour

Donnerstag, 19. September 13

Page 17: Angrybirds - Overview for a High Performance Shop

Angrybirds frequent Releases

Donnerstag, 19. September 13

Page 18: Angrybirds - Overview for a High Performance Shop

Angrybirds frequent Releases

2012 2013

Donnerstag, 19. September 13

Page 19: Angrybirds - Overview for a High Performance Shop

Angrybirds frequent Releases

2012 2013

Donnerstag, 19. September 13

Page 20: Angrybirds - Overview for a High Performance Shop

Angrybirds frequent Releases

2012 2013

Giftca

rds

Geo IPAsy

nc R

epor

ts

Sear

ch

Targ

eting

Prod

ucts

Donnerstag, 19. September 13

Page 21: Angrybirds - Overview for a High Performance Shop

The DevOps Conflict

Donnerstag, 19. September 13

Page 22: Angrybirds - Overview for a High Performance Shop

The DevOps Conflict

Frequent development and releasing of new

features

Donnerstag, 19. September 13

Page 23: Angrybirds - Overview for a High Performance Shop

The DevOps Conflict

Frequent development and releasing of new

features

Scalable and stable Operation

Donnerstag, 19. September 13

Page 24: Angrybirds - Overview for a High Performance Shop

Biggest Problems

Donnerstag, 19. September 13

Page 25: Angrybirds - Overview for a High Performance Shop

Biggest Problems

Donnerstag, 19. September 13

Page 26: Angrybirds - Overview for a High Performance Shop

Biggest ProblemsChallenges

Donnerstag, 19. September 13

Page 27: Angrybirds - Overview for a High Performance Shop

Biggest ProblemsChallenges

1. Handling the tremendous peaks

Donnerstag, 19. September 13

Page 28: Angrybirds - Overview for a High Performance Shop

Biggest ProblemsChallenges

1. Handling the tremendous peaks

2. Quick Handling and deploymentof Changes and new Features

Donnerstag, 19. September 13

Page 29: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 30: Angrybirds - Overview for a High Performance Shop

Handling the peaks...

Donnerstag, 19. September 13

Page 31: Angrybirds - Overview for a High Performance Shop

How to deal with peaks

Donnerstag, 19. September 13

Page 35: Angrybirds - Overview for a High Performance Shop

✓ quick scale on demand✓ pay only for what you use

Donnerstag, 19. September 13

Page 36: Angrybirds - Overview for a High Performance Shop

How to deal with peaks

Donnerstag, 19. September 13

Page 37: Angrybirds - Overview for a High Performance Shop

*)$(��! #�

How to deal with peaks

Donnerstag, 19. September 13

Page 38: Angrybirds - Overview for a High Performance Shop

��'�� $#(�, )�������+� !�� ! ).�/$#�(

�!$)�$��„�����(�'+�'(0��$'��$#)�#)���! +�'.

Global Cloud Infrastructure

Donnerstag, 19. September 13

Page 39: Angrybirds - Overview for a High Performance Shop

Think cleanly about your operation infrastructureDonnerstag, 19. September 13

Page 40: Angrybirds - Overview for a High Performance Shop

Setting up a new environment should always be faster

than fixing an existing oneDonnerstag, 19. September 13

Page 41: Angrybirds - Overview for a High Performance Shop

What you should do

Donnerstag, 19. September 13

Page 42: Angrybirds - Overview for a High Performance Shop

What you should do

Automate the setup of new servers

Donnerstag, 19. September 13

Page 43: Angrybirds - Overview for a High Performance Shop

What you should do

Automate the setup of new servers

Automate failover

Donnerstag, 19. September 13

Page 44: Angrybirds - Overview for a High Performance Shop

What you should do

Automate the setup of new servers

Automate failover

Automate scaling

Donnerstag, 19. September 13

Page 45: Angrybirds - Overview for a High Performance Shop

What you should do

Automate the setup of new servers

Automate failover

Automate scaling

Save work by using AWS concepts

Donnerstag, 19. September 13

Page 46: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 47: Angrybirds - Overview for a High Performance Shop

Backend Array

Frontend Array

Worker Array

Varnish Array

Donnerstag, 19. September 13

Page 48: Angrybirds - Overview for a High Performance Shop

Backend Array

Frontend Array

Worker Array

Varnish Array

Loadbalancer

Donnerstag, 19. September 13

Page 49: Angrybirds - Overview for a High Performance Shop

Deployment X

Backend Array

Frontend Array

Worker Array

Varnish Array

Loadbalancer

Donnerstag, 19. September 13

Page 50: Angrybirds - Overview for a High Performance Shop

Deployment X

Backend Array

Frontend Array

Worker Array

Varnish Array

DNS

shop.angrybirds.com

Loadbalancer

Donnerstag, 19. September 13

Page 51: Angrybirds - Overview for a High Performance Shop

Deployment X

Backend Array

Frontend Array

Worker Array

Varnish Array

DNS

shop.angrybirds.com

File Storage

File Storage DatabaseCache

CDN CDN

Braintree

MailDRM

Giftcards

Loadbalancer

Donnerstag, 19. September 13

Page 52: Angrybirds - Overview for a High Performance Shop

Load Balancer

Backend Array

Frontend Array

Worker Array

Varnish Array

Deployment X

DNS

Donnerstag, 19. September 13

Page 53: Angrybirds - Overview for a High Performance Shop

Worker Array

Deployment X

DNS

Donnerstag, 19. September 13

Page 54: Angrybirds - Overview for a High Performance Shop

Worker Array

Deployment X

DNS

Donnerstag, 19. September 13

Page 55: Angrybirds - Overview for a High Performance Shop

Worker Array

Deployment X

DNS

Deployment X+1

Donnerstag, 19. September 13

Page 56: Angrybirds - Overview for a High Performance Shop

Worker Array

Deployment X

DNS

Deployment X+1 Loadbalancer

Backend Array

Frontend Array

Worker Array

Varnish Array

Donnerstag, 19. September 13

Page 57: Angrybirds - Overview for a High Performance Shop

Worker Array

Deployment X

DNS

Backend Array

Frontend Array

Worker Array

Varnish Array

Deployment X+1 Loadbalancer

Donnerstag, 19. September 13

Page 58: Angrybirds - Overview for a High Performance Shop

Frontend Array

Worker Array

Varnish Array

Deployment X

DNS

Backend Array

Deployment X+1Loadbalancer Loadbalancer

Donnerstag, 19. September 13

Page 59: Angrybirds - Overview for a High Performance Shop

DNS

Backend Array

Deployment X+1

Frontend Array

Worker Array

Varnish Array

Deployment XLoadbalancer Loadbalancer

Donnerstag, 19. September 13

Page 60: Angrybirds - Overview for a High Performance Shop

DNS

Backend Array

Deployment X+1

Frontend Array

Worker Array

Varnish Array

Deployment XLoadbalancer Loadbalancer

Donnerstag, 19. September 13

Page 61: Angrybirds - Overview for a High Performance Shop

DNS

Backend Array

Deployment X+1 Loadbalancer

Donnerstag, 19. September 13

Page 62: Angrybirds - Overview for a High Performance Shop

0Donnerstag, 19. September 13

Page 63: Angrybirds - Overview for a High Performance Shop

0Downtime

Donnerstag, 19. September 13

Page 64: Angrybirds - Overview for a High Performance Shop

0Downtime

Number of lost carts

Donnerstag, 19. September 13

Page 65: Angrybirds - Overview for a High Performance Shop

0Downtime

Number of lost carts

Number of lost sessions and

logins

Donnerstag, 19. September 13

Page 66: Angrybirds - Overview for a High Performance Shop

Scaling is about finding the bottleneck

Donnerstag, 19. September 13

Page 67: Angrybirds - Overview for a High Performance Shop

The fastest HTTP Request is..

Donnerstag, 19. September 13

Page 68: Angrybirds - Overview for a High Performance Shop

The fastest HTTP Request is..

the one- never made!Donnerstag, 19. September 13

Page 69: Angrybirds - Overview for a High Performance Shop

Traffic

HTTP Cacheing

Donnerstag, 19. September 13

Page 70: Angrybirds - Overview for a High Performance Shop

App

licat

ion

Traffic

HTTP Cacheing

Donnerstag, 19. September 13

Page 71: Angrybirds - Overview for a High Performance Shop

App

licat

ion

TrafficBr

owse

rTraffic

HTTP Cacheing

Donnerstag, 19. September 13

Page 72: Angrybirds - Overview for a High Performance Shop

App

licat

ion

Traffic

CDN

Brow

ser

Traffic

HTTP Cacheing

Donnerstag, 19. September 13

Page 73: Angrybirds - Overview for a High Performance Shop

App

licat

ion

Varnish (Reverse Proxy) Traffic

Traffic

CDN

Brow

ser

Traffic

HTTP Cacheing

Donnerstag, 19. September 13

Page 74: Angrybirds - Overview for a High Performance Shop

App

licat

ion

Varnish (Reverse Proxy) Traffic

Traffic

CDN

Brow

ser

TrafficPurging

HTTP Cacheing

Donnerstag, 19. September 13

Page 75: Angrybirds - Overview for a High Performance Shop

Caches„protect“ your

application

Donnerstag, 19. September 13

Page 76: Angrybirds - Overview for a High Performance Shop

Caches„protect“ your

application

#�+�

'�%*

'��

Donnerstag, 19. September 13

Page 77: Angrybirds - Overview for a High Performance Shop

Caches„protect“ your

application

#�+�

'�%*

'��

����

��,

�'"

#�

Donnerstag, 19. September 13

Page 78: Angrybirds - Overview for a High Performance Shop

10.000+Possible Pages / Seconde

from ELB & Varnish

Donnerstag, 19. September 13

Page 79: Angrybirds - Overview for a High Performance Shop

Traffic

Autoscaling

Donnerstag, 19. September 13

Page 80: Angrybirds - Overview for a High Performance Shop

Traffic

Fron

tend

Arr

ay

EC2

EC2

EC2

Autoscaling

Donnerstag, 19. September 13

Page 81: Angrybirds - Overview for a High Performance Shop

Traffic

Fron

tend

Arr

ay

EC2

EC2

EC2

Autoscaling

Donnerstag, 19. September 13

Page 82: Angrybirds - Overview for a High Performance Shop

Traffic

Fron

tend

Arr

ay

EC2

EC2

EC2

EC2

EC2

EC2

Autoscaling

Donnerstag, 19. September 13

Page 83: Angrybirds - Overview for a High Performance Shop

10.000possible Orders / Hour

Donnerstag, 19. September 13

Page 84: Angrybirds - Overview for a High Performance Shop

Search and Layered Nav���'��� (�*#��'�

�$%���%���(

#��'!.�*#�������!�

�-%�#( +�

Donnerstag, 19. September 13

Page 85: Angrybirds - Overview for a High Performance Shop

Bro

wse

r

Enterprise Search

Mage

nto

Donnerstag, 19. September 13

Page 86: Angrybirds - Overview for a High Performance Shop

Bro

wse

r

���!�) "���#��- #�

Enterprise Search

Mage

nto

Donnerstag, 19. September 13

Page 88: Angrybirds - Overview for a High Performance Shop

Be prepared for changes

Donnerstag, 19. September 13

Page 89: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 90: Angrybirds - Overview for a High Performance Shop

Continuous Deployment

Donnerstag, 19. September 13

Page 91: Angrybirds - Overview for a High Performance Shop

Don‘t be scared of releasing to production

Donnerstag, 19. September 13

Page 92: Angrybirds - Overview for a High Performance Shop

Late night bugfixing?Donnerstag, 19. September 13

Page 93: Angrybirds - Overview for a High Performance Shop

That’s how a deployment should look like

Donnerstag, 19. September 13

Page 94: Angrybirds - Overview for a High Performance Shop

Continuous Deployment

Donnerstag, 19. September 13

Page 95: Angrybirds - Overview for a High Performance Shop

We want on-demand deployment

Continuous Deployment

Donnerstag, 19. September 13

Page 96: Angrybirds - Overview for a High Performance Shop

We want on-demand deploymentof tested features and fixes

Continuous Deployment

Donnerstag, 19. September 13

Page 97: Angrybirds - Overview for a High Performance Shop

We want on-demand deploymentof tested features and fixesin a quick and reliable way

Continuous Deployment

Donnerstag, 19. September 13

Page 98: Angrybirds - Overview for a High Performance Shop

We reach this by

Donnerstag, 19. September 13

Page 99: Angrybirds - Overview for a High Performance Shop

We reach this by

Automating everything

Donnerstag, 19. September 13

Page 100: Angrybirds - Overview for a High Performance Shop

We reach this by

Build

Automating everything

Donnerstag, 19. September 13

Page 101: Angrybirds - Overview for a High Performance Shop

We reach this by

BuildTesting

Automating everything

Donnerstag, 19. September 13

Page 102: Angrybirds - Overview for a High Performance Shop

We reach this by

BuildTesting

Deployment

Automating everything

Donnerstag, 19. September 13

Page 103: Angrybirds - Overview for a High Performance Shop

..and

Donnerstag, 19. September 13

Page 104: Angrybirds - Overview for a High Performance Shop

..and

doing it frequently

Donnerstag, 19. September 13

Page 105: Angrybirds - Overview for a High Performance Shop

..and

flickr deploys 3

times a day...

doing it frequently

Donnerstag, 19. September 13

Page 106: Angrybirds - Overview for a High Performance Shop

ContentMaster

Backup

Version

Deployment Pipeline

Donnerstag, 19. September 13

Page 107: Angrybirds - Overview for a High Performance Shop

ContentMaster

Backup

Version

Build

Deployment Pipeline

Donnerstag, 19. September 13

Page 108: Angrybirds - Overview for a High Performance Shop

ContentMaster

Backup

Version

Build

Unit TestsDeployment Pipeline

Donnerstag, 19. September 13

Page 109: Angrybirds - Overview for a High Performance Shop

ContentMaster

Backup

Version

Build

Unit TestsAutomatic Deploy on „Latest“

Deployment Pipeline

Donnerstag, 19. September 13

Page 110: Angrybirds - Overview for a High Performance Shop

ContentMaster

Backup

Version

Build

Unit TestsAutomatic Deploy on „Latest“ Acceptance

Tests

Deployment Pipeline

Donnerstag, 19. September 13

Page 111: Angrybirds - Overview for a High Performance Shop

ContentMaster

Backup

Version

Build

Unit TestsAutomatic Deploy on „Latest“ Acceptance

Tests

Deploy on

„Deploy“

Deployment Pipeline

Donnerstag, 19. September 13

Page 112: Angrybirds - Overview for a High Performance Shop

ContentMaster

Backup

Version

Build

Unit TestsAutomatic Deploy on „Latest“ Acceptance

Tests Deploy to Staging+ Test

Deploy on

„Deploy“

Deployment Pipeline

Donnerstag, 19. September 13

Page 113: Angrybirds - Overview for a High Performance Shop

ContentMaster

Live

Backup

Version

Build

Unit TestsAutomatic Deploy on „Latest“ Acceptance

Tests Deploy to Staging+ Test

Deploy on

„Deploy“

Deployment Pipeline

Donnerstag, 19. September 13

Page 114: Angrybirds - Overview for a High Performance Shop

ContentMaster

Live

Backup

Version

Build

Unit TestsAutomatic Deploy on „Latest“ Acceptance

Tests Deploy to Staging+ Test

Deploy on

„Deploy“

Deployment Pipeline

Test Strategy

Donnerstag, 19. September 13

Page 115: Angrybirds - Overview for a High Performance Shop

ContentMaster

Live

Backup

Version

Build

Unit TestsAutomatic Deploy on „Latest“ Acceptance

Tests Deploy to Staging+ Test

Deploy on

„Deploy“

Deployment Pipeline

Test Strategy

Feedback for the TeamDonnerstag, 19. September 13

Page 116: Angrybirds - Overview for a High Performance Shop

Donnerstag, 19. September 13

Page 117: Angrybirds - Overview for a High Performance Shop

The real live

Donnerstag, 19. September 13

Page 118: Angrybirds - Overview for a High Performance Shop

Day 1 - Release 1

Donnerstag, 19. September 13

Page 119: Angrybirds - Overview for a High Performance Shop

Day 2 - Release 2 - “Get ready for Space”

Donnerstag, 19. September 13

Page 120: Angrybirds - Overview for a High Performance Shop

Day 3 - „People want it so badly“

Donnerstag, 19. September 13

Page 121: Angrybirds - Overview for a High Performance Shop

New release deployed

Day 3 - „People want it so badly“

Donnerstag, 19. September 13

Page 122: Angrybirds - Overview for a High Performance Shop

New release deployed

Space game launchedArray scales up

Day 3 - „People want it so badly“

Donnerstag, 19. September 13

Page 123: Angrybirds - Overview for a High Performance Shop

New release deployed

Space game launchedArray scales up

USA wakes up

Day 3 - „People want it so badly“

Donnerstag, 19. September 13

Page 124: Angrybirds - Overview for a High Performance Shop

Day 4 - Release 3 „Performance Improvement“

Donnerstag, 19. September 13

Page 125: Angrybirds - Overview for a High Performance Shop

40% average CPU usage.

1-2 FE Servers are enough for normal operations

Day 4 - Release 3 „Performance Improvement“

Donnerstag, 19. September 13

Page 126: Angrybirds - Overview for a High Performance Shop

Thanks!

Follow us on Twitter:

AOE: @aoemediaDaniel P: @danpoetz

Flickr photo contributions in the slide:http://www.flickr.com/photos/the-wanderers-eye/4494147652/sizes/l/http://www.flickr.com/photos/51293088@N05/8195327886/sizes/l/http://www.flickr.com/photos/k1rsch/3818553037/sizes/l/

Donnerstag, 19. September 13