Let us start by designing a generic high-availability architecture for an Amazon region. High availability can be architected in many different ways depending on the services used and the requirements. Here, we present a very generic architecture. The key to achieving high availability is to avoid single point of failures (SPOF) or application failures resulting from any one of the components or services fails. This implies that we have to account for all the Amazon services that can fail in a region; in our case, these are as follows:
- Availability zone (AZ)
- EC2 instances (EC2)
- Elastic load balancer (ELB)
- Relational Database Service (RDS)
Out of these, ELB and RDS are already designed for high availability ...