ServicesIndustriesSolutionOur WorkCompanyBlogCareersGet in touch

HomeBlogAPR 2026

The uptime math behind a 99.98% commitment

What that number costs, what it permits, and why picking it before you understand the arithmetic is how teams end up trapped.

8 April 20267 MINSysStacksReliabilitySRE

Availability targets are usually chosen the way round numbers always are: someone suggests one that sounds serious, nobody objects, and it goes in the contract.

Then it becomes an engineering constraint for years.

What the numbers actually permit

Over thirty days:

  • 99.9% — 43 minutes of unavailability
  • 99.95% — 21 minutes
  • 99.98% — 8 minutes
  • 99.99% — 4 minutes

Read that as a monthly budget you are allowed to spend. Eight minutes is one bad deploy caught quickly, or one restart of a stateful service that takes longer than expected. It is not enough for a human to be paged, wake up, understand the problem, and act. At 99.98%, recovery has to be automatic or the budget is already gone.

That is the real content of the number. It is not a quality statement — it is a statement about how much of your recovery path is allowed to involve a person.

The cost curve is not linear

Each additional nine roughly multiplies what you must invest: redundancy across failure domains, automated failover that is actually tested, deploy tooling that can roll back without human judgment, and an on-call rotation staffed well enough that response times are consistent at 3am.

Going from 99.9% to 99.99% is not “ten times better.” It is a different operating model.

Define the SLI before the SLO

The target is meaningless until you say what “up” means. Server-side liveness checks will happily report a healthy service while every user request fails at the edge. The measurement has to come from somewhere that resembles the user’s position — the load balancer at minimum, real user monitoring ideally.

We have seen a platform report 99.99% for a quarter in which customers experienced two multi-hour outages. Both numbers were accurate. Only one of them was about the customers.

Spend the budget deliberately

An error budget that is never spent means the target is too loose and you are over-investing in reliability at the expense of shipping. A budget that is always exhausted means the target is too tight for the system as designed.

The useful version has consequences attached and agreed in advance: when the budget is spent, feature work stops and reliability work starts, until it recovers. Without that, the budget is a dashboard nobody acts on.

Pick the number last

Work out what your users actually need, what your current architecture can sustain, and what the next nine would cost. Then choose. A target chosen this way is one you can defend in an incident review — and, more importantly, one you can meet.

Keep reading

More from the practice

MAY 20265 MIN

Why small senior pods out-deliver large benches

MAR 20266 MIN

A governance checklist to clear before your first fine-tune

FEB 20269 MIN

What "production-grade" actually means for LLM systems