Service Level Agreements (SLI / SLO / SLA)

Reliability is the most important feature of any system. To manage it, we use a tiered framework of indicators, objectives, and agreements.

The Math of Availability

Availability is typically expressed in "nines." The difference between three nines and four nines is an order of magnitude in operational rigor.

The "Nines" Table (30-Day Window)

Availability %Downtime per MonthDowntime per YearDescription
99% (Two)7.2 hours3.65 daysStandard for internal/non-critical tools.
99.9% (Three)43.8 minutes8.77 hoursTypical for high-quality SaaS products.
99.95% (3.5)21.9 minutes4.38 hoursStandard for critical enterprise services.
99.99% (Four)4.38 minutes52.6 minutes"Gold Standard" — requires full automation.
99.999% (Five)26.3 seconds5.26 minutesGlobal infrastructure (Carrier Grade).

Availability Calculation Formula

Availability = \frac{\text{Total Time} - \text{Downtime}}{\text{Total Time}} \times 100

Error Budgets: The Discipline of Risk

An Error Budget is the amount of unreliability you are willing to tolerate in a given window. It is the bridge between Product (feature velocity) and Engineering (reliability).

Calculation

For a 99.9% SLO over a 30-day window:

Burn Rate: The Proactive Signal

Burn rate is how fast you are consuming your error budget relative to the time window. It is the primary signal used for SRE paging.

Burn Rate Formula

\text{Burn Rate} = \frac{\frac{\text{Budget Consumed}}{\text{Time Window Consumed}}}{\frac{\text{Total Budget}}{\text{Total Time Window}}}

Implementing SLOs

1. Identify "Golden Signals"

2. Define the Window

A 28-day rolling window is often preferred over a calendar month to ensure that "bad Tuesdays" are always compared against the same day of the week, and it avoids the 28/30/31 day math variance.

3. Set Alerting Thresholds

Further Reading