Haute disponibilité et tolérance aux pannes : de quoi parle-t-on exactement ? Ces deux notions informatiques sont étroitement liées, mais leurs exigences et leurs résultats diffèrent. Cet article explore la différence entre la haute disponibilité (HA) et la tolérance aux pannes (FT) appliquées à l’infrastructure informatique. Nous mettrons en évidence les principales différences, les cas d’utilisation et les avantages de chacune, afin que vous puissiez vous assurer que votre infrastructure répond à ses propres exigences de fiabilité et de disponibilité.
Qu’est-ce que la haute disponibilité (HA) ?
Dans ce contexte, la « disponibilité » indique si les utilisateurs ou les services peuvent accéder à un système. Si un système n’est pas disponible, il ne peut pas remplir sa fonction. La disponibilité se mesure au temps total pendant lequel un service est accessible sur une année : une application disponible à 99 % doit l’être 361,35 jours par an (0,99 multiplié par les 365 jours de l’année). De nombreuses entreprises assortissent leurs services en ligne d’un contrat précisant le niveau de disponibilité garanti dans le cadre de leur SLA (contrat de niveau de service).
La haute disponibilité est une architecture dans laquelle les systèmes et les logiciels sont déployés et configurés pour privilégier la disponibilité et la capacité à répondre aux requêtes. On considère généralement qu’il y a haute disponibilité à partir d’un taux de disponibilité de 99 %. Toute interruption de service doit rester ponctuelle et exceptionnelle, si tant est qu’elle se produise. Une application qui promet une disponibilité de 99 % ne doit pas être hors ligne plusieurs jours d’affilée, ni même plusieurs minutes, même si elle reste en deçà du seuil annoncé.
Même si vous ne fournissez pas de services à d’autres sociétés, de nombreuses entreprises ont besoin de la haute disponibilité pour garantir la continuité de leur propre activité. Par exemple, si vous disposez de serveurs qui hébergent votre logiciel de vente ou d’e-commerce, ils doivent privilégier la haute disponibilité afin que vos clients puissent toujours passer commande chez vous.
La tolérance aux pannes (FT) et ce qui la distingue de la HA
La tolérance aux pannes va plus loin que la haute disponibilité : elle vise à créer une infrastructure qui ne subit aucune interruption. L’objectif est le même que pour la haute disponibilité, à savoir éviter toute interruption de service, mais les mécanismes mis en œuvre pour rendre les systèmes tolérants aux pannes sont bien plus complexes et coûteux.
C’est pourquoi de nombreuses équipes techniques estiment qu’un certain niveau de haute disponibilité est plus réaliste et plus rentable qu’un système entièrement tolérant aux pannes, ou se demandent si une disponibilité de 100 % justifie de tels frais. Par exemple, une boutique en ligne conçue pour la haute disponibilité peut tout à fait se permettre quelques secondes hors ligne lorsqu’aucun client n’est connecté, le temps de corriger un bug ou d’installer une mise à jour. En revanche, un système de contrôle du trafic aérien qui s’interrompt régulièrement, ne serait-ce qu’un instant, est totalement inacceptable : tous les systèmes concernés doivent afficher zéro temps d’arrêt.
Comment fonctionnent-elles ?
Haute disponibilité
La haute disponibilité s’appuie sur plusieurs mécanismes clés, selon le type de services fournis :
- Réplication et mise en miroir : la réplication permet de garantir l’existence de plusieurs copies à jour des données, stockées sur des serveurs fonctionnant sur du matériel distinct (voire sur des sites différents). Si l’un tombe en panne, les utilisateurs peuvent être rapidement redirigés vers un autre serveur. L’intégrité des données doit être surveillée et vérifiée sur l’ensemble des systèmes afin de s’assurer que toutes les données sont actuelles, complètes et exactes.
- Clusters et équilibreurs de charge : les serveurs web, les bases de données et d’autres services peuvent être hébergés sur plusieurs serveurs, puis configurés pour répartir le trafic entre eux afin qu’aucun serveur ne soit saturé. Si un incident met hors service un serveur du cluster, le service se poursuit sans interruption grâce aux autres serveurs.
- Redondance et sauvegarde : des sauvegardes régulières, en plus des copies répliquées, garantissent qu’en cas de données corrompues ou endommagées, ou de système irrécupérable, tout peut être restauré dans un état sain connu.
- Matériel redondant : le RAID est une technologie couramment déployée pour se protéger contre les pannes de disque. Au niveau du réseau, le fait de disposer de plusieurs équipements de basculement (par exemple, un routeur et une connexion Internet secondaires en cas de coupure de la connexion principale) permet d’éviter que des problèmes comme les surtensions ou les câbles coupés n’empêchent la poursuite de l’activité.
Tolérance aux pannes
La tolérance aux pannes ajoute un niveau supplémentaire de redondance et de détection des défaillances afin d’assurer une résilience totale face aux interruptions. Un système tolérant aux pannes combine en substance plusieurs systèmes à haute disponibilité pour qu’à l’échelle de l’ensemble, tout temps d’arrêt puisse être évité, même si l’un de ces systèmes HA tombe complètement en panne :
- Systèmes HA redondants (y compris la redondance géographique) : plusieurs systèmes à haute disponibilité, qu’il s’agisse de duplications complètes de toute une infrastructure applicative ou de ses différents composants pris séparément, peuvent être activés instantanément en cas de panne. Idéalement, un ou plusieurs de ces systèmes redondants se trouvent dans une autre région géographique, afin de se protéger des catastrophes naturelles ou d’autres situations d’urgence susceptibles de mettre hors ligne un centre de données entier.
- Détection automatisée des défaillances et retour à l’état initial : les systèmes tolérants aux pannes doivent être capables de détecter les incidents au moment où ils surviennent et de les corriger immédiatement, par exemple en basculant vers un système redondant pendant que le problème est analysé et réparé. Une fois l’incident résolu, le système doit revenir automatiquement à l’état prévu par sa conception.
- Suppression des points de défaillance uniques : aucun système FT ne doit comporter de point de défaillance unique. L’architecture du système et de tous ses composants doit être inspectée régulièrement afin de garantir une redondance complète (et le bon fonctionnement des composants redondants).
- Confinement des défaillances : certaines erreurs peuvent affecter d’autres éléments de l’infrastructure et se propager en cascade dans les systèmes. Par exemple, des valeurs inattendues dans un pipeline de données peuvent provoquer des dysfonctionnements applicatifs au fil de leur transmission. Les systèmes FT doivent surveiller les défaillances non critiques et les isoler (par exemple, en plaçant les messages défectueux dans une file d’attente de lettres mortes plutôt qu’en les laissant provoquer d’éventuelles erreurs critiques susceptibles d’affecter la disponibilité).
L’une des technologies clés des systèmes HA comme FT est la surveillance et les alertes automatisées : en cas d’incident, les équipes techniques doivent être averties pour pouvoir réagir immédiatement et éviter toute interruption de service.
Haute disponibilité et tolérance aux pannes : avantages et inconvénients
Pour déterminer le niveau de haute disponibilité que vous souhaitez atteindre, ou s’il est pertinent de mettre en place une tolérance aux pannes complète, vous devez prendre en compte les implications en matière de coût, de performances et de technique.
Les systèmes tolérants aux pannes sont bien plus coûteux et complexes à mettre en place et à maintenir que les systèmes conçus uniquement pour la haute disponibilité. En effet, chaque système doit disposer de plusieurs doublons redondants, et chaque doublon multiplie le coût d’implémentation, tout comme les frais d’hébergement et de maintenance récurrents. De plus, plus votre infrastructure informatique est vaste, plus il est difficile de la gérer avec une petite équipe sans les bons outils.
Les performances et l’évolutivité sont d’autres facteurs à considérer : les composants redondants d’un système FT n’apportent aucun gain de performances, puisqu’ils n’entrent en jeu qu’en cas de panne. Dans un système HA, lorsque la mise en cluster sert à assurer le basculement, les autres instances actives peuvent absorber une partie de la charge de travail via un équilibreur de charge, ce qui améliore les performances. Les systèmes FT peuvent bien sûr y remédier en utilisant plusieurs systèmes redondants à haute disponibilité, mais à un coût très élevé.
Que les systèmes soient à haute disponibilité ou tolérants aux pannes, la maintenance de copies redondantes des données engendre une consommation supplémentaire de ressources, car ces données doivent être transférées et vérifiées. Cela peut poser problème dans les cas d’utilisation où la latence est critique, comme le trading automatisé d’actions.
La haute disponibilité et l’infrastructure entièrement redondante sont conçues autour de deux grands objectifs : éviter les temps d’arrêt et permettre une reprise rapide en cas de problème. Le RTO (recovery time objective) des applications tolérantes aux pannes doit être nul : la reprise doit donc être instantanée. Pour cela, l’intégrité des données des répliques doit être absolue. Les systèmes FT accordent donc une attention accrue à l’intégrité des répliques de données en temps réel, tandis que les systèmes HA peuvent se mettre en pause et consacrer quelques minutes à une restauration à partir d’une sauvegarde saine connue.
Construisez des systèmes à toute épreuve. Regardez Haute disponibilité et tolérance aux pannes : comprendre les principales différences pour renforcer la résilience de vos systèmes.
Haute disponibilité et tolérance aux pannes : bonnes pratiques
Lorsque vous mettez en place vos propres systèmes à haute disponibilité ou tolérants aux pannes, veillez à couvrir les technologies et processus clés suivants :
- Redondance complète : assurez-vous qu’il n’existe aucun point de défaillance unique.
- Détection et réponse automatisées : mettez en place des systèmes qui identifient et corrigent automatiquement les problèmes, et qui alertent les équipes techniques de tout incident potentiel.
- Résilience géographique : pour les systèmes FT, veillez à disposer de systèmes redondants dans une autre région. Pour la HA, assurez-vous qu’au moins un miroir de données à jour est stocké dans une autre région, à partir duquel une restauration rapide est possible.
- Surveillez vos coûts : ne sous-estimez pas le cumul des coûts de déploiement et de maintenance, en particulier pour les systèmes tolérants aux pannes.
Vous pouvez estimer que la haute disponibilité ou la tolérance aux pannes ne justifient pas les coûts et les ressources supplémentaires qu’elles impliquent pour le cas d’utilisation de votre entreprise. Cela ne signifie pas pour autant que l’un des outils sur lesquels elles reposent n’est pas absolument essentiel : les sauvegardes. Quelle que soit la complexité (ou la simplicité) de votre infrastructure informatique, vous devez disposer d’un plan de sauvegarde solide pour que les accidents, les vols ou les sinistres n’effacent pas les informations précieuses dont vous dépendez.
