Back to blog
2 min read
GuideStatus pages

How to write an uptime SLA you can actually keep

An SLA that looks good in a sales deck and fails in a real month is worse than no SLA. Here is how to promise only what your monitors and process can prove.

NK

Nabin Khair

Founder

Sales loves four nines. Operations remembers the month a dependency took you offline for an afternoon. An uptime SLA is a promise with a calculator attached. Write the calculator first.

Decide what "down" means

Before any percentage:

  • Which services are in scope (API, app, billing, not every microservice)?
  • Is slow-but-200 downtime, or only hard failures?
  • Do planned maintenance windows count if announced in advance?
  • Who measures: your monitors, theirs, or a public status page?

If two lawyers would disagree, customers will too. Write one paragraph customers can understand.

Pick a number from evidence

Look at the last three to six months of real incidents. Add a buffer for the unknown. If you have been at ~99.7% with messy detection, do not sell 99.99%. You are signing up for credits and distrust.

Nines are just downtime budgets. Use them as a translation layer, not as ambition cosplay.

Tie the SLA to detection you trust

If your monitors page on single-probe flakes, your "downtime" record will be fiction. If they under-detect, your SLA will look perfect while customers churn. The measurement system has to be the same one you believe at 3am, ideally multi-region confirmation, not a spreadsheet filled in after the fact.

Credits without theater

Say what customers get when you miss (credit, extension, nothing but honesty). Cap it. Explain how to claim. Ambiguous remedies turn every incident into a negotiation.

A starter shape

  • Scope: production app + API
  • Down: confirmed unavailability from our external monitors
  • Target: 99.9% monthly
  • Exclusions: announced maintenance within the window; customer-side network issues
  • Source of truth: status.yourdomain.com
  • Remedy: service credit up to X% of monthly fee

Ship that only when on-call, status updates, and monitors already exist. An SLA without a pager is a brochure.

Keep reading

More from the Tallwatch blog

More on monitoring, alerting, and status pages.