Composants des objectifs de niveau de service

Ce document du framework d'architecture Google Cloud définit les concepts clés nécessaires pour comprendre et créer des objectifs de niveau de service (SLO).

En substance, les SLO reflètent les objectifs de fiabilité du service que vous proposez à vos utilisateurs. Il est important d'inclure les commentaires de toutes les personnes concernées lors de la définition de ces objectifs. De nombreux groupes et niveaux de gestion sont très intéressés par votre service. Il peut s'agir des propriétaires d'entreprise, des propriétaires de produits, des dirigeants, des ingénieurs, du personnel d'assistance, des équipes opérationnelles, commerciales et de toute autre équipe associée à votre service.

Il existe autant de façons d'obtenir l'avis des parties prenantes que d'objectifs de fiabilité différents à choisir. La façon dont vous choisissez vos objectifs dépend de vous et de votre organisation, en fonction des exigences, des personnes concernées et d'autres facteurs. Bien que ce processus ne soit pas dans le champ d'application de ce guide, une approche simple consiste à créer un document partagé décrivant vos SLO et la manière dont vous les avez développés. Votre équipe peut effectuer des itérations sur le document au fur et à mesure de sa mise en œuvre et de son itération sur les SLO.

Les sections suivantes définissent les différents composants des SLO.

Niveau de service

Un niveau de service mesure la performance d'un service par rapport à la tâche attendue par l'utilisateur. Cette métrique peut être décrite en termes de satisfaction des utilisateurs et mesurée par différentes méthodes qui dépendent des caractéristiques uniques du service, de sa base d'utilisateurs et des attentes des utilisateurs. Dans ce guide, nous associons les performances à la fiabilité du système.

Exemple de niveau de service: nos utilisateurs s'attendent à ce que le service soit disponible et rapide.

Indicateur de niveau de service

Un indicateur de niveau de service (SLI) est une jauge de la satisfaction des utilisateurs qui peut être mesurée de manière quantitative. Un indicateur est semblable à une ligne sur un graphique qui change au fil du temps, à mesure que le service s'améliore ou se dégrade. Pour évaluer un niveau de service, choisissez un indicateur qui représente un aspect de la satisfaction des utilisateurs. La disponibilité est un SLI courant.

Exemple de SLI: nombre de requêtes ayant abouti au cours des 10 dernières minutes, puis divisé par le nombre de requêtes valides au cours de la même période.

Le SLI de l'exemple est spécifique et bien défini, et exprimé sous la forme d'une valeur numérique. Cette valeur reflète la disponibilité du service. En suivant de manière cohérente ce SLI au fil du temps, une équipe peut déterminer la disponibilité globale de son service.

Pour en savoir plus sur le choix de vos SLI, consultez la section Choisir vos SLI.

Objectif de niveau de service

L'objectif de niveau de service (SLO, Service Level Objective) est la plage cible que le service doit atteindre, mesuré par le SLI. L'exemple suivant utilise le temps de réponse, ou la vitesse du service, comme SLI.

Exemple de SLO: La réponse du service est plus rapide que 400 millisecondes (ms) pour 95% des requêtes valides mesurées sur 14 jours.

Dans l'exemple de SLO, le SLI correspond au nombre de requêtes plus rapides que 400 ms divisé par le nombre de requêtes valides. Ce pourcentage est suivi sur une période de 14 jours. L'objectif est de répondre à 95% de toutes les requêtes. Autrement dit, si le résultat final (le pourcentage de requêtes répondant aux critères) est supérieur à 95%, vous avez atteint votre SLO pour le service.

Pour résumer, l'indicateur de niveau de service est une mesure (telle que la vitesse, la disponibilité et le succès) de votre service. L'objectif de disponibilité est l'attente selon laquelle un nombre spécifique de ces mesures (le pourcentage) atteint ou dépasse un niveau ou une plage prédéterminés. Tout ce qui est inférieur au niveau attendu est mauvais. Vous n'avez pas fourni à vos utilisateurs un service fiable dans un domaine de performances spécifique.

Pour en savoir plus sur le choix de vos SLO, consultez Choisir vos SLO.

Contrat de niveau de service

Le contrat de niveau de service est le contrat entre vous, le fournisseur de services et vos clients. Il répertorie les SLO annoncés aux clients et qui seront finalement attendus. Le contrat de niveau de service spécifie également ce qui se passe si un SLO n'est pas atteint. Si un SLO n'est pas respecté, le fournisseur de services peut rembourser de l'argent, fournir des services à prix réduit ou, dans le cas de services plus critiques, engager des actions en justice ou des dommages et intérêts punitifs.

Les contrats de niveau de service ne sont pas abordés en détail dans ce guide. Les contrats de niveau de service sont mentionnés pour vous aider à mieux comprendre les SLO, les SLI et l'utilisateur.

Marge d'erreur

La dernière valeur à comprendre lors de l'utilisation des SLO est le pourcentage ou le nombre d'événements négatifs que votre service peut supporter avant d'enfreindre le SLO. Ce nombre, appelé marge d'erreur, définit le nombre d'erreurs auquel votre entreprise peut s'attendre et qu'elle peut tolérer.

Pour illustrer, utilisez la disponibilité comme SLI (représentée par un pourcentage). Trois "neufs" ou plus dans le pourcentage indiquent la précision avec laquelle vous souhaitez mesurer ce SLI. En d'autres termes, le nombre de "9" indique le pourcentage de disponibilité.

Considérons un SLO de trois neuf est de 99,9%. Soustraire la valeur du SLO de 100% laisse une marge d'erreur de 0,1 %. En termes de disponibilité, un budget de 0,1% correspond à un peu moins de neuf heures par an pendant lesquelles le service est indisponible. L'ajout d'un autre 9 réduit considérablement la marge d'erreur. Une disponibilité de 99,99% (quatre 9) permet de faire moins d'une heure de temps d'arrêt par an.

Ce temps d'arrêt inclut les requêtes qui échouent, les temps d'arrêt du serveur en cas de défaillance (plantage ou bugs logiciels) ou de conception (mises à niveau ou tests), les erreurs humaines, les accidents et bien d'autres.

Étapes suivantes