Apprenez à connaître les termes clés, le temps de fonctionnement et la disponibilité.

Le temps de disponibilité quantifie la durée pendant laquelle une application reste opérationnelle sur une période donnée.

Cette mesure, simple mais puissante, indique la santé globale du système.
Le temps de disponibilité est exprimé en pourcentage, représentant la fraction du temps total pendant lequel l’application est disponible sans interruption.
Un temps de fonctionnement de 100 % signifie que l’application n’a connu aucun temps d’arrêt au cours de la période désignée, par exemple 30 jours. À l’inverse, si l’application subit une panne d’une journée dans le même délai, le temps de disponibilité tombe à 96,67 %.

Il est essentiel de comprendre et de maintenir un temps de fonctionnement élevé pour garantir une expérience utilisateur transparente et une efficacité opérationnelle.

Comment le temps de fonctionnement est représenté

Le temps de disponibilité est généralement représenté sous forme de pourcentage, ce qui donne une mesure claire et concise de la fiabilité de l’application. Par exemple :

  • 100% de temps de fonctionnement: Aucune panne en 30 jours.
  • 96,67% de temps de fonctionnement: Une journée d’interruption en 30 jours.

Les pourcentages peuvent donner un aperçu rapide des performances du système, mais ils ne donnent pas une image complète.

Si le temps de fonctionnement est un paramètre essentiel, il ne rend pas compte à lui seul de la qualité des interactions avec les utilisateurs ou de la capacité de l’application à fonctionner correctement dans diverses conditions.

La disponibilité expliquée

La disponibilité mesure le pourcentage de temps pendant lequel une application fonctionne et fonctionne correctement pour servir ses utilisateurs. Il inclut l’expérience de l’utilisateur, ce qui en fait un indicateur plus complet que le temps de fonctionnement. Alors que le temps de fonctionnement se concentre uniquement sur l’état opérationnel, la disponibilité prend en compte la capacité de l’application à fonctionner correctement et à fournir les services prévus aux utilisateurs.

L’expérience de l’utilisateur compte

La disponibilité englobe plusieurs éléments, l’expérience de l’utilisateur étant un facteur essentiel.

Cela signifie que pour qu’une application soit considérée comme disponible, elle doit être en cours d’exécution, réactive et fonctionnelle du point de vue de l’utilisateur. Une vision holistique permet de s’assurer que tous les aspects du service sont pris en compte, des performances du back-end à la facilité d’utilisation du front-end.

L’utilisation abusive de la disponibilité

De nombreuses organisations utilisent à tort le temps de fonctionnement comme indicateur de la disponibilité. Si le temps de fonctionnement permet de mesurer la durée pendant laquelle une application a été opérationnelle, il ne tient pas compte de la qualité de l’expérience de l’utilisateur. La disponibilité réelle mesure si les utilisateurs peuvent interagir avec l’application comme prévu, même en cas de problèmes de performance mineurs ou d’interruptions partielles.

Maîtriser les calculs de disponibilité

Une erreur fréquente consiste à assimiler directement la disponibilité au pourcentage de temps de fonctionnement. Les approches de base négligent des facteurs critiques tels que l’expérience de l’utilisateur et la performance fonctionnelle, ce qui conduit à une compréhension incomplète de la fiabilité de l’application.

Composants : Temps moyen de défaillance (MTTF) et temps moyen de réparation (MTTR)

Les calculs de disponibilité avancés intègrent le MTTF et le MTTR.
Le MTTF est le temps moyen écoulé avant qu’une panne ne se produise, tandis que le MTTR est le temps moyen nécessaire pour réparer et remettre le système en état de fonctionnement après une panne.
Ces mesures donnent une image plus détaillée de la fiabilité du système.

La formule de disponibilité à l’aide de ces composants est la suivante : Disponibilité = MTTF / (MTTF + MTTR)

Cette formule tient compte à la fois de la fréquence des défaillances et de l’efficacité des réparations, offrant ainsi une mesure plus complète de la fiabilité.

Aperçu des formules avancées

L’utilisation du MTTF et du MTTR dans les calculs de disponibilité permet d’obtenir plusieurs informations :

  • Impact du MTTR: Un MTTR plus court améliore la disponibilité, ce qui souligne l’importance de processus de dépannage et de réparation efficaces.
  • Impact de la fréquence des défaillances: Des défaillances moins nombreuses et moins fréquentes contribuent à une plus grande disponibilité, soulignant la valeur d’une conception robuste des systèmes et d’une maintenance préventive.

