HA (High Availability)
Définition
High Availability (HA) est une approche de conception de systèmes qui garantit un temps d’arrêt minimal en éliminant les points de défaillance uniques. Les systèmes HA utilisent la redondance (plusieurs composants effectuant la même fonction) pour qu’en cas de défaillance d’un composant, un autre prenne le relais sans interruption.
Le HA est généralement mesuré en « neufs » — le nombre de 9 dans le pourcentage de disponibilité annuelle.
Mesure de disponibilité HA
|| Disponibilité | Temps d’arrêt/an | Disponibilité | ||——–|—————|————-| || 90% | 36,5 jours | Un neuf | || 99% | 3,65 jours | Deux neufs | || 99,5% | 1,83 jour | Deux neufs et demi | || 99,9% | 8,76 heures | Trois neufs | || 99,95% | 4,38 heures | Deux neufs et demi | || 99,99% | 52,6 minutes | Quatre neufs | || 99,999% | 5,26 minutes | Cinq neufs (niveau télécom) | || 99,9999% | 31,5 secondes | Six neufs |
Modèles HA
|| Modèle | Description | Exemple | ||———|————-|———| || Active-Passive | Le primaire gère le trafic ; le standby prend le relais en cas de défaillance | Maître/replica de base de données | || Active-Active | Tous les nœuds servent le trafic simultanément | Serveurs web équilibrés | || Multi-région | Systèmes déployés sur des régions géographiques | CDN, cloud multi-région | || Redondance de châssis | Alimentations, ventilateurs, contrôleurs redondants | Commutateurs et routeurs d’entreprise | || Réplication de base de données | Copie de données en temps réel entre nœuds | Réplication MySQL, streaming PostgreSQL |
HA vs Fault Tolerance
|| Fonctionnalité | HA | Fault Tolerance | ||———|—–|—————–| || Temps d’arrêt | Brefs (secondes-minutes) | Zéro (basculer sans interruption) | || Coût | Modéré | Très élevé | || Complexité | Modérée | Élevée | || Cas d’usage | La plupart des systèmes d’entreprise | Mission-critical (finance, santé) | || Exemple | Serveurs équilibrés | Systèmes miroirs avec basculement instantané |
Composants HA
|| Composant | Stratégie HA | ||———–|————-| || Serveurs | Clustering, équilibrage de charge, basculement | || Stockage | RAID, réplication SAN, tableaux à double contrôleur | || Réseau | Chemins redondants, agrégation de liens, VRRP/HSRP | || Base de données | Réplication, clustering, sharding | || Alimentation | UPS, double alimentation, générateurs | || Data Center | Déploiement multi-site, redondance géographique |
Outils et technologies HA
|| Outil/Technologie | Fonction HA | ||—————–|————-| || Keepalived | VRRP pour le basculement d’IP virtuelle | || Pacemaker/Corosync | Gestion des ressources de cluster | || HAProxy | Load Balancer avec vérifications de santé | || NGINX | Load Balancer avec vérifications de santé upstream | || Réplication MySQL | HA maître/replica de base de données | || Réplication streaming PostgreSQL | HA de base de données | || etcd | Consensus distribué pour le HA | || Kubernetes | Planification des pods, ReplicaSets, StatefulSets |
HA dans Kubernetes
- Répliques de pods : Plusieurs répliques du même Deployment
- Redondance des nœuds : Plusieurs nœuds workers
- HA du plan de contrôle : Plusieurs API servers, quorum du cluster etcd
- Volumes persistants : Stockage multi-chemin, PVs répliqués
- Service : Endpoint stable indépendamment des pannes de pods
Termes associés
- Disaster Recovery — le HA prévient les temps d’arrêt ; la sauvegarde prévient la perte de données
- Cloud — les fournisseurs cloud offrent du HA multi-AZ
Références
- Wikipedia : https://en.wikipedia.org/wiki/High_availability
- Lignes directrices NIST HA : https://csrc.nist.gov/pubs/sp/800-34/final
- Meilleures pratiques HA AWS : https://aws.amazon.com/architecture/high-availability/