ReliabilityBeginner
What does 99.9% actually mean, and how does it compose?
“How much downtime per year is 99.9%? If your service calls three dependencies that are each 99.9%, what availability can you promise?”
What this tests
- The nines table from memory or from arithmetic
- Serial composition multiplies availabilities
- Redundancy in parallel and its assumption of independence
- Downtime as a budget that includes deploys and maintenance
Answers by level
Read the beginner answer first and notice what is missing.
Per year: 99% ≈ 3 d 15 h, 99.9% ≈ 8 h 46 m, 99.99% ≈ 52 m, 99.999% ≈ 5 m 15 s. The arithmetic is 365.25 × 24 × 60 × (1 − A). Per month at 99.9% that is about 43 minutes, which is one moderate incident.
Serial dependencies multiply: if your service needs all three, availability is at best 0.999³ ≈ 0.997, so about 26 hours a year, before your own failures. Each synchronous dependency you add lowers the ceiling. Parallel redundancy goes the other way: two independent instances each at 99% give 1 − 0.01² = 99.99%, but only if their failures are independent — same rack, same deploy, same bad config, and they are not — see Availability, SLOs and Error Budgets.
Green flags · Red flags
Strong green flag · Turns the arithmetic into a design rule: to keep the target, make dependencies optional or asynchronous rather than adding more serial nines.
Green flags
- Produces the nines table or derives it on the spot
- Multiplies serial availabilities and gives the resulting hours
- Parallel redundancy formula with the independence caveat
- Counts deploys and maintenance as downtime
- Wants the number measured from the user's side
Red flags
- "Three 99.9% dependencies still give us 99.9% overall."
- Cannot convert a percentage to hours
- Assumes two replicas are independent without asking what they share
- Promises 99.99% with weekly manual deploys that cause errors
Follow-up questions
F1
What is 99.99% per month?
F2
Your DB is 99.95%. Can your service be 99.99%?
F3
Two replicas in the same availability zone at 99.9% each: combined?
Scenario
A product manager wants the new checkout to commit to 99.99% in the enterprise contract. The path is gateway → checkout → user service → inventory → payment provider (provider SLA 99.9%), all synchronous, deployed twice a week with a 2-minute error window per deploy. Compute what can honestly be promised and what would have to change.