Définir des objectifs de haute disponibilité

Viser une disponibilité de 99,99 % signifie qu’une application peut se permettre un maximum de 52,6 minutes de temps d’arrêt par an. Les cibles sont particulièrement recommandées pour les applications critiques où même des temps d’arrêt mineurs peuvent avoir un impact négatif important sur l’expérience de l’utilisateur et les activités de l’entreprise.

Surmonter les difficultés de mesure grâce à des MTTF et MTTR précis

La mesure précise du MTTF et du MTTR présente des difficultés en raison de la variabilité des causes de défaillance et des processus de réparation. La mise en œuvre d’outils de suivi précis et de procédures normalisées est essentielle pour une collecte de données fiable. La précision de ces mesures est essentielle pour maintenir et améliorer la disponibilité.

Une approche stratégique pour assurer la fiabilité des SLO et des SLI

SLOs, le fondement de la fiabilité

Les objectifs de niveau de service (SLO) définissent les niveaux de performance et de disponibilité souhaités du point de vue de l’utilisateur. Les SLO intègrent des mesures de l’expérience de l’utilisateur afin de mesurer la fiabilité avec précision.
La définition d’objectifs stratégiques clairs et réalisables est essentielle pour aligner les objectifs opérationnels sur les attentes des utilisateurs.

Les ISL, les paramètres clés de la réussite

Les indicateurs de niveau de service (SLI) sont des mesures spécifiques dérivées d’outils de surveillance qui fournissent des données pour évaluer les SLO.
Les indicateurs de niveau de service doivent être soigneusement sélectionnés pour refléter avec précision l’expérience de l’utilisateur et les performances opérationnelles.

Les mesures qui influencent directement l’expérience de l’utilisateur doivent être privilégiées par rapport aux mesures traditionnelles de performance du système. Par exemple, la latence (temps de réponse) est une mesure majeure centrée sur l’utilisateur qui a un impact plus direct sur la performance perçue de l’application que l’utilisation de l’unité centrale du serveur.

Pourquoi la latence l’emporte sur l’utilisation de l’unité centrale

La latence, c’est-à-dire le temps de réponse ressenti par les utilisateurs, est un indicateur clair des performances de l’application dans des conditions réelles.

Si l’utilisation de l’unité centrale donne une idée des performances du serveur, elle ne reflète pas directement l’expérience de l’utilisateur.
Donner la priorité à la latence permet de s’assurer que les utilisateurs reçoivent un service rapide et efficace, ce qui est important pour maintenir la satisfaction et l’engagement.

En se concentrant sur ces mesures centrées sur l’utilisateur, les entreprises peuvent obtenir une compréhension plus précise et holistique de la fiabilité de leur application, ce qui se traduit en fin de compte par un meilleur service et une plus grande fidélisation des utilisateurs.

Recommandations SLI sur mesure pour les types d’applications

Les applications web, telles que les sites de commerce électronique, dépendent fortement de leur capacité à traiter rapidement et avec précision les nombreuses demandes des utilisateurs.
Les indicateurs de niveau de service (SLI) suivants sont essentiels pour maintenir des performances optimales et la satisfaction des utilisateurs :

  • Nombre de requêtes HTTP terminées avec succès : Le suivi du pourcentage de requêtes HTTP qui renvoient un code d’état 200 est fondamental, car il donne une idée de la capacité de l’application à traiter les interactions des utilisateurs et à y répondre sans erreur.
  • Temps de latence des requêtes web : Il est essentiel de mesurer le temps de réponse des requêtes web en millisecondes.
    Un temps de latence élevé peut entraîner une mauvaise expérience pour l’utilisateur, une frustration et une perte potentielle d’activité.
    Un temps de latence faible signifie que les utilisateurs peuvent interagir avec l’application de manière fluide et efficace.
  • Temps de réponse des fonctions spécifiques : Le suivi des temps de réponse des fonctions critiques, telles que l’ajout d’articles à un panier, la connexion ou la finalisation d’un achat, permet d’identifier les goulets d’étranglement en matière de performances.
    Un processus de paiement lent peut avoir un impact significatif sur les taux de conversion, il est donc impératif que ces fonctions fonctionnent rapidement.

API

