High Availability (HA)
A characteristic of a system that ensures an agreed level of operational performance (usually uptime) for a higher than normal period.
Detailed Explanation
HA is achieved through redundancy, running multiple instances of every component across different physical locations (availability zones). If one instance or location fails, the system automatically redirects to the healthy ones. It is often measured in 'nines' (e.g., 'five nines' = 99.999% uptime, allowing only 5 minutes of downtime per year).
Quick Summary
High availability is engineering a system to keep serving traffic when components fail. Redundancy at every layer, automatic failover, and disciplined deployment practices push uptime from "good enough" toward four-nines and beyond.
Key Takeaways
- Availability targets are stated in nines: 99.9% (~9 hrs/yr downtime), 99.99% (~52 min/yr), 99.999% (~5 min/yr).
- Each additional nine costs roughly 10× more in engineering effort and infrastructure.
- Failover modes: active-active (all instances serve), active-passive (standby takes over on failure).
- HA covers infra failures; disaster recovery (DR) covers entire-region or data-loss scenarios , they overlap but aren't identical.
- The dominant cause of outages isn't hardware , it's deploys, config changes, and dependency failures. Process matters as much as redundancy.
When to use it
- Payment systems, customer-facing APIs, and SaaS apps with SLA commitments.
- Multi-AZ database deployments with automated replica promotion.
- Global services using multi-region active-active to survive region outages.
- Internal infrastructure (auth, secrets) where downtime cascades across many products.
Common Mistakes
- Single-AZ deployments labeled "production" , one AZ outage takes you down.
- Healthchecks that lie (200 OK without checking dependencies) so the load balancer routes to broken instances.
- No failure injection: HA configurations untested under chaos rarely fail over correctly.
- Targeting more nines than the SLA needs , five-nines of code on a three-nines dependency is wasted.
High Availability (HA), Frequently Asked
What does "three nines" actually mean in minutes?
99.9% uptime allows ~8.76 hours of downtime per year (~43 min/month). 99.99% allows ~52 min/year. 99.999% allows ~5 min/year. These add up across dependencies , a 4-nines app on a 3-nines database can't exceed 3 nines.
Active-active vs. active-passive?
Active-active runs all instances live, splitting traffic; failover is invisible and capacity is fully used. Active-passive keeps a standby idle and promotes on failure; simpler to reason about, but the standby is paid-for unused capacity.
Is HA the same as disaster recovery?
Related but distinct. HA handles ordinary infrastructure failures (a node dies, an AZ blips). DR handles catastrophic events (a region goes down, data is corrupted) and usually involves cross-region replication and tested recovery procedures.