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).

À la base, les SLO reflètent les objectifs de fiabilité du service que vous fournissez à vos utilisateurs. Il est important d'inclure les contributions de toutes les parties prenantes lors de la définition de ces objectifs. De nombreux groupes et niveaux de gestion ont un intérêt profond pour votre service. Cela inclut les propriétaires d'entreprise, les propriétaires de produits, les dirigeants, les ingénieurs, le personnel d'assistance, les opérations, les ventes et 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 manière de choisir vos objectifs dépend de vous et de votre organisation, en fonction des exigences, des parties prenantes et d'autres facteurs. Bien que ce processus n'entre pas dans le cadre 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 l'amélioration des SLO au fil du temps.

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

Niveau de service

Un niveau de service permet de mesurer les performances d'un service attendu pour 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 divisé par le nombre de toutes les requêtes valides pour la même période

Dans cet exemple, le SLI est spécifique, 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 des 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: le service doit répondre en moins de 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 dépassant 400 ms, divisé par le nombre de requêtes valides. Ce pourcentage est suivi sur 14 jours. L'objectif est de répondre à 95% de toutes les requêtes. Ainsi, si le résultat final (le pourcentage de requêtes répondant aux critères) est supérieur à 95%, vous remplissez votre SLO pour le service.

Pour résumer, le SLI correspond à une mesure (telle que la vitesse, la disponibilité et la réussite) de votre service. Le SLO permet de s'attendre à ce qu'une quantité spécifique de ces mesures (le pourcentage) atteigne ou dépasse un niveau ou une plage prédéterminés. Tout élément en dessous du niveau attendu est considéré comme médiocre. Vous n'avez pas fourni à vos utilisateurs un service fiable dans un domaine de performances spécifique.

Pour plus d'informations sur le choix des SLO, consultez la section 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. Un SLO non fonctionnel peut conduire le fournisseur de services à rembourser de l'argent, à proposer des services à prix réduit, ou à rendre des services plus critiques pouvant entraîner des poursuites ou des dommages 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 améliorer votre compréhension des SLO, SLI et 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 démontrer, utilisez la disponibilité en tant que SLI (représenté par un pourcentage). Trois "9" ou plus dans le pourcentage indiquent la précision avec laquelle vous souhaitez mesurer ce SLI. En d'autres termes, le nombre de "9" exprime 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 ce qui concerne la disponibilité, un budget de 0,1% est légèrement inférieur à neuf heures par an pendant lesquelles le service n'est pas disponible. 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.

Cela inclut les requêtes qui échouent, les temps d'arrêt du serveur par défaillance (plantages ou bugs logiciels) ou la conception (mises à niveau ou tests), les erreurs humaines, les accidents, etc.

Étapes suivantes