Compute High Availability¶
High availability (HA) is a design approach that ensures a system is always available, even in the event of a failure. HA is achieved by designing in redundancy, which means that if one component fails, another component can take over. This ensures that the system continues to operate without interruption.
Approaches¶
- up to date AMIs are critical for rapid fail-over
- AMIs can be copied to other regions for safety or DR staging
- Horizontally scalable architecture are preferred because risk can be spread across multiple instances
- Reserved instances is the only way to guarantee capacity
- Auto scaling and elastic load balancing are key components of HA
- Route 53 can be used to route traffic to healthy instances