Menu

Earn Premium with Referrals

Invite your friends and earn Premium rewards through our referral program.

See how it works and start inviting friends.

Availability Budgets
HLD

Availability Budgets

Turning 'five nines' from a slogan into arithmetic — the math that shows what each nine actually costs.

The Nines Table (memorize this)

 availability    downtime/year    downtime/month
 99%             3.65 days        7.31 hours
 99.9%           8.77 hours       43.8 minutes
 99.99%          52.6 minutes     4.38 minutes
 99.999%         5.26 minutes     26 seconds

 each extra nine ≈ 10× harder. the table reframes every
 requirement conversation: "we need five nines" becomes
 "we can be down 26 seconds per MONTH" — suddenly negotiable.

Composite Availability: The Multiplication Trap

 chained dependencies multiply their UNAVAILABILITY... no —
 their availability multiplies, so unavailability compounds:

 request path: LB → api → auth svc → db
   .999 × .999 × .995 × .999 = .992   ← THREE nines lost!

 serial chains are availability quicksand:
 every dependency you ADD taxes the whole path.

 parallel redundancy adds instead:
   two independent instances either-up:
   1 − (1−a)² : .9 → .99, .99 → .9999
   redundancy is the only thing fighting multiplication.

Designing to a Budget

 work BACKWARD from the target:

 target: 99.95% for checkout flow (= 4.4 min/month)

 budget allocation across the path:
   LB/network:      0.01% budget  (managed, strong)
   api tier:        0.02%         (redundant, stateless)
   payment gateway: 0.05%         ← EXTERNAL! biggest risk
   database:        0.02%         (multi-AZ)
   
 external dependency eating half your budget?
 → graceful degradation paths become mandatory features,
   not nice-to-haves (queue-and-retry payment capture).

 error budgets (SRE formalization) then SPEND these numbers:
 move fast while budget remains; freeze when spent.

Where Availability Dies in Practice

CulpritShare of real outages
Config/deploy errorshuge (human change is #1)
Cascading overloadretry storms, missing timeouts
Single points of “hidden” failureshared cache, single region DNS
Dependency failuresthird parties, networks
 note what's ABSENT: hardware failure barely registers —
 redundancy solved it decades ago.
 modern availability engineering is mostly
 CHANGE SAFETY + LOAD SHEDDING discipline.

Interview Framing

“How available does your design need to be?” scored moves: translate nines into downtime via the table, composite-multiply the request path and SHOW the number, allocate budget with the largest slice to the weakest link (usually external), name degradation paths for budget overruns. Doing this arithmetic unprompted separates designers from diagram artists.

My Private Notes

Notes are auto-saved locally to this device.