# Your First SLO

> One service, one number, and a target you already meet.

Source: https://christwentyfour.com/blog/your-first-slo

You do not need a company-wide program. You need one service and one number.

## Start where the argument happens

An SLO ends the recurring fight over whether something is good enough to ship. Pick the most contested service, not the most critical one.

## Measure what users notice

Successful requests over total requests. Requests under a latency threshold over total requests. Ask whether a customer could tell the difference.

## Set the target from what you already deliver

If you run at 99.7 percent, do not promise 99.95. A target you always miss teaches everyone to ignore it. For the first six months, the target exists to catch regressions.

Your dependencies cap the target too. Services in series multiply:

$$A_{\text{series}} = \prod_i A_i$$

**Worked example:** **99.7%** three 99.9% in series

Three services at 99.9% each give \(0.999^3 \approx 99.7\%\). You cannot promise more than that on top of them.

Redundancy works the other way:

$$A_{\text{parallel}} = 1 - \prod_i (1 - A_i)$$

**Worked example:** **99.99%** two 99% in parallel

Two 99% replicas give \(1 - 0.01^2 = 99.99\%\), if they fail independently. They often do not.

## The error budget changes behavior

The budget is the unreliability you agreed to accept.

$$\text{error budget} = (1 - \mathrm{SLO}) \times \text{window}$$

**Worked example:** **43.2** minutes of budget

At 99.9% over 30 days that is \(0.001 \times 43{,}200 = 43.2\) minutes of full outage.

Burn rate says how fast you are spending it:

$$\text{burn rate} = \frac{\text{observed error rate}}{1 - \mathrm{SLO}}$$

**Worked example:** **14.4×** burn rate · **50 h** budget gone

A 1.44% error rate against a 0.1% allowance is a burn rate of 14.4. Hold that for one hour and you spend 2% of the month's budget. Hold it and the budget is gone in 50 hours. That is the usual fast-burn page.

**Error budget remaining, 99.9% SLO over 30 days**

At 14.4× burn the budget is gone in 50 hours. At 1× it lasts the month.

When the budget is healthy, ship. When it runs out, stop adding risk and work on stability. The rule is set in advance, calmly, so nobody argues at 2am.

## Expect bad numbers at first

The first month exposes bad instrumentation. Numbers will not match. A health check will measure the load balancer. That is normal, and it is the work. Later, people will reach for the number instead of adjectives.
