High Availability
ELI5 - The Vibe Check
High availability means your system keeps running even when a piece of it inevitably fails, because in production, something is always failing somewhere. It's less about preventing failure, which is impossible, and more about making sure a single dead server, a downed data center, or a flaky disk never turns into an outage your users actually notice.
Real Talk
High availability (HA) refers to system design that minimizes downtime by eliminating single points of failure, typically through redundancy across availability zones, automated failover, health checks, and load balancing. It is usually quantified in nines of uptime, such as 99.9% (about 8.7 hours of downtime a year) or 99.99% (about 52 minutes a year), and each additional nine costs disproportionately more engineering effort than the last.
Show Me The Code
# minimal HA setup: 3 instances across 3 zones, auto-failover
replicas: 3
zones: [us-east-1a, us-east-1b, us-east-1c]
healthCheck:
path: /healthz
failureThreshold: 3
autoFailover: true
When You'll Hear This
"We need high availability on the payment service, that one can't go down." / "Three nines sounded fine until we did the math on the downtime budget."
Related Terms
Auto-Failover
Auto-failover automatically switches to a backup system when the primary one fails — no human intervention needed. Your database server dies at 3 AM?
Availability Zone (AZ)
An Availability Zone is one of several separate data centers within a cloud region.
Fault Tolerance
Fault tolerance is designing a system that assumes parts of it will break, so it plans for that instead of hoping it doesn't happen.
Load Balancer
A load balancer is like a traffic cop for servers.
Resilience
Resilience is your system's ability to get punched in the face by a dependency going down, a traffic spike, or a bad deploy, and keep serving users anyway...