An SLO is an internal reliability target measured by an SLI; an SLA is an external contract that may rely on SLOs but adds remedies if targets are missed. The practical consequence: engineering teams manage SLOs day to day, while legal and product teams negotiate SLAs around a subset of those same targets, usually with looser thresholds and financial consequences attached.
TL;DR:
- Choose SLIs that reflect user experience, such as request success or latency; define exclusions, then review the target after a rolling window of 28 days.
- Keep internal SLOs at least one nine stricter than external SLAs, giving engineering time to respond before a miss triggers service credits.
- A 99.9% availability SLO allows roughly 43 minutes of downtime over 30 days; rising burn rates can trigger incident reviews or release freezes.
- Put only reliably measured targets visible to customers in contracts, and document data sources, time zones, exclusions, and dispute procedures alongside service credit terms.
Definitions: What SLIs, SLOs, and SLAs Mean in Practice
The three terms describe a chain, not three synonyms for “uptime.” Getting the definitions right prevents the kind of confusion that leads teams to promise contractual numbers they never actually measure.
An SLI, or service level indicator, is a quantitative measurement of some aspect of the service your users experience: the fraction of requests served successfully, the latency of the 95th percentile request, or the percentage of a batch job completed on time. Good SLIs are user-centric and scale from 0 to 100%, which makes them easy to compare against a target.
An SLO, or service level objective, is that target applied over a time window, such as a high availability percentage measured over a rolling one-month period. Teams often track several SLIs under one SLO, combining availability and latency into a single reliability story for a service.
An SLA, or service level agreement, is the external contract built on top of some of those targets, typically with remedies such as service credits when a provider misses its commitment. SLAs are legally binding in a way SLOs are not, which is exactly why they tend to use more conservative numbers.
Common mistakes worth avoiding:
- Calling an internal dashboard metric an “SLA” when no contract or customer commitment exists behind it.
- Setting the SLA number identical to the internal SLO, leaving no operating margin.
- Treating an SLI as a target rather than a raw measurement.
How They Relate: SLI, SLO, and SLA Ownership
The flow runs in one direction: SLIs feed SLOs, and SLOs inform SLAs. An SLI without a target is just telemetry. An SLO without a measurement behind it is a guess. And an SLA without a defined SLI underneath it is a promise nobody can verify.
Ownership tends to split along predictable lines:
- Engineering and SRE teams define and instrument SLIs, since they understand what the system can reliably measure.
- Product and engineering jointly set SLOs, balancing user expectations against operational cost.
- Product, legal, and sales negotiate SLAs, translating a subset of SLOs into contractual language with remedies.
Internal SLOs are almost always stricter than the external SLA built on top of them. Google’s SRE guidance frames the test simply: ask what happens if the target is missed. If the answer is “we page someone and investigate,” that’s an SLO. If the answer is “we owe the customer a credit,” that’s an SLA. The gap between the two numbers is a deliberate buffer, giving engineering room to react before a missed internal target becomes a missed contractual one.
Pro Tip: Keep your SLA number at least one nine looser than your internal SLO, so an SRE team has time to fix a problem before it becomes a billing event.
Error Budget and Burn Rate: The Operational Control Loop
An error budget is simply 1 minus the SLO, expressed as the amount of unreliability you’re allowed to spend. A 99.9% availability SLO leaves a 0.1% error budget over the measurement window, which the SRE workbook translates into a concrete allowance, such as roughly 43 minutes of downtime across a 30-day month.

