Définition
Capacité d'un système à continuer de fonctionner correctement malgré l'apparition de fautes matérielles ou logicielles en masquant, isolant ou récupérant les erreurs.

Principe

Principe
La tolérance aux pannes s'obtient en détectant les erreurs, en contenant leurs effets et en assurant la continuité par redondance, réplication, dégradation progressive et protocoles de récupération ; elle suppose que des pannes se produiront et conçoit pour qu'une panne isolée n'entraîne pas l'arrêt du système.

Démonstration

Démonstration
Un cluster de base de données répliqué avec vote de quorum qui redirige les requêtes lors d'une défaillance de nœud et réplique de nouveau les données pour maintenir le facteur de réplication continue à servir lectures/écritures malgré des crashs de nœuds, illustrant le masquage et la récupération.

Mauvaise application

Mauvaise application
Assimiler tolérance aux pannes et élimination des bugs ou penser qu'elle évite toute indisponibilité ; par exemple, compter uniquement sur des tentatives de réexécution sans corriger une corruption d'état peut masquer des bugs systémiques et conduire ultérieurement à des incohérences de données.

Conséquence

Conséquence
Bien mise en œuvre, la tolérance aux pannes réduit l'impact des défaillances individuelles, améliore la continuité du service et la confiance des utilisateurs, et limite les interruptions à une dégradation plutôt qu'à un arrêt total.

Inversion

Inversion
Les systèmes non tolérants aux pannes possèdent des points de défaillance unique où une seule panne peut provoquer une interruption catastrophique ou complète du service au lieu d'une dégradation contrôlée.

Limite

Limite
La tolérance aux pannes couvre les fautes accidentelles matérielles/logiciels et les erreurs réseau transitoires ; elle n'inclut pas automatiquement les défenses contre les attaques délibérées, les bugs de conception généralisés ou les erreurs opérationnelles humaines sauf si elles sont traitées explicitement.

Tension sémantique

Tension sémantique
Tension avec des concepts voisins comme la haute disponibilité (accent sur le temps de fonctionnement), la fiabilité (probabilité de fonctionnement sans panne) et la résilience (capacité à se remettre de perturbations importantes) ; la tolérance aux pannes insiste sur le maintien d'un fonctionnement correct malgré les pannes.

Synthèse

Synthèse
La tolérance aux pannes est un objectif de conception et un ensemble de mécanismes acceptant l'inévitabilité des pannes et visant à préserver le service correct en masquant, isolant et récupérant les défaillances de composants afin que le système continue à fonctionner.