RousselTMLEARNING

Observabilité

SRE : SLI, SLO et SLA expliqués simplement

Les fondamentaux de l'ingénierie de la fiabilité (SRE) : différence entre SLI, SLO et SLA, choix des indicateurs, nombre de neuf et indisponibilité autorisée.

1. Pourquoi le SRE ? #

Mesurer la fiabilité du point de vue de l'utilisateur.

L'idée centrale #

Le SRE (Site Reliability Engineering), formalisé par Google, part d'un constat : 100 % de fiabilité n'est ni possible ni souhaitable. Chaque neuf supplémentaire coûte très cher et ralentit les livraisons, alors que l'utilisateur ne perçoit pas la différence entre 99,99 % et 100 % (son propre réseau est moins fiable).

On fixe donc un objectif de fiabilité explicite, mesuré du point de vue de l'utilisateur, et on accepte la marge restante comme un budget à dépenser (déploiements, expériences, incidents).

2. SLI, SLO, SLA #

Trois sigles à ne pas confondre.

Définitions #

SLI, SLO et SLA
Le SLO est plus strict que le SLA, pour réagir avant de payer des pénalités.
TermeDéfinitionExemple
SLI (indicateur)Une mesure de la qualité de service, en général un ratio d'événements bons sur le totalPart des requêtes HTTP sans erreur 5xx et servies en moins de 300 ms
SLO (objectif)La valeur cible du SLI sur une fenêtre de temps99,9 % sur 30 jours glissants
SLA (accord)Un engagement contractuel avec des conséquences99,5 % par mois, sinon 10 % de remise

Les SLI les plus courants #

Type de serviceSLI recommandé
API, site webDisponibilité (réponses non 5xx) et latence (part des requêtes sous un seuil)
Traitement par lotsFraîcheur (âge de la dernière exécution réussie), couverture
Pipeline de donnéesFraîcheur, exactitude
StockageDurabilité, débit
Bonne Pratique : Exprimez la latence comme un ratio (« 99 % des requêtes en moins de 300 ms ») plutôt qu'une moyenne ou un percentile instantané : le ratio se cumule sur la fenêtre et se calcule exactement avec les buckets d'un histogramme.

3. Combien de neuf ? #

L'objectif fixe le budget.

Indisponibilité autorisée #

Indisponibilité autorisée
Passer de 99,9 % à 99,99 % divise par dix le temps d'incident toléré.
SLOPar 30 joursPar an
99 %7 h 12 min3 j 15 h
99,5 %3 h 36 min1 j 19 h
99,9 %43 min8 h 46 min
99,95 %21 min 36 s4 h 23 min
99,99 %4 min 19 s52 min
Erreur Courante : Un SLO plus strict que la fiabilité des dépendances est intenable : un service qui dépend d'une base à 99,9 % ne peut pas viser 99,99 % sans redondance.

Articles liés

Le budget d'erreur : décider avec les SLO

Calculer et suivre un budget d'erreur, rédiger une politique de budget d'erreur et l'utiliser pour arbitrer e…

Mesurer des SLI avec Prometheus

Implémenter des SLI de disponibilité et de latence avec Prometheus : métriques nécessaires, requêtes de ratio…

Alertes sur le taux de consommation du budget (burn rate multi-fenêtres)

Pourquoi alerter sur le burn rate plutôt que sur un seuil, et comment construire les alertes multi-fenêtres m…

Pour aller plus loin