An SLA is the customer service level agreement. An SLO is the target and stands for service level objective. An SLI is the measurement and stands for service level indicator.

Three numbers that share one sentence

In this invented example, Lantern Works tells North Quay Theatre that checkout will be "99.9%". The figure is made up. It then appears in a contract, on a dashboard, and in a monthly review. One room agreed with a customer. One room aimed. One room measured.

The agreement

The service level agreement is a documented agreement between a service provider and a customer. It identifies the services required and the expected level of service. It creates commitments between those parties, which is why it is a contract in this graph. Lantern's invented agreement names checkout, the service, and commits to a target.

The customer here is an organization, North Quay Theatre, the service level agreement customer organization. That party defines the expected level with the provider and need not be a purchasing customer. When the customer is a person, the agreement names the service level agreement customer person. An agreement between internal teams, with no customer, is not an SLA.

The site reliability engineering (SRE) book tells an agreement apart from an objective by the consequence of a miss, such as a service credit. A target with no consequence is an objective, even if someone calls it an agreement. A target with no documented agreement is an objective. The agreement is not the target figure and not the measurement.

The target

The service level objective is a target value or range for a service level over a stated window. One shape is a lower bound on a success proportion. Another is a bound on a duration. In the example the target is 99.9 percent of valid checkout attempts during the calendar month. The service level objective target stores a success proportion as a fraction of one: 99.9 percent is 0.999, not 99.9. A duration target is a duration. The objective is the target. It can exist with no SLA. Putting it in the agreement is a further fact: this customer was promised this objective.

In the Information Technology Infrastructure Library (ITIL), a service level is a metric of expected or achieved quality and does not split the target from the measurement. This concept is only the target.

The error budget is the unreliability a success-proportion objective allows in its window: one minus the target. Here, 1 − 0.999 is 0.001, so the allowance is 0.1 percent of valid checkouts. Applied to the valid events in the window, that proportion is a count of allowed bad events. The budget is that allowance. It is not the amount still unused after failures have consumed some of it, not a second objective, and not availability. A target that is not a proportion, such as an average latency under a stated duration, is not turned into a budget by subtracting it from one.

The measurement

The service level indicator is a quantitative measure of one aspect of the level of service. Each indicator names its own good events and valid events. Because that definition changes from one indicator to another, the indicator is an entity here and not one measure with a single formula. For this invented checkout it is successful checkouts divided by valid checkouts in the window. The indicator is not the target. The objective points at an indicator and says what value is aimed at. Changing which events count as valid, for example by excluding bot traffic, changes the measurement even when the 0.999 target stays on the page.

Availability is good events divided by valid events. ITIL uses the word for the ability of a service to perform its agreed function when required. This concept is a measurement of that ability, not the ability and not a target. Counting time, good events are the time the service could perform that function. Counting requests, good events are the successful well-formed requests and valid events are the well-formed requests. One figure uses one of those definitions. A duration of uptime is not this proportion.

A key performance indicator (KPI) judges success in meeting an objective. The formula is part of that choice, so it is an entity rather than one measure fixed here. It judges a business result, such as completed bookings. An SLI measures service behavior. When the indicator is about a process, that process is the key performance indicator business process.

Whether the agreement was met

SLA compliance rate is the proportion of the targets in one agreement that were met in a stated window. If the invented agreement has two targets and one was missed, the rate is one half. This proportion is defined here so several targets can be counted together. It is not a term from ITIL or from the SRE book, not availability, and not an error budget. It does not say which missed target carries a consequence. Meeting each target is decided on that target's own indicator.

WordWhat it isLantern's invented checkout
SLAA documented agreement with a customerThe contract with North Quay Theatre
SLOThe target over a window99.9 percent, stored as 0.999
SLIThe measurement, with its own good and valid eventsSuccessful checkouts / valid checkouts
Error budgetOne minus a success-proportion target0.001, the allowance, not the remainder
AvailabilityGood events / valid events, time or requestsSay which definition the figure uses
SLA compliance rateAgreed targets met / agreed targets that appliedNot the checkout indicator

A non-functional requirement can state availability as a need before anything is in production. User story vs use case vs requirement keeps that need separate from the objective that later checks it. An objective may be how a quality requirement is checked in production. The objective is not the requirement. DevOps Research and Assessment (DORA) metrics and mean time to restore (MTTR) keeps failed deployment recovery time separate from the other delivery measures. None of them replaces the indicator in the agreement.

When someone says "we missed 99.9%", ask whether they mean the promise, the target, or the measurement, and whether the denominator was time or requests. The arithmetic is the invented example, not a benchmark.