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  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 .
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.
- Jenkins CI: http://jenkins-ci.org
- Security Groups in AWS: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#concepts-security
- Monitoring with Cloudwatch: http://aws.amazon.com/cloudwatch/
- Relational databases in AWS: http://aws.amazon.com/rds/
- Varnish Cache: https://www.varnish-cache.org
- I/O guarantee for AWS: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.html
- Multiple datacenters with standby replicas: http://aws.amazon.com/de/rds/mysql/
- Price overview RDS: http://aws.amazon.com/de/rds/pricing/mysql/
- DNS service Route 53: http://aws.amazon.com/de/route53/
Buy this article as PDF
Lennart Poettering wants to change the way Linux developers talk to each other.
Enterprise giant frees itself from ink and home PCs (and visa versa).
Mozilla’s product think tank sinks silently into history.
TODO group will focus on open source tools in large-scale environments.
New tool will look like GParted but support a wider range of storage technologies.
New public key pinning feature will help prevent man-in-the-middle attacks.
Carnegie Mellon researchers say 3 million pages could fall down the phishing hole in the next year.
The US government rolls new best-practice rules for protecting SSH.
Klaus Knopper announces the latest version of his iconic Live Linux system.
All websites that use these popular CMS tools could be vulnerable to denial of service attacks if users don't install the updates.