Qu’est-ce que le temps moyen avant défaillance (MTTF) ?

Salle de serveurs avec des graphiques sur un écran

Explication du MTTF

Le temps moyen avant défaillance (MTTF) correspond au temps moyen pendant lequel un système ou un actif non réparable (tel qu’une ampoule) va fonctionner avant de subir une défaillance qui le rend indisponible ou non conforme aux spécifications. 

Les entreprises utilisent cet indicateur de performance clé de fiabilité (KPI) pour estimer la durée de vie prévue d’un composant technique ou mécanique.

En DevOps, le MTTF mesure généralement la durée pendant laquelle un service reste disponible aux utilisateurs avant que des défaillances et des temps d’arrêt importants ne surviennent.

Un MTTF faible ou en baisse avertit les développeurs et les ingénieurs en fiabilité des sites que l’infrastructure, le code ou les dépendances sont fragiles et doivent être améliorés pour en accroître la fiabilité. Un MTTF élevé signifie que l’environnement de production reste stable plus longtemps entre les incidents majeurs et les pannes, que l’architecture informatique est robuste et que les applications logicielles sont mises à disposition en toute sécurité. 

Les indicateurs MTTF, ainsi que d’autres indicateurs de maintenance, tels que l’intervalle moyen entre les défaillances (MTBF), aident les équipes DevOps à améliorer la planification de la capacité et du cycle de vie de divers composants informatiques (y compris les nœuds réseau, les conteneurs et les services gérés), réduisant ainsi le risque de pannes imprévues.

Ces indicateurs permettent également aux entreprises de suivre la fiabilité des équipements à travers les mises à jour, afin de déterminer si le code, l’infrastructure en tant que code (IaC) et les modifications de configuration rendent les systèmes plus résilients, au lieu de simplement les rendre plus rapides à livrer.

Calcul du MTTF

Le MTTF représente la durée moyenne de fonctionnement jusqu’à la défaillance d’une population d’éléments identiques. Dans sa forme la plus simple, le MTTF divise le temps total de fonctionnement de tous les actifs par le nombre total de défaillances d’actifs.

Où « total des heures de fonctionnement » correspond à la somme de la durée de vie de chaque élément jusqu’à sa panne (ou jusqu’à l’arrêt de l’observation), et « nombre de pannes » correspond au nombre d’éléments qui ont effectivement subi une panne :

MTTF = le nombre total d’heures de fonctionnement des éléments, divisé par le nombre total de défaillances

Prenons l’exemple d’un cluster de conteneurs.

Les conteneurs sont des instances éphémères qui ne sont généralement pas réparées. Lorsqu’un conteneur tombe en panne ou se dégrade, les outils d’orchestration des conteneurs (comme Kubernetes) le détruisent et en créent un nouveau tout simplement.

Prenons l’exemple d’une équipe informatique qui exécute un service Web sans état sur 50 conteneurs d’application identiques. Pour calculer le MTTF, elle doit mesurer la durée de fonctionnement de chaque conteneur (de la création à la défaillance) et la diviser par le nombre de conteneurs défaillants. Lors de son évaluation, l’équipe constate que le groupe de 50 conteneurs a fonctionné pendant 200 heures au total, et que cinq conteneurs ont échoué au cours du processus.

MTTF = 200 heures de fonctionnement ÷ 5 pannes = 40 heures

Le MTTF des conteneurs de ce cluster est de 40 heures.

Le MTTF n’étant pas une formule parfaite ou exacte pour les cas d’utilisation, les équipes DevOps l’utilisent généralement comme une approximation de la durabilité du composant et dans le contexte d’autres KPI de gestion des incidents, comme le temps moyen de réparation (MTTR) et le MTBF. Le MTTF peut, dans ce cas, aider les équipes à estimer combien de redémarrages le cluster de conteneurs nécessitera chaque jour, afin d’attribuer les ressources de dimensionnement et de mise à l’échelle automatique du cluster les plus appropriées.

Cependant, plus les données de panne et de fonctionnement sont précises et plus les équipes incluent de données, plus les calculs du MTTF seront précis.

Comment le MTTF améliore les pratiques DevOps

Le suivi du MTTF permet aux équipes de quantifier la fiabilité du système et de prendre des décisions éclairées sur la gestion des actifs, ce qui favorise une meilleure planification et pousse à rendre les designs et les processus plus résilients. Il aide les entreprises à fixer leurs priorités :

Fiabilité et visibilité des risques

Le MTTF fournit une vision claire et chiffrée de la durée de vie d’un actif avant sa panne, afin que les équipes puissent évaluer objectivement sa fiabilité plutôt que de se fier à des affirmations.

Le MTTF permet également d’isoler la fiabilité inhérente des composants ou des services du MTTR, qui mesure la rapidité avec laquelle les équipes corrigent les problèmes système lorsqu’ils surviennent. Lorsque le MTTF d’un service chute, cela signale souvent des problèmes de conception ou de dépendance plus profonds (une mauvaise bibliothèque, par exemple). Les équipes peuvent utiliser ces signaux pour lancer le dépannage et localiser la cause racine des défaillances du système.

