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.


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

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.

  • OpenCart

    With OpenCart, a free, open source e-commerce system, you can put a store online in a matter of minutes.

  • 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.

  • Perl: Barcodes

    Barcodes efficiently speed us through supermarket checkout lines, but the technology is also useful for totally different applications. An inexpensive barcode scanner can help you organize your private library, CD, or DVD collection.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More