Choisir vos indicateurs de niveau de service (SLI)

Last reviewed 2024-03-29 UTC

Ce document du framework d'architecture Google Cloud explique comment choisir les indicateurs de niveau de service (SLI) appropriés pour votre service. Ce document s'appuie sur les concepts définis dans la section Composants des SLO.

Les métriques sont requises pour déterminer si vos objectifs de niveau de service (SLO) sont atteints. Vous définissez ces métriques en tant que SLI. Chaque SLI correspond à la mesure d'un aspect spécifique de votre service, tel que le temps de réponse, la disponibilité ou le taux de réussite.

Les SLO incluent un ou plusieurs SLI et sont idéalement basés sur les parcours utilisateur critiques (CUJ). Les CUJ font référence à un ensemble spécifique d'interactions ou de chemins empruntés par un utilisateur pour atteindre son objectif sur un site Web. Prenons l'exemple d'un client qui fait des achats sur un service d'e-commerce. Le client se connecte, recherche un produit, ajoute l'article à un panier, accède à la page de paiement et procède au paiement. Les CUJ identifient les différentes façons d'aider les utilisateurs à accomplir des tâches le plus rapidement possible.

Lorsque vous choisissez des SLI, vous devez prendre en compte les métriques appropriées pour votre service, les différents types de métriques que vous pouvez utiliser, la qualité des métriques et le nombre correct de métriques nécessaires.

Choisir des SLI appropriés pour votre type de service

Il existe de nombreux types de services. Le tableau suivant répertorie les types de services courants et fournit des exemples de SLI pour chacun d'entre eux. Certains SLI s'appliquent à plusieurs types de services. Si un SLI apparaît plusieurs fois dans le tableau, seule la première instance SLI fournit une définition. Rappelez-vous que les SLI sont souvent exprimés par le nombre de "neuf" dans la métrique.

Type de service SLI types
Systèmes de diffusion
  • Disponibilité : pourcentage du service utilisable. La disponibilité est définie comme la fraction de requêtes réussies divisée par le nombre total de requêtes et exprimée sous la forme d'un pourcentage tel que 99,9%.
  • Latence : rapidité avec laquelle un certain pourcentage de requêtes est traité. Par exemple, 99e centile à 300 ms.
  • Qualité : mesure dans laquelle le contenu de la réponse à une requête s'écarte du contenu de la réponse idéal. Par exemple, une échelle de 0 % à 100 %.
Systèmes de traitement des données
  • Couverture : quantité de données traitées, exprimée sous forme de fraction. Par exemple, 95%.
  • Exactitude : fraction des données de sortie considérées comme étant correctes. Par exemple, 99,99%.
  • Fraîcheur : fraîcheur des données sources ou des données de sortie agrégées. Par exemple, les données ont été actualisées il y a 20 minutes.
  • Débit : quantité de données traitées. Par exemple, 500 Mio par seconde ou 1 000 requêtes par seconde.
Systèmes de stockage
  • Durabilité : probabilité que les données écrites dans le système soient accessibles à l'avenir. Par exemple, 99,9999 %.
  • Temps de latence du premier octet (TTFB) : temps nécessaire pour envoyer et obtenir le premier octet d'une page.
  • Disponibilité des blobs : ratio entre les requêtes client renvoyant une réponse d'erreur autre qu'un serveur et le nombre total de requêtes client.
  • Débit
  • Latence
Demander des systèmes de lecteur
  • Qui peut en bénéficier ?
  • Latence
  • Qualité
Systèmes d'exécution planifiée
  • Décalage : la proportion d'exécutions qui commencent dans un intervalle acceptable de l'heure de début attendue.
  • Exécution : temps nécessaire à la réalisation d'une tâche. Pour une exécution donnée, un mode d'échec courant consiste à ce que la durée réelle dépasse la durée programmée.

Évaluer différents types de métriques

