Un SLO (Service-Level Objective) est un objectif mesurable défini pour évaluer la performance d'un service informatique. Il représente un engagement quantifiable que l'équipe de développement ou d'exploitation prend envers les utilisateurs ou clients du service.
Dans le contexte de la programmation et des opérations (DevOps), les SLO sont utilisés pour :
- Définir des attentes claires en termes de disponibilité, latence, débit ou autres métriques de performance.
- Guider les décisions techniques et les priorités de développement.
- Mesurer la fiabilité et la qualité du service de manière objective.
Un SLO est généralement exprimé sous forme de pourcentage ou de valeur cible à atteindre sur une période donnée. Par exemple :
SLO de disponibilité : 99,9% de temps de fonctionnement sur une période de 30 jours
SLO de latence : 95% des requêtes traitées en moins de 200 ms
Les SLO sont étroitement liés aux SLA (Service-Level Agreements) et aux SLI (Service-Level Indicators). Les SLA sont des contrats formels avec les clients, tandis que les SLI sont les métriques réelles mesurées pour évaluer la conformité aux SLO.
L'utilisation de SLO encourage une approche data-driven de la gestion des services, permettant aux équipes de prendre des décisions éclairées sur les améliorations à apporter et les compromis à faire entre la fiabilité et l'innovation.