Les API sont à la base des applications modernes, facilitant la communication entre les différents services.
Les SLI suivants sont essentiels pour mesurer et maintenir les performances des API :

  • Nombre d’erreurs HTTP 500 : Les erreurs HTTP 500 indiquent des problèmes de serveur qui empêchent l’API de traiter les demandes.
    La surveillance de ces erreurs permet d’identifier et de résoudre les problèmes sous-jacents susceptibles de perturber le service.
  • Nombre de requêtes HTTP terminées avec succès : Comme pour les applications web, il est essentiel de suivre le taux de réussite des demandes d’API (codes d’état HTTP 200).
    Un taux de réussite élevé est le signe d’une performance fiable et d’un traitement robuste du backend.
  • Temps de latence des demandes d’API : La mesure du temps de réponse des demandes d’API permet de s’assurer que les services communiquent efficacement.
    Un temps de latence élevé de l’API peut ralentir l’ensemble du système, ce qui affecte l’expérience de l’utilisateur et les performances globales de l’application.

La fiabilité est essentielle pour toute application réussie.

Applications dorsales

Les applications dorsales, telles que les systèmes de transfert de fichiers, nécessitent des SLI spécifiques pour garantir l’intégrité des données et l’efficacité du traitement :

  • Nombre d’échecs de transfert de fichiers par jour : Cette mesure permet de suivre la fiabilité des transferts de fichiers.
    Des échecs fréquents peuvent indiquer des problèmes de processus de transfert ou d’intégrité des données qui doivent être résolus.
  • Pourcentage d’enregistrements échoués par fichier : Le suivi du pourcentage d’enregistrements échoués dans un fichier permet d’identifier les problèmes de validation des données.
    La catégorisation des échecs (par exemple, données malformées, destination incorrecte) permet de mieux comprendre les causes profondes et les solutions potentielles.
  • Temps de traitement moyen et P95 : La mesure du temps de traitement moyen et du temps de traitement du 95e percentile (P95) offre une vue d’ensemble des performances.
    La mesure du P95 permet d’identifier les valeurs aberrantes et de s’assurer que la majorité des processus répondent à des normes de performance acceptables.

La haute disponibilité est essentielle pour assurer une surveillance continue et des alertes en temps utile.

La voie de la haute fiabilité

La fiabilité est essentielle pour toute application réussie. Une grande fiabilité signifie que les applications fonctionnent correctement, répondent aux attentes des utilisateurs et maintiennent l’efficacité opérationnelle. Elle a un impact direct sur la satisfaction des utilisateurs, la fidélisation et la réussite globale de l’entreprise.

Pour mesurer précisément la fiabilité, il faut se concentrer sur les mesures qui ont un impact direct sur l’expérience de l’utilisateur.
Si les mesures de performance traditionnelles telles que l’utilisation du processeur sont importantes, les mesures centrées sur l’utilisateur, telles que la latence et les taux d’erreur, fournissent une évaluation plus significative de la fiabilité.

Il est essentiel de définir des objectifs de niveau de service (SLO) clairs et de sélectionner des indicateurs de niveau de service (SLI) appropriés, adaptés au type d’application et aux fonctionnalités spécifiques. Cela permet de maintenir et d’améliorer la fiabilité des applications en fournissant des informations précises et exploitables.

Conseils d’experts

La mise en œuvre d’outils complets d’observabilité et de dépannage permet de réduire le temps moyen de réparation (MTTR). Les outils fournissent des informations complètes sur les performances du système et facilitent une résolution plus rapide des problèmes, améliorant ainsi la disponibilité globale.

En donnant la priorité aux mesures qui affectent directement l’expérience de l’utilisateur, telles que la latence et les taux d’erreur, vous vous assurez que l’application répond aux attentes de l’utilisateur. Se concentrer sur ce point permet de maintenir un niveau élevé de satisfaction et d’engagement des utilisateurs.

Il est essentiel d’établir des SLO et des SLI clairs et précis pour maintenir et améliorer la fiabilité des applications. Les mesures doivent être adaptées au type d’application spécifique et à ses fonctionnalités, afin de fournir un cadre de mesure ciblé et efficace.

L’utilisation d’une combinaison d’observabilité, de mesures claires et de SLO et SLI aide les organisations à se positionner devant leurs concurrents.

Alexander Procter

juillet 17, 2024

11 Min