Concevoir des SLO

Cette page fournit des informations dont vous pourriez avoir besoin avant de créer un objectif de niveau de service (SLO).

Pour en savoir plus sur les SLO, consultez la page Présentation des objectifs de niveau de service.

Type de SLI et cibles de conformité

Cloud Service Mesh prend en charge les types d'indicateurs de niveau de service suivants:

  • Latence : temps nécessaire à un service pour renvoyer une réponse à une requête, mesurée en millisecondes.
  • Disponibilité: fraction du temps où un service répond.
  • Autre: type de SLO personnalisable en fonction de vos métriques configurables.

Vous définissez également la cible de conformité que vous souhaitez appliquer à votre service. En règle générale, les SLO ne doivent pas être plus élevés que cela est nécessaire ou utile pour vos utilisateurs. Déterminez à quel point les utilisateurs peuvent constater une dégradation du service. Par exemple, si vos utilisateurs ne peuvent pas faire la différence entre une latence de 300 ms ou de 500 ms pour votre service, utilisez la valeur la plus élevée comme seuil de latence dans le SLO. La valeur la plus faible est plus coûteuse, et vos utilisateurs ne remarquent pas la différence.

Lorsque vous définissez une cible de conformité, tenez compte des exigences de l'utilisateur final pour votre service. Par exemple, un outil interne utilisé par les employés pour réserver un temps de vacances peut convenir à une cible de disponibilité de 99 % (environ 3 jours de temps d'arrêt par an). Toutefois, un service essentiel à une boutique en ligne peut nécessiter une disponibilité de 99,999 % (environ 5 minutes de temps d'arrêt par an).

Périodes de conformité

En plus de définir une cible pour un SLI, un SLO spécifie une période durant laquelle le SLI est mesuré. Par exemple, une disponibilité de 99 % sur une même journée est différente de la disponibilité de 99 % sur un mois. Le premier SLO ne vous permettrait pas plus de 14 minutes de temps d'arrêt consécutif (24 h * 1%), tandis que le second SLO permettra un temps d'arrêt consécutif jusqu'à 7 heures (30 jours * 1%).

La période de conformité est particulièrement importante lorsqu'un SLO est inclus dans un contrat de niveau de service (SLA) avec vos utilisateurs. Un contrat de niveau de service est un contrat avec les utilisateurs de votre service qui spécifie généralement les conséquences d'un non-respect des SLO. Que vous ayez ou non un contrat de niveau de service avec vos utilisateurs relève d'une décision concernant un produit ou une entreprise, mais à des fins de surveillance, vous devez toujours définir une période de conformité pour vos SLO lorsque vous les créez.

Lorsque vous configurez des SLO, vous choisissez le type de période de conformité :

  • Agenda : lorsque vous sélectionnez Calendrier comme Type de période, vous spécifiez également la Durée de la période, qui peut être un jour, une semaine ou un mois. Les périodes ne se chevauchent pas et sont fixes par rapport aux dates de début et de fin du calendrier. La conformité ne peut être évaluée qu'à la fin de la période.

  • Glissantes : lorsque vous sélectionnez Rolling (Type glissant) dans le champ Period type (Type de période), vous spécifiez également le nombre de jours pour la période /1}, par exemple, 30 jours. Contrairement aux périodes calendaires, les périodes glissantes n'ont pas de dates de début et de fin fixes. Cloud Service Mesh évalue les SLO en continu avec une période de conformité glissante. Les données les plus anciennes du calcul précédent sont supprimées du calcul en cours, car elles sont remplacées par de nouvelles données. Une période glissante fournit des mesures de conformité supplémentaires, car vous obtenez une mesure de conformité pour les 30 derniers jours, plutôt qu'une par mois. Cependant, les services peuvent osciller entre conformité et non-conformité, car l'état du SLO change quotidiennement.

Marges d'erreur

La marge d'erreur est un autre concept important de la surveillance. Un SLO spécifie un SLI et une valeur cible qui mesure la réussite du service pendant la période de conformité. La marge d'erreur d'un SLO représente la durée totale pendant laquelle un service peut être non conforme avant qu'il ne soit en violation de son SLO. Ainsi, une marge d'erreur est 100% - SLO%. Par exemple, si vous disposez d'un SLO de disponibilité de 30 jours avec un objectif de conformité de 99,99 %, votre marge d'erreur est de 0,01 % sur 30 jours : un peu plus de 4 minutes de temps d'arrêt autorisés tous les 30 jours. Un service devant se conformer à un SLO de 100 % n'a pas de marge d'erreur.

Les marges d'erreur vous permettent de suivre le nombre de mesures de SLI incorrectes autorisées pendant le reste de votre période de conformité avant que le service ne respecte plus le SLO. Vous pouvez utiliser la marge d'erreur pour gérer les tâches de maintenance telles que le déploiement de nouvelles versions. Lorsque la marge d'erreur est presque épuisée, vous ne pouvez pas effectuer des actions risquées telles que le déploiement de nouvelles mises à jour. Inversement, si vous disposez d'une marge d'erreur complète vers la fin d'une période de conformité, vous souhaiterez peut-être lancer de nouvelles fonctionnalités, car le risque de violation du SLO est plus faible.

Si vous mesurez un SLO avec une période de conformité calendaire, Service Mesh lance la marge d'erreur à la valeur maximale et réduit la marge au fil du temps, déclenchant un non-respect du SLO lorsque la marge d'erreur chute en dessous de 0. Cloud Service Mesh réinitialise la marge d'erreur du SLO à la fin de la période de conformité.

Si vous mesurez un SLO sur une période de conformité glissante, vous êtes toujours à la fin d'une période de conformité. Plutôt que de repartir de zéro, les anciens points de données sont continuellement supprimés, et de nouveaux points de données ajoutés en permanence. Si une période de conformité médiocre sort de la fenêtre de conformité et si le SLO est conforme, la marge d'erreur augmente. À tout moment, une valeur error budget ≥ 0 indique une fenêtre de SLO glissante conforme, tandis qu'une valeur error budget < 0 indique une fenêtre de SLO glissante non conforme.

Étape suivante