High Availability (HA): Engineering for Resilience

High Availability (HA) is the characteristic of a system that aims to ensure an agreed level of operational performance (usually uptime) for a higher than normal period. It is the practical application of distributed redundancy to combat hardware failure, network partitions, and software bugs.

1. The Mathematics of "Nines"

Availability (A) is formally defined by Mean Time Between Failures (MTBF) and Mean Time To Repair (MTTR):

A = \frac{MTBF}{MTBF + MTTR}

Industry standards describe availability in "nines":

Achieving higher nines exponentially increases cost and architectural complexity. It requires moving from reactive recovery to proactive, active-active topologies.

2. RTO and RPO: The Dual Metrics of Disaster Recovery

When failures occur, they are measured against two distinct Service Level Objectives (SLOs):

A system with synchronous replication might have an RPO of 0 (no data lost) but an RTO of 5 minutes (time taken for a leader election to complete).

3. Core HA Topologies

A. Active-Passive (Cold/Warm Standby)

One primary node handles all traffic. A secondary node sits idle, receiving asynchronous replication.

B. Active-Active (Multi-Primary)

Multiple nodes handle traffic simultaneously. State is synchronized across all nodes, often using advanced conflict resolution like CRDTs.

4. Modern Resilience Patterns


See Also: