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.

Learn this topic