Angrybirds - Overview for a High Performance Shop
-
Upload
aoe -
Category
Technology
-
view
571 -
download
3
description
Transcript of 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
@aoepeople
@
danpoetz
DanielPötzinger
Donnerstag, 19. September 13
@aoepeople
�����)
@
danpoetz
DanielPötzinger
Donnerstag, 19. September 13
���$""�'�� !$��!����
� !������
�#)�'%' (�����'��
Donnerstag, 19. September 13
2.5 billion internet users
Donnerstag, 19. September 13
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
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
Donnerstag, 19. September 13
Donnerstag, 19. September 13
Donnerstag, 19. September 13
152,2 Million €
68,5 Million € Consumer Products
Donnerstag, 19. September 13
Donnerstag, 19. September 13
Donnerstag, 19. September 13
> 24.000.000 likes > 500.000 followers
Social MediaImpact
Donnerstag, 19. September 13
Donnerstag, 19. September 13
Irregular Traffic Behaviour
Donnerstag, 19. September 13
Angrybirds frequent Releases
Donnerstag, 19. September 13
Angrybirds frequent Releases
2012 2013
Donnerstag, 19. September 13
Angrybirds frequent Releases
2012 2013
Donnerstag, 19. September 13
Angrybirds frequent Releases
2012 2013
Giftca
rds
Geo IPAsy
nc R
epor
ts
Sear
ch
Targ
eting
Prod
ucts
Donnerstag, 19. September 13
The DevOps Conflict
Donnerstag, 19. September 13
The DevOps Conflict
Frequent development and releasing of new
features
Donnerstag, 19. September 13
The DevOps Conflict
Frequent development and releasing of new
features
Scalable and stable Operation
Donnerstag, 19. September 13
Biggest Problems
Donnerstag, 19. September 13
Biggest Problems
Donnerstag, 19. September 13
Biggest ProblemsChallenges
Donnerstag, 19. September 13
Biggest ProblemsChallenges
1. Handling the tremendous peaks
Donnerstag, 19. September 13
Biggest ProblemsChallenges
1. Handling the tremendous peaks
2. Quick Handling and deploymentof Changes and new Features
Donnerstag, 19. September 13
Donnerstag, 19. September 13
Handling the peaks...
Donnerstag, 19. September 13
How to deal with peaks
Donnerstag, 19. September 13
How to deal with peaks '�&* '��� #�'�()'*�)*'��
��%�� ).
Donnerstag, 19. September 13
How to deal with peaks
����*(��
'�&* '��� #�'�()'*�)*'��
��%�� ).
Donnerstag, 19. September 13
How to deal with peaks
����*(��
����,�()��
'�&* '��� #�'�()'*�)*'��
��%�� ).
Donnerstag, 19. September 13
✓ quick scale on demand✓ pay only for what you use
Donnerstag, 19. September 13
How to deal with peaks
Donnerstag, 19. September 13
*)$(��! #�
How to deal with peaks
Donnerstag, 19. September 13
��'�� $#(�, )�������+� !�� ! ).�/$#�(
�!$)�$��„�����(�'+�'(0��$'��$#)�#)���! +�'.
Global Cloud Infrastructure
Donnerstag, 19. September 13
Think cleanly about your operation infrastructureDonnerstag, 19. September 13
Setting up a new environment should always be faster
than fixing an existing oneDonnerstag, 19. September 13
What you should do
Donnerstag, 19. September 13
What you should do
Automate the setup of new servers
Donnerstag, 19. September 13
What you should do
Automate the setup of new servers
Automate failover
Donnerstag, 19. September 13
What you should do
Automate the setup of new servers
Automate failover
Automate scaling
Donnerstag, 19. September 13
What you should do
Automate the setup of new servers
Automate failover
Automate scaling
Save work by using AWS concepts
Donnerstag, 19. September 13
Donnerstag, 19. September 13
Backend Array
Frontend Array
Worker Array
Varnish Array
Donnerstag, 19. September 13
Backend Array
Frontend Array
Worker Array
Varnish Array
Loadbalancer
Donnerstag, 19. September 13
Deployment X
Backend Array
Frontend Array
Worker Array
Varnish Array
Loadbalancer
Donnerstag, 19. September 13
Deployment X
Backend Array
Frontend Array
Worker Array
Varnish Array
DNS
shop.angrybirds.com
Loadbalancer
Donnerstag, 19. September 13
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
Load Balancer
Backend Array
Frontend Array
Worker Array
Varnish Array
Deployment X
DNS
Donnerstag, 19. September 13
Worker Array
Deployment X
DNS
Donnerstag, 19. September 13
Worker Array
Deployment X
DNS
Donnerstag, 19. September 13
Worker Array
Deployment X
DNS
Deployment X+1
Donnerstag, 19. September 13
Worker Array
Deployment X
DNS
Deployment X+1 Loadbalancer
Backend Array
Frontend Array
Worker Array
Varnish Array
Donnerstag, 19. September 13
Worker Array
Deployment X
DNS
Backend Array
Frontend Array
Worker Array
Varnish Array
Deployment X+1 Loadbalancer
Donnerstag, 19. September 13
Frontend Array
Worker Array
Varnish Array
Deployment X
DNS
Backend Array
Deployment X+1Loadbalancer Loadbalancer
Donnerstag, 19. September 13
DNS
Backend Array
Deployment X+1
Frontend Array
Worker Array
Varnish Array
Deployment XLoadbalancer Loadbalancer
Donnerstag, 19. September 13
DNS
Backend Array
Deployment X+1
Frontend Array
Worker Array
Varnish Array
Deployment XLoadbalancer Loadbalancer
Donnerstag, 19. September 13
DNS
Backend Array
Deployment X+1 Loadbalancer
Donnerstag, 19. September 13
0Donnerstag, 19. September 13
0Downtime
Donnerstag, 19. September 13
0Downtime
Number of lost carts
Donnerstag, 19. September 13
0Downtime
Number of lost carts
Number of lost sessions and
logins
Donnerstag, 19. September 13
Scaling is about finding the bottleneck
Donnerstag, 19. September 13
The fastest HTTP Request is..
Donnerstag, 19. September 13
The fastest HTTP Request is..
the one- never made!Donnerstag, 19. September 13
Traffic
HTTP Cacheing
Donnerstag, 19. September 13
App
licat
ion
Traffic
HTTP Cacheing
Donnerstag, 19. September 13
App
licat
ion
TrafficBr
owse
rTraffic
HTTP Cacheing
Donnerstag, 19. September 13
App
licat
ion
Traffic
CDN
Brow
ser
Traffic
HTTP Cacheing
Donnerstag, 19. September 13
App
licat
ion
Varnish (Reverse Proxy) Traffic
Traffic
CDN
Brow
ser
Traffic
HTTP Cacheing
Donnerstag, 19. September 13
App
licat
ion
Varnish (Reverse Proxy) Traffic
Traffic
CDN
Brow
ser
TrafficPurging
HTTP Cacheing
Donnerstag, 19. September 13
Caches„protect“ your
application
Donnerstag, 19. September 13
Caches„protect“ your
application
#�+�
'�%*
'��
Donnerstag, 19. September 13
Caches„protect“ your
application
#�+�
'�%*
'��
����
��,
�'"
#�
Donnerstag, 19. September 13
10.000+Possible Pages / Seconde
from ELB & Varnish
Donnerstag, 19. September 13
Traffic
Autoscaling
Donnerstag, 19. September 13
Traffic
Fron
tend
Arr
ay
EC2
EC2
EC2
Autoscaling
Donnerstag, 19. September 13
Traffic
Fron
tend
Arr
ay
EC2
EC2
EC2
Autoscaling
Donnerstag, 19. September 13
Traffic
Fron
tend
Arr
ay
EC2
EC2
EC2
EC2
EC2
EC2
Autoscaling
Donnerstag, 19. September 13
10.000possible Orders / Hour
Donnerstag, 19. September 13
Search and Layered Nav���'��� (�*#��'�
�$%���%���(
#��'!.�*#�������!�
�-%�#( +�
Donnerstag, 19. September 13
Bro
wse
r
Enterprise Search
Mage
nto
Donnerstag, 19. September 13
Bro
wse
r
���!�) "���#��- #�
Enterprise Search
Mage
nto
Donnerstag, 19. September 13
Bro
wse
r
���!�) "���#��- #�
� +�(*���()���'��
��.�'�����+ ��) $#���$""�#��) $#�� ���)(
Enterprise Search
Mage
nto
Donnerstag, 19. September 13
Be prepared for changes
Donnerstag, 19. September 13
Donnerstag, 19. September 13
Continuous Deployment
Donnerstag, 19. September 13
Don‘t be scared of releasing to production
Donnerstag, 19. September 13
Late night bugfixing?Donnerstag, 19. September 13
That’s how a deployment should look like
Donnerstag, 19. September 13
Continuous Deployment
Donnerstag, 19. September 13
We want on-demand deployment
Continuous Deployment
Donnerstag, 19. September 13
We want on-demand deploymentof tested features and fixes
Continuous Deployment
Donnerstag, 19. September 13
We want on-demand deploymentof tested features and fixesin a quick and reliable way
Continuous Deployment
Donnerstag, 19. September 13
We reach this by
Donnerstag, 19. September 13
We reach this by
Automating everything
Donnerstag, 19. September 13
We reach this by
Build
Automating everything
Donnerstag, 19. September 13
We reach this by
BuildTesting
Automating everything
Donnerstag, 19. September 13
We reach this by
BuildTesting
Deployment
Automating everything
Donnerstag, 19. September 13
..and
Donnerstag, 19. September 13
..and
doing it frequently
Donnerstag, 19. September 13
..and
flickr deploys 3
times a day...
doing it frequently
Donnerstag, 19. September 13
ContentMaster
Backup
Version
Deployment Pipeline
Donnerstag, 19. September 13
ContentMaster
Backup
Version
Build
Deployment Pipeline
Donnerstag, 19. September 13
ContentMaster
Backup
Version
Build
Unit TestsDeployment Pipeline
Donnerstag, 19. September 13
ContentMaster
Backup
Version
Build
Unit TestsAutomatic Deploy on „Latest“
Deployment Pipeline
Donnerstag, 19. September 13
ContentMaster
Backup
Version
Build
Unit TestsAutomatic Deploy on „Latest“ Acceptance
Tests
Deployment Pipeline
Donnerstag, 19. September 13
ContentMaster
Backup
Version
Build
Unit TestsAutomatic Deploy on „Latest“ Acceptance
Tests
Deploy on
„Deploy“
Deployment Pipeline
Donnerstag, 19. September 13
ContentMaster
Backup
Version
Build
Unit TestsAutomatic Deploy on „Latest“ Acceptance
Tests Deploy to Staging+ Test
Deploy on
„Deploy“
Deployment Pipeline
Donnerstag, 19. September 13
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
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
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
Donnerstag, 19. September 13
The real live
Donnerstag, 19. September 13
Day 1 - Release 1
Donnerstag, 19. September 13
Day 2 - Release 2 - “Get ready for Space”
Donnerstag, 19. September 13
Day 3 - „People want it so badly“
Donnerstag, 19. September 13
New release deployed
Day 3 - „People want it so badly“
Donnerstag, 19. September 13
New release deployed
Space game launchedArray scales up
Day 3 - „People want it so badly“
Donnerstag, 19. September 13
New release deployed
Space game launchedArray scales up
USA wakes up
Day 3 - „People want it so badly“
Donnerstag, 19. September 13
Day 4 - Release 3 „Performance Improvement“
Donnerstag, 19. September 13
40% average CPU usage.
1-2 FE Servers are enough for normal operations
Day 4 - Release 3 „Performance Improvement“
Donnerstag, 19. September 13
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