DEV Community

Garima Kushwaha
Garima Kushwaha

Posted on

Stop Mixing Them Up: SLI vs SLO vs SLA Explained

I used these three terms interchangeably, and many people around me did the same. One day, I decided to sit down and properly understand the difference between them. If you have also thought they were basically the same thing, welcome to my first article.

When building reliable systems, engineers often hear terms like SLI, SLO, and SLA used interchangeably. They are related, but each serves a very different purpose.

A simple way to think about them:

  • SLI = What is happening
  • SLO = What we want
  • SLA = What we promise (and pay for if broken)

Let’s break this down with a real example.

## Tier 1: SLI (Service Level Indicator) : The Metric

An SLI is a quantifiable, real-time measurement of a system’s performance. It answers questions like: “How is the system performing right now?”

In system design, SLIs are usually expressed as a percentage:

SLI = (Good Events / Total Events) × 100
Enter fullscreen mode Exit fullscreen mode

Example: Checkout service latency

  • We define a “good event” as a checkout request completed in under 500ms.
  • SLI formula: (Number of checkout requests completed in under 500ms / Total checkout requests) × 100.
  • Current value: 99.5%.

This tells us the current health of the system, but it does not tell us whether that number is acceptable.

## Tier 2: SLO (Service Level Objective) : The Internal Target

An SLO takes an SLI and adds a target value and a time window. It is an internal goal set by engineering and product teams.
It answers: “What level of performance do we need to maintain to keep users happy?”

Example

  • SLO: “The checkout latency SLI must be >= 99% over a rolling 30-day window.”

The gap between 100% and the SLO, in this case 1%, is called the error budget.

This error budget allows teams to:

  • Release new features.
  • Run experiments.
  • Take controlled risks.

As long as the system stays within the SLO, the team is operating safely. Since our current SLI is 99.5%, we are comfortably meeting the SLO.

## Tier 3: SLA (Service Level Agreement) : The Business Contract

An SLA is a formal agreement between a service provider and a customer. It defines guarantees and penalties.
It answers: “What happens if the system fails, and what will it cost us?”

SLAs are typically less strict than SLOs because violating them has financial or legal consequences.

Example

  • SLA: “We guarantee that the checkout latency SLI will be >= 95% over a monthly billing cycle. If it drops below 95%, we will provide a 15% service credit on the monthly bill.”

In short:

  • SLO protects user experience.
  • SLA protects the business relationship.

Why the distinction matters

Many engineers understand the terms individually, but confusion happens when they are treated as interchangeable.

SLI measures reality, SLO defines the internal target, and SLA defines the external consequence. Understanding that distinction helps teams design systems that are reliable, practical, and aligned with both user expectations and business goals.

Please like and share this article if you found it helpful :)

Top comments (0)