An SLO with a high percentage yields a correspondingly small error budget, and burn-rate thresholds determine how urgently a team should respond when that budget is being consumed faster than expected.
Burn rate measures how quickly the budget is being spent relative to the window. A burn rate of 1 means you’re on pace to exhaust the budget exactly at the end of the window; a burn rate of 10 means you’ll exhaust it in a tenth of the time. Multi-window evaluation, commonly pairing a 7-day and a 28-day lookback, helps distinguish a brief spike from a sustained problem.
Typical operational responses, in increasing order of severity:
- Low burn rate: log the trend, no action required beyond normal monitoring.
- Moderate sustained burn: open a tracked incident and schedule a reliability review.
- High burn rate over a short window: trigger a release freeze until the budget stabilizes.
- Budget fully exhausted: halt non-critical releases and prioritize a reliability sprint, with a required postmortem before resuming normal velocity.
This is the mechanism that turns an abstract target into a decision rule, rather than a number that only shows up in a quarterly report.
Choosing SLIs and Setting SLOs: a Practical Checklist
Picking the wrong SLI undermines everything built on top of it. A good indicator needs to be user-facing, expressible on a 0 to 100% scale, and correlated with how users actually perceive the service, criteria laid out clearly in Google Cloud’s SLI guidance. A metric that moves without any change in user experience, like raw CPU utilization, makes a poor SLI even if it’s easy to collect.
Start with the checklist:
- Pick indicators tied to what users notice: request success, latency, correctness, or freshness.
- Define exclusions clearly, such as planned maintenance windows or client-side errors that aren’t your system’s fault.
- Choose a measurement window that aligns with your release cadence, a rolling 28-day window works well for teams shipping weekly.
- Classify errors consistently (timeout, 5xx, data corruption) so the same event is never counted differently across dashboards.
- Pull data from a source close to the user, like a load balancer or edge proxy, rather than an internal service that might miss client-side failures.
Multiple SLIs under one SLO are normal for complex services. An API might combine an availability SLI with a p99 latency SLI, each with its own threshold, rolled up into a single reliability objective for that endpoint.
Pro Tip: Treat your first SLO target as a hypothesis, not a commitment. Review it after one full measurement window and adjust before you ever expose it in a customer-facing conversation.
Teams building rate-limited APIs face this choice directly, since request-level decisions around throttling change what counts as a legitimate error versus an expected rejection.
Mapping SLOs Into SLAs: Contract Wording and Remedies
Not every SLO belongs in an SLA. A good rule: only put a target in a contract when you can measure it reliably, defend it under scrutiny, and absorb the cost of the remedy if you miss it.
Guidelines worth following when drafting that language:
- Keep SLAs to a small number of customer-visible metrics, usually availability and sometimes latency, rather than every internal SLO.
- Set the SLA threshold looser than the internal SLO, preserving the operating buffer discussed earlier.
- Document the exact measurement source, time zone, and exclusions in the contract itself, not in a separate internal wiki page.
- Specify the dispute resolution process: who pulls the data, how discrepancies get resolved, and within what time frame.
Remedies are typically service credits proportional to the shortfall rather than cash refunds, which keeps the financial exposure predictable for both sides. Industry guidance on SRE fundamentals consistently reinforces this pattern: conservative, well-documented SLAs paired with stricter internal SLOs and automated monitoring that catches problems before they ever reach contractual territory.
Concrete Examples and Short Templates Teams Can Adapt
A few copy-ready lines make the abstractions concrete:
- Availability SLO: 99.95% of HTTP requests return a non-5xx response, measured over a rolling 28-day window, excluding scheduled maintenance.
- Latency SLO: 95% of requests complete in under 300 milliseconds, measured at the load balancer.
- Error-rate SLO: fewer than 0.1% of payment transactions fail due to system error, excluding user input errors, measured daily.
- SLA excerpt: “Provider guarantees 99.9% monthly uptime; shortfalls below this threshold result in service credits per the schedule in Exhibit A.”
A minimal SLI specification should state what’s measured, how it’s collected, and what’s explicitly excluded, that last part prevents the most common disputes later. An error-budget policy excerpt might read: at 2x burn rate over 7 days, open a tracked incident; at exhausted budget, freeze non-critical releases until a postmortem is filed.
Using Error Budgets to Move Faster, Not Slower
The most common misreading of error budgets treats them as a punishment mechanism. They’re the opposite: a budget that isn’t being spent is a signal that a team is over-investing in reliability at the expense of shipping. Error budgets give engineering a number to argue with, instead of a vague sense that “reliability matters” versus “ship faster.” We build monitoring and automation into the modular systems we deliver, providing teams the instrumentation layer this kind of policy requires to function.
— Bitecode
Build the Measurement Layer Your SLOs Actually Need
Most teams don’t fail at defining SLOs, they fail at instrumenting them consistently across services, dashboards, and the contracts that depend on them. We deliver custom business software with up to 60% of the baseline system pre-built from modular components, which means the observability layer, the dashboards, and the automated response hooks that turn an error budget into an actual release gate can be running in weeks rather than months.
For teams managing infrastructure where physical constraints affect availability, generator fuel planning for data centers is one example of a dependency that belongs in your availability SLI math, covered in detail in this data center fuel planning guide.
Our automation module connects directly to the kind of burn-rate thresholds and escalation policies described above, so a budget breach triggers a workflow instead of waiting for someone to notice a dashboard. For organizations running AI-driven, blockchain, or multi-module financial workflows, reliability targets need to span every component, not just the easiest one to measure, which is where our cloud application services come in.
If your current SLA language was written before anyone instrumented the system behind it, that’s worth fixing before the next renewal. Get in touch with our team to scope what a properly measured SLO framework would look like for your stack.
FAQ
Is an SLO Part of an SLA?
Not always. An SLO can exist purely as an internal engineering target with no contractual weight, and many SLOs never appear in a customer-facing agreement at all. When an SLA does exist, it’s typically built on a subset of SLOs, usually with a looser threshold and defined remedies attached.
What Is the Difference Between an SLA and an SOP?
An SLA is a contract defining a performance commitment and the remedy if it’s missed, while an SOP, or standard operating procedure, is an internal document describing how a team performs a specific task. They serve different purposes: one sets a target with external stakes, the other documents the process used to meet it.
What Does SLA/SLO Compliance Mean?
SLA/SLO compliance means a service’s measured performance, tracked through its SLIs, stays within the thresholds defined by its SLO or SLA over the agreed measurement window. Compliance is typically verified against the same data source documented in the contract to avoid disputes over which numbers count.
What Do SLA, SLO, and SLI Mean Together?
An SLI is the measurement, an SLO is the internal target set on that measurement, and an SLA is the external contract that may use a looser version of that target along with remedies if it’s missed. Google’s SRE framing separates the three by asking what happens when a target is missed: an operational response points to an SLO, a financial or contractual consequence points to an SLA.
Sources
- Defining SLO: service level objective meaning — Google SRE
- SLI metrics overview — Google / Cloud monitoring
- SLO vs SLA — Miro
