1.Redundancy, Health Checks, and Automated Replacement
High availability is four habits, not one setting. Run in more than one Availability Zone, check health continuously, replace unhealthy things automatically instead of repairing them, and remove every component whose failure takes the system with it. The fourth one is the hard part, because single points of failure are usually shared services nobody lists.
Key features
- Redundancy only helps if failure is detected: an unhealthy instance still receiving traffic is worse than one that was never there
- The health check must reflect what a user needs but must not depend on a shared downstream, or one dependency failure removes the whole fleet at once
- Automated replacement beats repair — an Auto Scaling group replacing an instance is faster and more repeatable than any human diagnosis
- Enumerate single points of failure by asking, for every component in the path, which AZ it is in and what happens to the others when that AZ fails
- Untested failure handling is a hypothesis: the failover that has never been exercised is the one that finds its bug during the incident
- AWS defines reliability as a workload performing its intended function correctly and consistently when expected to, including the ability to operate and test it through its whole lifecycle
Single points of failure people miss
- Redundancy — more than one of everything in the path
- Health checks — so failure is noticed
- Automated replacement — so it is fixed without a human
- Tested failure modes — so you know it actually works
Signature
redundancy + health checks (no shared dependency) + automated replacement + tested failure modes
Redundancy, health checks that do not depend on shared downstreams, automated replacement rather than repair, and failure modes you have actually exercised. Then walk every component in the path and name its AZ — the one that appears once is your real availability.