SLO, SLI et SLA : la différence

SLI, SLO et SLA sont trois notions SRE liées qui décrivent la fiabilité d’un service en chiffres. En bref : le SLI est ce que vous mesurez, le SLO est l’objectif que vous fixez, le SLA est ce que vous promettez au client par contrat.

Définitions

  • SLI (Service Level Indicator) — un indicateur de qualité mesurable. Exemples : part des requêtes réussies, part des requêtes plus rapides que 300 ms, uptime.
  • SLO (Service Level Objective) — un objectif interne pour un SLI. Par exemple : « 99,9% des requêtes réussissent sur 30 jours ».
  • SLA (Service Level Agreement) — une promesse externe au client avec des conséquences (avoirs, compensation) en cas de manquement. Généralement plus souple que le SLO.

Error budget (budget d’erreurs)

Si SLO = 99,9%, alors 0,1% est le budget d’erreurs admissible. Sur 30 jours, cela représente environ 43 minutes d’indisponibilité. Tant que le budget n’est pas épuisé, vous pouvez livrer plus vite ; une fois épuisé, le focus passe à la stabilisation.

Exemple de SLI en PromQL

sum(rate(http_requests_total{code!~"5.."}[28d]))
/
sum(rate(http_requests_total[28d]))

C’est la part des réponses non-5xx sur une fenêtre de 28 jours — un candidat pour un SLI de disponibilité.

Comment le calculer dans Unimoni

Un SLI est une expression PromQL ordinaire, l’objectif SLO se fixe comme un seuil dans une règle d’alerte, et l’uptime et la disponibilité sur une période sont calculés par le monitoring Uptime et la page de statut publique.