Back to the map

Module 01 · Core concepts · Lesson 5 of 9

Availability

Availability is the fraction of time a system answers correctly. What the nines mean in minutes, how components in series multiply their downtime, and why redundancy is the only lever that raises the number.

IntroMust-knowJunior 10 min Updated Nov 2026

Why it matters

Users do not care about your architecture; they care whether the page loads. Availability is the number that captures that, and it is the one most contracts are written around. It also has a property that surprises people the first time: it is multiplicative. Chain five components that are each up 99.9 percent of the time and the system is up about 99.5 percent, which is more than four times the downtime. Designing for availability is mostly about understanding that arithmetic.

The idea

Availability is the proportion of time a system is able to serve correct responses, usually quoted per year as a count of nines.

AvailabilityDowntime per yearPer monthWhat it takes
99 percent (two nines)3.65 days7.3 hoursA single well-run server, manual restarts
99.9 percent (three nines)8.8 hours44 minutesRedundant servers, automated failover, monitoring
99.99 percent (four nines)52 minutes4.4 minutesMulti-zone, no manual steps in recovery, careful deploys
99.999 percent (five nines)5.3 minutes26 secondsMulti-region active-active; most products do not need it
Each nine is roughly ten times the engineering, not ten percent.

Two related terms: an SLA is the availability you promise a customer, with penalties; an SLO is the tighter internal target you run against so you never breach the SLA. Error budgets fall out of the SLO: at 99.9 percent you may be down 44 minutes a month, and spending that budget on a risky deploy is a legitimate choice.

Series multiply, parallel multiply the other way

Components a request must pass through are in series: the availabilities multiply, so the chain is weaker than its weakest link. Components that can substitute for one another are in parallel: their unavailabilities multiply, so two 99 percent servers behind a balancer give about 99.99 percent, as long as the balancer itself is not the new weak link.

in seriesLB99.99API99.9DB99.9≈ 99.79 percent: 18 hours a yearin parallelLBAPI a99.9API b99.90.001 × 0.001: ≈ 99.9999 for the pairRedundancy only helps if the failover is automatic and the shared parts (balancer, network, database) are themselves redundant.
Series availability is the product of the parts; parallel redundancy multiplies the small failure probabilities instead.

What actually raises availability

Redundancy, with automation. A spare that needs a human to switch to buys little at three nines and nothing at four. The checklist is short: no single point of failure, health checks that detect failure quickly, failover that happens without a person, and deploys that can be rolled back faster than the error budget burns.

Trade-offs

Every nine costs. Redundant infrastructure doubles spend, multi-region adds data-consistency problems, and the operational discipline to stay at four nines is a staffing decision as much as a technical one. Most products are well served by three nines for the core path and lower for everything else; stating that explicitly is a mark of judgement, not of ambition lacking.

Availability also trades against consistency when partitions happen, which is the CAP lesson at the end of this module.

In an interview

Pick a target and defend it: "Checkout should be at three nines or better; the recommendations widget can be two, because the page still renders without it." Then show the arithmetic: name the series chain, point at the weakest link, and say which parts you make redundant and how failover is automated. Mentioning error budgets signals you have operated a system, not just drawn one.

Check yourself

A request passes through a load balancer (99.99 percent), an API tier (99.9 percent) and a database (99.9 percent), each a single instance. Roughly what is the end-to-end availability?

Availability · Backplane