En suivant les indicateurs de défaillance dans le temps, les équipes peuvent identifier les services les plus fragiles et prioriser les améliorations pour réduire la fréquence des incidents à l’avenir.

Planification proactive des capacités et stratégies de maintenance prédictive

La surveillance du MTTF peut aider les entreprises à optimiser les pratiques de gestion de la maintenance et à adopter une approche plus proactive de la résolution des problèmes.

Plutôt que de mener des tâches de maintenance temporelles ou ponctuelles (comme « redémarrer le service X chaque dimanche »), les équipes peuvent utiliser le MTTF observé pour programmer la maintenance avant la fenêtre de défaillance typique (« recycler les pods à 80 % de leur temps de défaillance habituel »).

En fait, les responsables informatiques et les équipes de maintenance peuvent encoder leurs runbooks (séries d’instructions détaillées pour effectuer les tâches informatiques) à l’aide de directives explicites s’appuyant sur le MTTF. Par exemple, ils peuvent inclure le prompt suivant : « Si la durée de fonctionnement du service X dépasse le MTTF habituel et qu’il donne des signaux d’alerte précoces (erreurs, latence), le mettre hors service et le redémarrer de manière proactive, au lieu d’attendre qu’une défaillance grave ne survienne. »

Préparation et réponse aux incidents

En matière de gestion des incidents, le MTTF peut représenter la durée moyenne entre la détection d’un défaut et la défaillance complète du système, indiquant combien de temps le système est susceptible de rester dans un état dégradé ou dangereux. La connaissance de cette fenêtre de dégradation aide les équipes à décider si elles disposent de quelques minutes, heures ou jours pour mettre en œuvre un correctif avant que le composant ne cesse de fonctionner.

Cela aide également à réduire la gravité des incidents. Au lieu de se précipiter en cas de panne inattendue, le personnel informatique peut procéder à des échanges ou des basculements qu’il a planifiés, testés et dotés de ressources à l’avance.​

Conception d’architectures informatiques résilientes

L’intégration du MTTF dans les KPI DevOps pousse les équipes informatiques à concevoir en tenant compte de la fiabilité et de la dégradation progressive, plutôt que de se concentrer uniquement sur la vitesse de livraison. Les équipes peuvent comparer le MTTF entre les composants pour effectuer des choix d’architecture tels que le remplacement des composants peu performants et la refonte des services.

L’observation du MTTF aide les architectes informatiques à décider où les redondances sont nécessaires. Par exemple, un service critique avec un MTTF faible aura probablement besoin de répliques, de clusters de basculement ou de disjoncteurs (qui empêchent les services d’essayer de répéter les opérations ayant échoué) pour fonctionner correctement.

Le MTTF aide également les architectes à combiner efficacement les services. Si une application repose sur une chaîne de dépendances à faible MTTF (qui échoueront plus souvent), les équipes DevOps peuvent choisir de les découpler ou d’ajouter des voies de secours pour éviter les défaillances en cascade des services.

Réduire la dette technique

Le MTTF aide les équipes DevOps à privilégier la dette technique en transformant les plaintes « cela semble fragile » trop vagues en risques de fiabilité mesurables, qui peuvent être classés et traités. Elles peuvent utiliser les données MTTF pour créer un backlog de fiabilité classé par MTTF et impact d’incident, afin que les restructurations, les refontes et les mises à jour des dépendances ciblent les zones qui nuisent le plus à la stabilité du système.

En outre, les données MTTF permettent aux entreprises d’établir un lien entre la dette technique et les résultats métier en indiquant la fréquence des pannes d’un service et le volume de temps d’arrêt ou d’interruptions de service qu’elles entraînent au fil du temps. Cela permet aux ingénieurs de fournir des arguments fondés sur des preuves en faveur du remboursement de la dette. Au lieu de se fier à leur intuition, ils peuvent désormais expliquer qu’un « module échoue tous les N jours » et qu’il « est à l’origine de X % des incidents », ce qui trouve davantage d’écho auprès de la direction et des équipes produits.

Objectifs de niveau de service (SLO) réalistes et budgets d’erreur

Les SLO sont des objectifs de performance convenus pour un service particulier sur une période de temps spécifique. Ils aident à définir le statut attendu des services et à faciliter la prise de décision concernant les modifications système.

Les SLO de disponibilité fixent le temps d’arrêt autorisé d’un service, connu sous le nom de budget d’erreur. Les budgets d’erreur visent à aider les entreprises à concilier innovation et stabilité. Si le budget est sain, les équipes peuvent prioriser en toute sécurité le déploiement des fonctionnalités. S’il est presque épuisé, elles devront se concentrer sur la fiabilité.

Un service à faible MTTF peut rapidement consommer le budget d’erreur, signalant que le SLO n’est pas réaliste pour la conception actuelle ou que les équipes informatiques doivent accroître la fiabilité du service pour augmenter le MTTF.

IBM DevOps

Qu’est-ce que le DevOps ?

