Skip to main content
networking

High Availability (HA)

High availability is a system design that minimizes downtime by eliminating single points of failure. Measured in 'nines' – 99.9% (8.7h downtime/year), 99.99% (52min/year), 99.999% (5min/year). Requires: redundant components, automatic failover, health monitoring, and tested recovery procedures.

Definition

High availability engineering ensures systems remain operational despite individual component failures. The availability percentage represents uptime commitment: 99.9% (three nines) allows 8.7 hours downtime per year, 99.99% (four nines) allows 52 minutes, and 99.999% (five nines) allows 5.2 minutes. Achieving each additional nine requires exponentially more investment. HA requires eliminating every single point of failure (SPOF): multiple application servers behind load balancers, database replication with automatic failover, redundant network paths, multi-AZ deployment, and redundant power/cooling. HA is not just redundancy – it requires: automatic detection (health checks, heartbeats), automatic recovery (failover without human intervention), and isolation (failure in one component does not cascade). Testing is critical: regularly kill instances (chaos engineering), test failover procedures, and measure actual recovery time. Many teams claim HA but have never tested their failover – the first real failure reveals untested assumptions.

Examples

  • AWS multi-AZ RDS: synchronous replication + automatic failover = 99.95% SLA
  • Kubernetes: pod anti-affinity + PDB + multiple replicas across zones
  • Chaos engineering: terminate one DB replica weekly to prove failover works

Related Protocols

Related Terms