Skip to content
AlertPing

Guides

SLA vs SLO vs SLI: what is the difference?

| Guides | 7 min read

An SLI is what you measure, an SLO is what you aim for, and an SLA is what you promise. The SLI (service level indicator) is a number from monitoring, like the percentage of successful requests. The SLO (service level objective) is your internal target for that number, say 99.95%. The SLA (service level agreement) is the contractual promise to the customer, usually set looser than the SLO, with a refund attached if you miss it. The order is fixed: you measure the SLI, aim at the SLO, and promise the SLA.

These three get swapped around constantly, and the confusion is not harmless. Promise an SLA you have no SLI to measure, and you cannot prove you met it. Set an SLO equal to your SLA, and you have left yourself no room to react before the promise breaks. Getting the relationship right is what turns "we have good uptime" into something you can actually run a business on.

The three, defined

Term Stands for What it is Example
SLIService Level IndicatorA measured number about the service99.982% of checks succeeded this month
SLOService Level ObjectiveYour internal target for the SLIKeep availability at or above 99.95%
SLAService Level AgreementThe promise to the customer, with a penalty99.9% or a service credit is owed

The nesting matters. The SLI feeds the SLO, and the SLO sits stricter than the SLA. If your SLA is 99.9%, a sensible SLO is 99.95%, and the SLI is the live availability figure telling you where you actually are against both.

SLI: the number you measure

An SLI is a ratio of good events to total events, expressed as a percentage. For uptime, the usual SLI is the share of checks (or requests) that succeeded. For an API you might track the share of responses that returned the right payload within a latency threshold, not just the share that returned anything at all. The SLI is only as good as the measurement behind it, which is why it has to come from checks that run from outside your network, on an interval short enough to catch the outages that matter. That measurement is what SLA monitoring produces.

Pick SLIs that reflect the user's experience, not the server's mood. "CPU was under 80%" is a metric, but it is not an SLI, because a user does not care about your CPU. "The checkout page loaded correctly within two seconds" is an SLI, because that is the thing the user actually needed to happen.

SLO: the target you run against

The SLO is the line you hold internally. It is the number your alerting and your on-call decisions are built around, and it should be tighter than anything you have promised a customer. The gap between your SLO and 100% is your error budget: the amount of failure you have decided is acceptable in the window. When you are burning through that budget faster than the window can absorb, that is the signal to stop shipping risky changes and stabilize.

Set the SLO stricter than the SLA on purpose. If you promise customers 99.9% but run your own alerting at 99.95%, you start reacting to trouble with budget still on the clock, rather than after the contractual promise is already broken. The same objective-and-indicator discipline is spreading beyond uptime into watching the freshness and reliability of data pipelines, where a stale table is the outage.

alertping

Turn checks into an SLI you can trust

AlertPing measures the success rate of 30-second checks across three regions and publishes it as a rolling percentage, giving you the indicator your SLO and SLA both depend on.

SLA: the promise with teeth

The SLA is the external, contractual version. It states the availability level you guarantee, the window it is measured over, what counts as downtime, what is excluded (usually scheduled maintenance), and the consequence if you miss, typically a service credit against the customer's bill. Because money is attached, the SLA is the one that has to be measured with a number you can defend in a dispute, which loops back to the SLI: no credible indicator, no defensible agreement.

A common mistake is to write the SLA first, pulled from a competitor's marketing, then discover you have no way to measure it and no headroom to hold it. Build it the other direction. Decide what you can measure (SLI), set a target you can actually hit (SLO), then promise a level below that target with confidence (SLA). We cover how to choose that promised level in what is a good uptime percentage.

How they work together

Walk one number through all three. Your monitoring reports 99.982% availability this month: that is the SLI. Your internal target is 99.95%, so you are comfortably above your SLO and have error budget to spare. Your customer contract promises 99.9%, the SLA, which you have clearly met, so no service credits are owed. One measured figure, read against two lines, tells you your engineering is healthy and your contracts are safe. That is the whole point of keeping the three straight: measure once, and know both where you stand and what you owe.

keep reading

More from the blog

· Guides

What is a status page?

6 min read

· Guides

Status page vs uptime monitoring: what is the difference?

6 min read

· Guides

What does 99.9% uptime mean?

6 min read

· Guides

What is five nines (99.999%) uptime?

8 min read

· Guides

How to calculate uptime percentage

7 min read

· Guides

How to get alerts when your website goes down

7 min read

· Guides

How to monitor an online store for downtime

9 min read

· Guides

Why is my Shopify store unavailable?

8 min read

· Comparisons

How much does Site24x7 cost?

8 min read

· Guides

What is a dead man's switch in monitoring?

9 min read

· Guides

Why is my WordPress site down?

9 min read

· Guides

How to monitor WooCommerce uptime and checkout

8 min read

· Guides

How to monitor an API for errors, not just uptime

8 min read

· Economics

How much does website downtime cost?

8 min read

· Guides

How to monitor a cron job

9 min read

· Comparisons

Synthetic monitoring vs real user monitoring

8 min read

· Benchmarks

What is a good uptime percentage?

7 min read

· SLAs

99.99 uptime meaning: SLAs and the real cost of each nine

8 min read

· Guides

How to monitor website uptime

8 min read

· Playbooks

Incident communication best practices

6 min read

Know the second your site goes down

Checks every 30 seconds, confirmed from 3 regions, alerts on every channel. Running in under a minute.

See pricing