Service Level Objectives & Error Budgets
Module 2 of the DevOps Institute's SRE Foundation (SREF) syllabus is the module the rest of the exam quietly leans on — postmortems, toil, and monitoring all eventually cash out in the same currency this module defines. This page treats the material the way the exam actually asks about it: as precise, single-best-answer distinctions rather than a general discussion. You'll leave with the exact SLA/SLO/SLI boundary, the arithmetic that turns an SLO target into a spendable number, and what a properly written error-budget policy is supposed to force a team to do once that number hits zero. For the full worked definitions, the guidance on choosing good SLIs, and the plain-language derivation, see SLIs, SLOs & error budgets in the Foundations track — this page assumes you've read it or will read it alongside this one, and stays focused on how DevOps Institute phrases and tests the same ground.
Imagine a spelling test where every word looks almost identical to another word — "desert" and "dessert." Getting it right depends entirely on which one you meant, not on partial credit for being close. That's the exact shape of this exam module: SLI, SLO, and SLA are three different words for three different things, and mixing any two of them up on a multiple-choice question costs you the whole question, not half of it. The error budget is what's left over once you've correctly named the SLO — like knowing exactly how many days you're allowed to be late to school this term before detention kicks in, and knowing in advance, in writing, what detention actually means when it does.
What SREF Module 2 actually tests
☺ Like you're 10: The test doesn't ask you to build anything — it asks you to correctly label three lookalike ideas and do one small piece of math, over and over, with no notes.
The SRE Foundation is a closed-book, single-best-answer paper — 40 questions in 60 minutes, 65% to pass, no partial credit, no live terminal. Within that format, Module 2 tends to surface in three recognisable stem shapes. The first is definitional: "Which of the following best describes an SLA?" — a straight vocabulary check with three plausible-sounding wrong answers built from the other two terms. The second is arithmetic: give you an SLO percentage and a window, and ask for the resulting error budget in minutes or requests. The third is situational: describe a team whose budget is exhausted and ask what a properly implemented error-budget policy requires next, with at least one tempting-but-wrong option that "solves" the problem by moving the target instead of meeting it.
DevOps Institute doesn't publish an official per-module question quota for the SREF paper the way some certification bodies publish domain weights — treat any specific percentage you see quoted online skeptically and verify current guidance on the vendor's own page before you register. What accredited courseware and repeated candidate reports agree on is that this module is disproportionately high-yield: SLIs, SLOs, and error budgets are the vocabulary every later module in the syllabus assumes you already have cold, from Reducing Toil's toil-versus-engineering-time tradeoffs to Anti-Fragility & Learning from Failure's postmortem framing. Get this module exactly right and several later ones get noticeably easier.
SLI, SLO, and SLA — the distinction the exam is built to test
☺ Like you're 10: One is the measurement, one is your own goal for that measurement, and one is the promise you sign with someone else — mixing any two of them up is the wrong answer.
Three terms, one chain
The exam expects you to place any given percentage or metric into exactly one of three buckets, correctly, on sight. The chain runs in a fixed order — you can't set a target before you have something to measure, and you can't sign a contract before you have an internal target to set it against:
| Term | What it is | Who sets it | Worked example |
|---|---|---|---|
| SLI — Service Level Indicator | The quantitative measurement itself — a ratio of good events to valid events | The engineering team, as an instrumentation decision | "% of checkout requests returning a 2xx status within 300ms" |
| SLO — Service Level Objective | An internal target value or range for an SLI, over a defined window | Engineering and product together | "99.9% of checkout requests, measured over a rolling 28-day window" |
| SLA — Service Level Agreement | An external, contractual promise with stated consequences for a miss | Business/legal, negotiated with the customer | "99.5% or the customer receives a service credit" |
Notice what each column is actually testing. "What it is" separates a raw measurement mechanism from a target value from a contract. "Who sets it" separates an engineering decision from a business one — the exam likes to ask who is responsible for a given number, and the SLA is the one answer that's never "the SRE team alone." "Worked example" is where most stems actually live: you'll be handed two or three percentages in a short scenario and asked to say which one is which, with no term named for you.
The trap: only one of the three has financial teeth
A stem that reads "which of these three commitments carries a penalty if missed" always resolves to the SLA — it's the only one of the three that's external and contractual. The SLO and the SLI are both internal: an SLO miss triggers your own error-budget policy (the subject of the rest of this page), not a check written to a customer. The exam also tests the direction of the gap between SLO and SLA: a well-run SLA is set looser than the internal SLO on purpose, so ordinary operational noise doesn't trigger a customer-facing penalty every time the team has a slightly rough week. A stem describing an SLA set tighter than the SLO, or identical to it, is describing a broken setup — with an SLA that tight, every SLO miss is simultaneously a contract breach, and the team has thrown away its own early-warning window. For how to actually choose a good SLI in the first place — the "few, user-facing, and boundary-measured" criteria — see SLIs, SLOs & error budgets; the instrumentation side of the SLI is covered in depth in Monitoring & Service Level Indicators, Module 4.
Deriving an error budget from an SLO target
☺ Like you're 10: Take 100%, subtract your target, and that leftover sliver is the exact number of minutes — or failed requests — you're allowed to spend before the policy kicks in.
The formula
Error budget = (100% − SLO) × window
time-based: window expressed in minutes (or seconds) in the measurement period
request-based: window expressed in total valid requests in the measurement periodThe window matters as much as the percentage, and the exam knows it: an SLO stated without a window ("99.9% available") is incomplete, because the same percentage produces wildly different absolute numbers depending on whether it's measured over a day, a rolling 28 days, or a calendar month. Unless a stem says otherwise, assume a 30-day window and use 43,200 minutes (30 × 24 × 60) as the total — it's the round number the exam gravitates toward because the arithmetic stays clean.
Two worked examples
Time-based, across the SLO tiers you're most likely to see on the paper:
| SLO | Error rate allowed | Budget over a 30-day window (43,200 min) |
|---|---|---|
| 99% | 1% | 432 min (~7.2 hours) |
| 99.9% ("three nines") | 0.1% | 43.2 min |
| 99.95% | 0.05% | 21.6 min |
| 99.99% ("four nines") | 0.01% | 4.32 min |
| 99.999% ("five nines") | 0.001% | 0.432 min (~26 sec) |
Request-based, the shape you'll see whenever a stem talks about success rate rather than uptime: a checkout API serves 5,000,000 requests over a 30-day window and carries a 99.9% success-rate SLO. Its error budget is 0.1% × 5,000,000 = 5,000 failed requests — for the entire 30-day window, not 5,000 per day. That scope trap is worth internalising on its own: a stem that quietly asks for a daily figure when it gave you a 30-day budget (or vice versa) is testing whether you noticed the window, not whether you can multiply.
An error budget isn't a bug count you're racing to stay under — it's spendable risk capacity. Deploys, canary rollouts, load tests, and a deliberate chaos engineering experiment (see the deep dive on chaos engineering at scale) all draw from the same budget as unplanned incidents. Spending it on purpose, with intent, is the entire reason the number exists.
What an error-budget policy actually enforces
☺ Like you're 10: The policy is the part written down in advance — before anyone's stressed about a launch — that says exactly what happens the moment the number hits zero.
An error-budget policy is a pre-agreed, written governance mechanism, signed off by both engineering and product/business stakeholders before anyone is under pressure — not negotiated in the moment during an incident review. A properly implemented one specifies at least three things: the trigger (commonly "budget fully consumed," sometimes an earlier warning threshold such as 75% spent with time left in the window), the enforcement action (freeze new feature launches and other budget-spending risk, redirect a defined share of engineering capacity to reliability work), and an exception path for genuinely urgent, low-risk changes — such as a security patch — that requires a named approver, not an ad hoc argument with whoever's on call that week. Google's own policy, the one that popularised the concept, is worked through with what actually happened the first time it froze a real launch in Google & the error-budget policy.
Budget remaining, on its own, doesn't tell you how urgently to react — a service can burn a 30-day budget flat in six hours or drip it evenly across the whole month, and those two situations demand completely different alerting responses even though they end at the same zero. The alerting math built specifically to detect the fast case early is covered in multi-window, multi-burn-rate alerting, and how the window itself (rolling versus calendar, and combining several SLOs into one composite target) changes this arithmetic is covered in SLO windows & composite SLOs. Neither is core SREF Module 2 territory, but both are the natural next stop once this module's arithmetic is automatic.
The exam sometimes hands you an SLA figure inside an error-budget question, hoping you'll plug it straight into the formula. Don't — an error budget is derived from the SLO, never the SLA. The SLA is a separate, looser, external commitment with its own consequences; using it in place of the SLO produces a budget number that's real for nothing, since it doesn't match either the team's actual internal target or the contract's own breach condition. If a stem gives you both figures, the SLO is the one that feeds the arithmetic — the SLA is there to test whether you noticed the difference.
Try it in the exam's phrasing
☺ Like you're 10: Three questions in the exact single-best-answer shape you'll see on the real paper — pick one option, then check.
The SREF paper is entirely single-best-answer multiple choice: four options, exactly one correct, no partial credit for a well-reasoned wrong answer. The three questions below are written in that register. For a much larger bank drilled specifically on this ground, see Practice · SRE Principles, SLOs & Toil and the timed Drill — SLO & Error-Budget Calculation.
Q1. A payments platform's engineering team sets an internal target of 99.95% successful transaction processing, measured over a rolling 30-day window. Separately, the company's signed contract with its merchants promises 99.9% and includes service credits for any shortfall. What does the 99.9% figure BEST represent?
- A. The SLI
- B. The SLO
- C. The SLA
- D. The error budget
Check the answer
C — the SLA. It's external, contractual, and carries stated financial consequences (service credits) — the definitional signature of an SLA. The 99.95% figure is the SLO, the internal target the team holds itself to. There's no SLI value stated in the scenario at all: the SLI is the measurement mechanism ("% of transactions processed successfully"), not a percentage target by itself — a common trap is treating any bare percentage as automatically "the SLI." D is wrong because no window-derived downtime or failure count was ever computed in the stem.
Q2. A service has a 99.9% SLO for request success rate, measured over a rolling 30-day window (43,200 minutes). Approximately how much downtime does the team's error budget allow for that window?
- A. 4.32 minutes
- B. 21.6 minutes
- C. 43.2 minutes
- D. 432 minutes
Check the answer
C — 43.2 minutes. (100% − 99.9%) × 43,200 min = 0.1% × 43,200 = 43.2 min. A is the budget for a 99.99% SLO instead, B is the budget for 99.95%, and D is what you get if you forget to convert the percentage before multiplying — a factor-of-ten slip that's worth checking for by eye before you commit to an answer under time pressure.
Q3. A team's error budget for the current SLO window has been fully consumed by a string of incidents, with eleven days left before the window rolls forward. According to a properly implemented error-budget policy, what is the standard next step?
- A. Immediately reassign the on-call engineers who were paged during the incidents.
- B. Lower the SLO target so the team is back within its now-smaller allowed error rate.
- C. Freeze new feature releases and prioritize reliability work until the budget recovers or the policy's exception process is invoked.
- D. Continue shipping at the normal release cadence, since the window will roll forward on its own regardless.
Check the answer
C. Freezing risky launches and redirecting engineering effort to reliability work is exactly what a pre-agreed error-budget policy exists to enforce once the trigger condition is met. A is a punitive, individual-blame response that has no place in a blameless framework (see Anti-Fragility & Learning from Failure) and doesn't address the underlying reliability gap. B is the single most tested wrong answer on this topic — moving the target to match the failure defeats the entire purpose of having a target and is explicitly called out as an anti-pattern in SRE practice. D ignores the policy as if budget exhaustion carried no consequence at all, which is the same as not having a policy.
Where this leaves you in the blueprint
☺ Like you're 10: Every later module assumes you can do this module's math in your head — that's why it comes right after the principles module, not near the end.
Module 1, SRE Principles & Practices, gives you the philosophy this module turns into arithmetic. Module 3, Reducing Toil, spends the engineering time this module's budget is meant to protect. To practice the arithmetic itself under timed conditions, run the SLO & Error-Budget Calculation drill, or apply it to a real design decision in Capstone Part 1 — Define the SLOs. Keep the chain from this page as a filter for everything that follows: if a later module's example doesn't reduce to "some SLI, measured against some SLO, spending some error budget," it probably isn't SREF Module 2 territory, whatever it's labeled.
Sol the Sloth: We've spent the whole error budget for this window. Forty-three minutes down, all forty-three spent, twelve days early.
Foxy: So why don't we just lower the SLO to 99.5%? Then we're back in compliance today. No policy trigger, no freeze, problem solved.
Timmy the Turtle: Because the SLO isn't the thing that's broken — the reliability is. Moving the target to match the failure teaches the org nothing except how to move targets next time too.
Sol the Sloth: Right. The policy exists for exactly this moment: freeze new launches, put engineers on whatever burned the budget, and let the window roll forward honestly.
Foxy: Fine, but who actually enforces the freeze? Nobody wants to be the one blocking somebody else's launch.
Professor Owl: That's why the policy is written down and agreed to before anyone's under pressure. Enforcement isn't a personality contest once the rule already exists on paper.
1. In one sentence each, distinguish an SLI, an SLO, and an SLA — and say which one carries financial consequences. 2. A service has a 99.99% SLO measured over a 30-day (43,200-minute) window. What's its error budget in minutes? 3. What does a properly implemented error-budget policy require once a window's budget is exhausted, and why is "just lower the SLO" not an acceptable substitute? 4. What exam format should you expect this material in, and roughly how many questions and minutes does the SREF paper give you overall?
Check your answers
- An SLI is the measured metric itself (e.g. % of requests under a latency threshold); an SLO is the internal target set for that SLI over a defined window (e.g. 99.9% over 30 days); an SLA is an external, contractual promise with financial or business consequences for missing it. Only the SLA carries those financial teeth — an SLO miss triggers the internal error-budget policy, not a customer payout.
- 4.32 minutes —
(100% − 99.99%) × 43,200 = 0.01% × 43,200 = 4.32 min. - It requires freezing new feature releases and other budget-spending risk, and redirecting a defined share of engineering time to reliability work, until the budget recovers or a named exception process is invoked. Lowering the SLO instead moves the target to match the failure rather than fixing the failure — it makes the team's stated reliability commitment meaningless and removes the exact signal the policy exists to surface.
- Closed-book, single-best-answer multiple choice — 40 questions in 60 minutes, 65% required to pass (verify current specifics on DevOps Institute's own certification page before registering, since format details can change).