Amazon's web services team has just announced two enhancements to their successful EC2 cloud computing service that makes it even more desirable and useful by making it more fault-tolerant: the ability to place instances in multiple locations and "Elastic IP addresses".
As you can see below, both of these are key pieces of the puzzle in how to build dynamic systems in the cloud that can deliver both scalability and fault-tolerance. As O'Reilly Radar's Jesse Robbins points out "Datacenters and geographic regions are Single Points of Failure (SPOF) too. Failure Happens, and it's far better (and cheaper) to build services that are resilient to failure than to try to prevent them from happening. This is a big step in the right direction."
- Elastic IP Addresses are static IP addresses designed for dynamic cloud computing, and now make it easy to host web sites, web services and other online applications in Amazon EC2. Elastic IP addresses are associated with your AWS account, not with your instances, and can be programmatically mapped to any of your instances. This allows you to easily recover from instance and other failures while presenting your users with a static IP address.
- Availability Zones give you the ability to easily and inexpensively operate a highly available internet application. Each Amazon EC2 Availability Zone is a distinct location that is engineered to be insulated from failures in other Availability Zones. Previously, only very large companies had the scale to be able to distribute an application across multiple locations, but now it is as easy as changing a parameter in an API call. You can choose to run your application across multiple Availability Zones to be prepared for unexpected events such as power failures or network connectivity issues, or you can place instances in the same Availability Zone to take advantage of free data transfer and the lowest latency communication.
Amazon's blog post points to a useful series of new articles on EC2 by the team at RightScale: DNS and Elastic IPs and how they come in to play when upgrading a server, setting up a fault-tolerant site using the Availability Zones, and now support the new Elastic IP and Availability Zone. Includes good details, walk-throughs and illustrations like below.