Andrea Crawford présente le DevOps, démontre sa valeur, et explique de quelle façon les pratiques et les outils DevOps vous aident à faire progresser vos applications dans l’ensemble du pipeline de livraison logiciel, de l’idéation à la production. Dirigé par des leaders d’opinion d’IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires pour donner la priorité aux investissements dans l’IA capables de stimuler la croissance.

MTTF et MTBF

MTTF et MTBF sont tous deux des indicateurs de fiabilité qui décrivent la durée de fonctionnement des équipements, mais ils s’appliquent à différents types d’actifs et cycles de vie. Alors que le MTTF représente le temps moyen avant la première défaillance d’un composant, le MTBF, lui, représente le temps moyen entre les cycles de défaillance.

Le MTTF estime le temps moyen de fonctionnement d’un actif non réparable avant une défaillance permanente exigeant de le remplacer. Il suit le principe qu’une seule défaillance met fin à la durée de vie utile du composant.

Le MTTF s’applique aux composants matériels remplacés, tels que les disques de stockage, les unités centrales de traitement (CPU) et des câbles. Il s’applique également aux composants logiciels tels que les conteneurs et microservices, qui sont remplacés par une nouvelle version ou un autre service au lieu d’être réparés sur place.

Le MTBF mesure le temps moyen entre les défaillances consécutives d’actifs réparables, y compris les serveurs, les composants réseau et le code logiciel, qui sont corrigés et remis en service après des pannes. Il suppose qu’un équipement va tomber en panne, être réparé puis tomber en panne à nouveau, c’est pourquoi la durée de vie utile du système comprend plusieurs cycles de « défaillance → réparation ».

Ensemble, les indicateurs MTTF et MTBF indiquent la façon dont les équipes abordent la gestion des incidents et des services informatiques.

Dans de nombreuses architectures, les composants non réparables (suivis par le MTTF) sont intégrés dans de grands systèmes complexes réparables (suivis par le MTBF), de sorte que le MTTF peut aider les équipes à prédire quand des mécanismes internes provoqueront une panne qui contribuera au MTBF du système global.

Supposons que les données d’observabilité révèlent qu’un microservice de traitement des paiements au sein d’une application de vente au détail possède un MTTF de 1 000 heures avant qu’une fuite de mémoire critique ne provoque un crash irrémédiable. Les équipes DevOps peuvent programmer et automatiser les redémarrages du microservice au bout de 800 heures pour éviter la création d’une chaîne de défaillances qui ferait chuter le MTBF de l’application.

Ainsi, le remplacement préventif du microservice non réparable renforce directement la fiabilité de l’application dans son ensemble.

Ces deux indicateurs sont également essentiels pour la planification de la disponibilité et de la maintenance. Le MTTF prend en charge les décisions concernant la gestion des stocks et le stockage des pièces de rechange, tandis que le MTBF prend en charge les décisions concernant les calendriers de maintenance préventive et la fréquence d’interruption prévue.

Utilisés en même temps que des indicateurs de temps de réparation tels que le MTTR, le MTTF et le MTBF, ils permettent aux planificateurs d’estimer le temps de fonctionnement du système et le budget consacré aux pièces de rechange, puis de régler les systèmes informatiques pour une fiabilité optimale.

Pratiques pour améliorer le MTTF

Si la méthode employée pour augmenter le MTTF d’un actif varie considérablement selon le système utilisé, ses dépendances, l’écosystème DevOps dans lequel il s’exécute et les objectifs de l’entreprise, plusieurs pratiques clés sont toutefois appliquées :

  • Surveillance continue. Grâce aux outils de surveillance et d’observabilité, les équipes informatiques sont en mesure de suivre les écarts de performance et de fiabilité en temps réel, et de déployer des contre-mesures pour éviter que des problèmes mineurs n’accélèrent les défaillances du système.
  • Maintenance préventive : la réalisation d’inspections régulières et la programmation proactive de la maintenance des systèmes peuvent aider les équipes à réduire les taux de défaillance et à prolonger la durée de vie moyenne des services informatiques.
  • Stratégies de redondance : de nombreuses entreprises s’appuient sur des répliques équilibrées en charge, des architectures informatiques multirégions, des outils d’orchestration de conteneurs et des processus de réplication des données pour éliminer les points de défaillance isolés et aider les équipes à atténuer l’impact des défaillances.

Auteur

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Solutions connexes
IBM Instana Observability

Exploitez le pouvoir de l’IA et de l’automatisation pour résoudre de manière proactive les problèmes de la pile d’applications.

Découvrir IBM Instana Observability
Solutions DevOps

Utilisez les logiciels et outils DevOps pour construire, déployer et gérer des applications cloud natives sur plusieurs appareils et environnements.

Découvrir les solutions DevOps
Services de conseil en cloud

Renforcez l’agilité et la croissance de votre entreprise. Modernisez en continu vos applications sur n’importe quelle plateforme grâce à nos services de conseil cloud.

Découvrir les services de conseil cloud
Passez à l’étape suivante

De la détection proactive des incidents avec IBM Instana aux informations en temps réel sur l’ensemble de votre pile, garantissez la fiabilité de vos applications cloud-native.

  1. Découvrez IBM Instana
  2. Découvrir les solutions DevOps