Site Reliability Engineering (SRE): SLIs/SLOs, Error Budgets and Toil — What to Know Before You Start

Most people meet reliability engineering at the worst possible moment: at 3 a.m., when the dashboard is red, the deploy is half-rolled-out, and someone is asking in chat whether to roll back. SRE exists to make that moment boring. Not by working harder during incidents, but by deciding in advance how much unreliability is acceptable — and letting that number drive releases, staffing and automation.

That is the core shift. Reliability is not "100% uptime"; it is a product decision expressed as a number. Once it is a number, you can argue about it, spend it, and run out of it. This article is about how that works inside, where the machinery cracks, and what it costs to learn it.

The mechanism: SLIs, SLOs and the budget between them

An SLI (service level indicator) is a measurement: "share of successful HTTP requests", "share of requests under 300 ms", "share of messages processed within 60 s". An SLO is a target on that indicator over a window: "99.9% of successful requests over 30 days". The gap between 100% and the SLO is the error budget.

Here is the non-obvious part: the budget is not a monitoring statistic, it is a spending account. The SLO says how much failure the product can absorb; the remaining budget is what engineering is allowed to burn on risk — deploys, migrations, experiments.

A walkthrough with real numbers

Take an API with a 99.9% SLO over 30 days. The math is arithmetic, not statistics:

  • 30 days = 43,200 minutes.
  • 0.1% of that = 43.2 minutes of full unavailability per month.
  • Or, if you count failed requests: 10 million requests/month × 0.001 = 10,000 failed requests.

Now the decision. Two weeks in, the budget is 60% consumed and a risky database migration is scheduled. A practitioner does not ask "is the migration safe?" — they ask "what is our remaining budget, and what will this cost if it goes wrong?" If the migration plausibly burns the remaining 40%, it waits, or it ships behind a feature flag with a staged rollout so failures are contained.

Order of steps matters here. Beginners usually start from tooling: install Prometheus, draw a dashboard, pick 99.99% because it sounds professional. The working order is the reverse:

  1. Pick the SLI that matches user pain — for a checkout flow, "successful payment" beats "CPU below 80%".
  2. Set the SLO from what the product actually needs, not from what the system currently achieves.
  3. Compute the budget and write down what it is for.
  4. Only then choose alerting — and alert on burn rate, not on instantaneous spikes. A 1-hour spike at 5% failure rate on a 99.9% SLO is alarming; a 2% failure rate sustained for a day is worse and often missed.
Key distinction An SLI measures the user's experience; an SLO is a promise about it; the error budget is the permission to break that promise a little. Alerting on infrastructure metrics instead of burn rate is the most common way teams build a dashboard nobody trusts.

Toil, on-call and why the pager is a design document

Toil is work that is manual, repetitive, automatable and scales linearly with the service. Restarting a stuck worker every morning is toil. Writing the script that restarts it — and the alert that says why it got stuck — is not. Teams that never measure toil discover it only when the on-call rotation burns out.

On-call quality is measurable too, and it is mostly a design problem, not a discipline problem. If the same alert fires five times a week and every time the fix is "ignore it", the alert is wrong. Actionable, urgent, and tied to a runbook — that is the bar. Everything else belongs in a ticket queue, not a pager.

Incidents have their own mechanics. The roles that matter — incident commander (decides, does not debug), scribe (timeline), comms lead (talks to stakeholders) — exist so the person with the deepest technical context is not also answering "when will it be fixed?". Without role separation, the best engineer becomes the bottleneck in the first ten minutes.

The blameless postmortem is the follow-through: a timeline, contributing factors, and action items with owners and dates. Blameless does not mean consequence-free; it means the analysis targets systems and decisions, because people who fear punishment hide the detail you need.

What to check first Before promising "we do SRE", count how many alerts fired last month and how many led to an action. A high ratio of ignored pages is a stronger signal of trouble than any uptime graph.

Where the scheme itself breaks

The SRE toolkit is a model, and models fail in predictable ways.

  • The SLO was set from the wrong user journey. You measure availability of the frontend while the real pain is a slow payment provider. Symptom: the dashboard is green and support tickets are not. Fix: re-derive SLIs from complaints and support data, not from what is easy to instrument.
  • The budget becomes a political weapon. One team burns it on releases, another is told to "protect" it, and the conversation turns into blame. Symptom: budget discussions appear in performance reviews. Fix: write the budget policy down before the first argument — who may spend it, on what, and what happens at zero.
  • The service changes shape and the SLO does not. A monolith becomes ten services; the old SLO now covers a fraction of traffic. Symptom: nobody can say which SLO a given alert belongs to. Fix: review SLOs on a schedule, tied to architecture changes.
  • Chaos experiments stop being safe. A game day that injects latency into a shared dependency can hit a real customer path. Symptom: the experiment's blast radius is described in prose, not in limits. Fix: constrain experiments by scope, duration and an automatic abort condition, and run them in staging or on a canary first.

If it is already too late — budget exhausted, trust gone — the recovery is usually the same: freeze risky changes, re-baseline the SLO against reality, and rebuild the alerting around burn rate with a small number of pages.

Learning paths and their real costs

Path Time Cost What you get
Self-study (books, talks, docs) Months, uneven Low Strong theory, weak feedback; you never learn whether your SLO design would survive a review
On-the-job practice 1–2 years Free, but slow and expensive in incidents Real stakes, real consequences, no safe sandbox
Structured course Weeks Moderate A sequenced path and someone checking your reasoning

The gap in self-study is not information — it is feedback on decisions. There is no correct answer to "what SLO should this service have"; there is only a defensible one, and you only learn the difference when someone pushes back on your numbers.

Where people go wrong Most beginners can define an SLO and cannot defend it. The skill that separates a practitioner is the ability to say: this SLI, this window, this budget, this release policy — and here is what we give up by choosing it.

Who this suits — and who it does not

SRE suits engineers who like systems thinking and are comfortable owning decisions with visible consequences: developers moving toward operations, sysadmins moving toward product thinking, team leads who need a language for reliability trade-offs. It does not suit people looking for a purely tooling certification path, or those who want to avoid on-call entirely — the discipline is built around it.

A structured route helps most when you already have some operational context and need the reasoning sharpened. Site Reliability Engineering (SRE) is built on Google SRE practice and cloud-native team experience, with personalized lessons that adapt to your level — and it walks through the error-budget math, postmortem templates and SLO design for a real service, so your decisions get checked rather than left untested.

Start with one service you actually run: pick a single SLI that reflects user pain, compute the budget for a 30-day window, and write down what you would spend it on. If you can defend that paragraph in front of a skeptical colleague, you already think like an SRE — and the course is there when you want the rest of the machinery around it.

← All posts

Ask AI about this article

Ask a question about this article — ASI Biont will answer based on its text.