Definition · Parallel availabilityComponents are in parallel for a request when any one of them can serve it. If they fail independently, the whole is unavailable only when all are, so 1 − A = ∏ᵢ (1 − Aᵢ) and A = 1 − ∏ᵢ (1 − Aᵢ). Computing the complement is not a trick: it converts an OR over many events, which has inclusion-exclusion terms, into an AND, which does not.
each path 99/100, so 1 − Aᵢ = 1/100
n = 1 P(all down) = 1/100 A = 99%
n = 2 P(all down) = 1/10 000 A = 99.99%
n = 3 P(all down) = 1/10⁶ A = 99.9999%
n = 4 P(all down) = 1/10⁸ A = 99.999999%
ideal downtime a year
n = 2 52 min 33.60 s n = 3 31.54 s n = 4 0.32 s
Two nines plus two nines is four nines, in parallel — and it is worth being precise about why, because the same reader who adds nines here will add them in series, where the claim is false in the other direction. In parallel the unavailabilities multiply, and 10⁻² × 10⁻² is 10⁻⁴. In series the unavailabilities add.
Charging for the failover
The formula describes a system that notices a failure instantly and switches with no loss. Real cutovers take a health check, a timeout, a decision and a reconnection, and every second of that is a second the request did not get served. The correction is arithmetic: failover seconds × events per period ÷ period, subtracted.
charge = (failover × events) / period
= (30 s × 12) / 31 536 000 s = 360/31 536 000 = 1/87 600
n = 2 ideal 99.990000% charged 1/87 600 real 99.988858%
ideal 52 min 33.60 s a year real 58 min 33.60 s a year
Six minutes a year, and it does not shrink when a replica is added, because it is not a property of the replicas — it is a property of the switching. That is what makes it dominate so quickly.
Example · Where the replicas stop payingWith a thirty-second failover happening twelve times a year: two paths at 99% give a real 99.988858%, three give 99.998758%, four give 99.998857%. The ideal figures over the same range go from four nines to eight; the real ones have essentially stopped by three, because the ideal outage has fallen below the six minutes of switching and the fourth replica is improving a term that is no longer the largest one.
What else the formula is quietly assuming
Three things, and each is a separate way to be disappointed. That the paths fail independently, which is the next lesson and the largest of the three. That any single path can carry the whole load — if two paths each run at 60% of capacity, losing one does not leave a working system, it leaves an overloaded one. And that the redundancy is exercised: a standby that has never served a request is a component with an unmeasured availability, and it is not 0.99.
Example · A replica that is in series, not in parallelA cache is added in front of a database to make reads faster, and the client is written so that a cache error fails the request. The reader calls it redundancy because there are now two data stores. The request needs both, so it is a series chain: 0.999 × 0.999 = 99.80010%, below the database alone. Adding a component raises availability only when the request can succeed without it, and that is a property of the client's error handling rather than of the topology drawing.