A visit to the Angry Birds store in the Amazon cloud

The Whole Enchilada

Billing of web services is per hour of runtime, and the rates differ depending on the database instance class size [8] you use. The Angry Birds store uses different services worldwide: EC2 (Elastic Cloud 2) boots or shuts down virtualized servers. S3 stores data, such as images, which it keeps in long-term storage and distributes to the various servers. RDS manages databases; CloudFront delivers product images or skins as quickly as possible. Elastic Load Balancing (ELB) distributes the traffic and takes care of SSL termination, while the DNS service, Route 53, provides for cross-server or static IP addresses.

If you assign servers to groups (arrays), you get an overall picture of Rovio's AWS cloud architecture (Figure 4). The developers run two instances of the deploy infrastructure shown in the green area – one with the new version and the other with the previous version of the store. To roll back to an older version, they only need to switch Amazon's Route 53 DNS service [9].

Figure 4: The Angry Birds store is integrated with a complex structure of services that help it survive peak loads.

As a front-end array, only the Magento server (and associated databases) are otherwise used. For safety reasons, servers are redundant – if one fails, there is no need to boot another. The task of the front-end array is to process all dynamic requests (shopping carts, sessions, accounts) and guide visitors to checkout. The Varnish Array consists of two EC2 instances that run caching – the second server is also used as a fail-safe. The back-end array runs on a server and manages Rovio's products in Magento. Finally, a worker array handles all background processes.

Conclusions

AWS lets operators design stores that do not collapse when faced with peak loads  – that is, if you have the budget to build one. The store owner does not need to worry about revenue hits, and the admins have less work with the database. If sales are quiet, resources can be released manually or automatically. And, there is no need to do without the use of free software. At the same time, the combination of AWS and Magento with replicated databases creates a scalable and robust solution. After all, a collapsing building is for the birds.

The Author

Fabrizio Branca (Twitter: http://@fbrnc, Blog: http://www.fabrizio-branca.de) is Lead System Developer at AOE media http://www.aoemedia.com and lives with his family in San Francisco, California. His focus is on implementing scalable, high-performance systems, and efficient caching.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • 'Angry Birds' Flock to webOS

    Addictive mobile game comes to Palm's Pre and Pre Plus.

  • Cloud Techniques

    We show you some techniques for harnessing the benefits of cloud technology.

  • Charly's Column – Varnish

    Columnist Charly gives Apache a slick coat of Varnish for better performance.

  • In-Memory DBMS

    Thanks to powerful hardware, in-memory databases run without accessing mass memory devices, which means they handle transactions and evaluations at high speed, introducing a paradigm shift in the database market.

  • Perl: amtrack

    If you are a bargain hunter, you might enjoy this Perl script that monitors price developments at Amazon and alerts you if Amazon suddenly drops the prices on the products you have been watching.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News

njobs Europe
What:
Where:
Country:
Njobs Netherlands Njobs Deutschland Njobs United Kingdom Njobs Italia Njobs France Njobs Espana Njobs Poland
Njobs Austria Njobs Denmark Njobs Belgium Njobs Czech Republic Njobs Mexico Njobs India Njobs Colombia