Outre le choix du SLI approprié pour votre service, vous devez également choisir le type de métrique à utiliser pour votre SLI. Les SLI répertoriés dans la section précédente sont généralement de l'un des types suivants :

  • Compteur : ce type de métrique peut augmenter, mais pas diminuer. Par exemple, le nombre d'erreurs qui se sont produites jusqu'à un point de mesure donné.
  • Jauge : ce type de métrique peut augmenter ou diminuer. Par exemple la valeur réelle d'une partie mesurable du système (telle que la longueur de la file d'attente).
  • Distribution (histogramme) : nombre d'événements qui résident dans un segment de mesure particulier pour une période donnée. Par exemple, vous pouvez être amené à mesurer combien de requêtes prennent de 0 à 10 ms, de 11 à 30 ms et de 31 à 100 ms. Le résultat est un décompte pour chaque bucket ; par exemple, [0-10: 50], [11-30: 220], [31-100: 1103].

Pour en savoir plus sur ces types, consultez la documentation du projet Prometheus et la section Types de valeurs et genres de métriques dans Cloud Monitoring.

Prendre en compte la qualité des métriques

Toutes les métriques ne sont pas utiles. En plus du ratio entre les événements réussis et le nombre total d'événements, vous devez déterminer si une métrique est un SLI adapté à vos besoins. Pour vous aider à déterminer cette valeur, tenez compte des caractéristiques suivantes qui indiquent des métriques de qualité :

  • Les métriques sont directement liées à la satisfaction des utilisateurs. Les utilisateurs sont mécontents lorsqu'un service ne se comporte pas comme prévu, par exemple s'il est lent, inexact ou échoue complètement. Validez tout SLO en fonction de ces métriques en comparant le SLI à d'autres signaux de satisfaction des utilisateurs. Cette comparaison comprend des données telles que le nombre de demandes de réclamations de clients, le volume d'appels à l'assistance et le sentiment général qui se dégage sur les réseaux sociaux. (Pour en savoir plus, consultez la section Amélioration continue des cibles SLO).

    Si votre métrique ne correspond pas à ces autres indicateurs de satisfaction des utilisateurs, ce n'est peut-être pas un bon SLI.

  • La détérioration d'une métrique dépend des interruptions et pannes. Toute métrique indiquant de bons résultats de service lors d'une panne n'est clairement qu'une mauvaise métrique pour un SLI. À l'inverse, une métrique qui semble incorrecte en fonctionnement normal pose également problème.

  • La métrique fournit un bon rapport signal sur bruit. Ignorez les métriques qui génèrent un grand nombre de faux négatifs ou de faux positifs.

  • La métrique évolue de façon monotone et approximativement linéaire avec la satisfaction du client. En d'autres termes, à mesure que la métrique s'améliore, la satisfaction client s'améliore également.

Sélectionner le nombre approprié de métriques

Un seul service peut avoir plusieurs SLI, en particulier si le service effectue différents types de tâches ou gère différents types d'utilisateurs. Il est préférable de choisir les métriques appropriées pour chaque type.

En revanche, certains services effectuent des tâches similaires, qui peuvent être directement comparables. C'est le cas, par exemple, des utilisateurs qui consultent différentes pages de votre site (comme la page d'accueil, les sous-catégories et la liste des 10 premières pages). Au lieu de développer un SLI distinct pour chacune de ces actions, combinez-les en une seule catégorie de SLI, par exemple parcourir les services.

Les attentes de vos utilisateurs ne changent pas beaucoup entre différentes actions d'une catégorie similaire. Leur satisfaction est quantifiable par une simple réponse à la question : "Ai-je pu consulter une page complète d'articles rapidement ?"

Utilisez le moins de SLI possible pour représenter avec précision vos tolérances de service. En règle générale, vous devez spécifier deux à six SLI. Avec trop peu de SLI, vous pouvez passer à côté de signaux utiles. Si vous avez trop de SLI, votre équipe d'assistance a trop de données à portée de main, et vous n'avez que peu d'avantages supplémentaires. Vos SLI doivent simplifier votre compréhension de l'intégrité de la production et vous donner une idée de la couverture, plutôt que de vous surcharger (ou de vous submerger).

Étape suivante