Diaporama de Notions (22 Diapos)

Haute Disponibilité &
Produit Minimum Viable

De la scalabilité horizontale à un produit minimum viable d'une application en haute disponibilité.

420-5A4-MT · Module 3 · Projet Haute-Disponibilité
Diapositive 2 / 22

Sommaire du Diaporama

Diapositive 3 / 22

Qu'est-ce que la Haute Disponibilité ?

La haute disponibilité (HA - High Availability) est une approche qui vise à garantir qu'un système informatique reste accessible et fonctionnel le plus longtemps possible, même en cas de panne.

Diapositive 4 / 22

Pourquoi la Haute Disponibilité est-elle vitale ?

Imaginez une boutique en ligne qui tombe en panne pendant le Black Friday, ou un système bancaire inaccessible pendant plusieurs heures. Les conséquences sont dévastatrices : perte de revenus directe, clients mécontents, atteinte irrémédiable à la réputation.

Diapositive 5 / 22

Les Concepts de Base · Les "9" de Disponibilité

Le taux de disponibilité se mesure en pourcentage. Voici le temps d'arrêt maximal autorisé par an :

Niveau de disponibilité Pourcentage Indisponibilité max. / an
Un "9" 90 % 36,5 jours / an
Deux "9" 99 % 3,65 jours / an
Trois "9" 99,9 % 8,76 heures / an
Quatre "9" 99,99 % 52,6 minutes / an
Cinq "9" (Standard Or) 99,999 % 5,26 minutes / an
Diapositive 6 / 22

Comment atteindre la Haute Disponibilité ?

1. Redondance

Éliminer les points de défaillance uniques en dupliquant les composants critiques.

2. Équilibrage de charge

Répartir le trafic entre plusieurs serveurs pour absorber les pics et les pannes.

3. Réplication des données

Copier en temps réel les données sur plusieurs disques et sous-systèmes de stockage.

4. Failover automatique

Basculer instantanément sans intervention humaine vers un composant de secours.

5. Surveillance continue

Détecter les défaillances en continu et déclencher les alertes et mécanismes de récupération.

Diapositive 7 / 22

De la Scalabilité Horizontale au PMV HA

Dans les laboratoires précédents, nous avons vu la séparation BDD/Web et le cache Varnish. Il faut maintenant assembler ces briques dans un Produit Minimum Viable (PMV) en Haute Disponibilité complète.

Diapositive 8 / 22

Mettre en Évidence la HA Progressivement

Diapositive 9 / 22 · Diagramme d'Architecture

Identifions les Points de Failles

Analyse de la topologie initiale et de l'adressage IP :

IPV: 192.168.56.49 HAPROXY-1: 192.168.56.40 HAPROXY-2: 192.168.56.41 VARNISH-1: 192.168.56.30 VARNISH-2: 192.168.56.31 HTTP: 192.168.56.10 MYSQL: 192.168.56.20
Pas de Redondance HTTP & BDD

192.168.56.10 (HTTP) et 192.168.56.20 (MYSQL) sont uniques ! Si l'une tombe, l'application entière s'arrête. SPOF

Pas de Basculement BDD

Aucun mécanisme automatique ne permet de promouvoir un serveur de secours MySQL. SPOF

Pas de Réplication des Données

Les images téléversées sur HTTP et les tables MySQL vivent sur un seul disque local non répliqué. PERTE

Diapositive 10 / 22 · Matrice de Résolution

Identifions les Solutions aux Points de Failles

Évaluation des corrections apportées à la topologie :

Composant & IP Redondance Failover Auto Équilibrage Réplication Données
Passerelle (HAProxy + IPV)
192.168.56.49 / .40 / .41
☑ OUI ☑ OUI ☑ OUI N/A (Sans état)
Cache (Varnish 1 & 2)
192.168.56.30 / .31
☑ OUI ☑ OUI ☑ OUI N/A (RAM Cache)
Serveurs Web (HTTP)
192.168.56.10
✘ UNIQUE ✘ NON ✘ NON ✘ DISQUE LOCAL
Base de Données (MySQL)
192.168.56.20
✘ UNIQUE ✘ NON ✘ NON ✘ NON RÉPLIQUÉ

Diagnostic : La passerelle et le cache sont sécurisés, mais la couche Web et la couche BDD restent les deux maillons faibles à répliquer !

Diapositive 11 / 22 · Dessin Original

Identifions les Points de Failles

IPV .56.49 IPV 192.168.56.49 192.168.56.40 HAPROXY-1 🔀 192.168.56.41 HAPROXY-2 🔀 192.168.56.30 VARNISH-1 cache web ⚡ 192.168.56.31 VARNISH-2 cache web ⚡ 192.168.56.10 HTTP APACHE 🪶 pages web + App 192.168.56.20 MYSQL 🐬 les données de l'App 🅷🅰 HighAvailability Pas de redondance Pas de basculement automatique Pas de sauvegarde et réplication des données 420-5A4-MT · Projet Haute Disponibilité
Diapositive 12 / 22 · Dessin Original

Identifions les Solutions aux Points de Failles

IPV .56.49 La redondance Le basculement automatique IPV 192.168.56.49 192.168.56.40 HAPROXY-1 🔀 192.168.56.41 HAPROXY-2 🔀 L'équilibrage de charge 192.168.56.30 VARNISH-1 cache web ⚡ 192.168.56.31 VARNISH-2 cache web ⚡ 192.168.56.10 HTTP APACHE 🪶 pages web + App 192.168.56.20 MYSQL 🐬 les données de l'App 🅷🅰 HighAvailability Pas de redondance Pas de basculement automatique Pas de sauvegarde et réplication des données 420-5A4-MT · Projet Haute Disponibilité
Diapositive 13 / 22

Quoi faire pour assurer la Sauvegarde & Réplication ?

Il faut d'abord classifier les données applicatives en deux familles distinctes :

1. Fichiers Médias & Uploads

Les images, documents et médias téléversés sur HTTP via WordPress (dossier wp-content/uploads).

2. Données Structurées MySQL

Les bases de données relationnelles MySQL/MariaDB contenant les articles, comptes utilisateurs et transactions.

Diapositive 14 / 22

Solution pour les Fichiers HTTP : Stockage Partagé

Le serveur HTTP va être dupliqué (HTTP-1 et HTTP-2) derrière une IP Virtuelle. Les serveurs HTTP deviennent sans état (stateless).

Diapositive 15 / 22

Solution pour MySQL : SGBD Haute Disponibilité

Le serveur MySQL doit devenir un cluster distribué en haute disponibilité :

Galera Cluster

MariaDB / Percona XtraDB. Cluster multi-maître synchrone ultra-robuste sans perte de transactions.

MySQL Group Replication

MySQL MGR / InnoDB Cluster. Réplication native avec consensus et tolérance aux pannes.

Orchestrator & ProxySQL

Failover automatique de topologie Master-Slave et routage intelligent des requêtes SQL.

Diapositive 16 / 22

Produit Minimum Viable (PMV) d'une App HA

Un Produit Minimum Viable (PMV), c'est ce qui est strictement nécessaire pour accomplir une tâche en respectant une cible préétablie. Dans notre cas, la cible préétablie est une application en haute disponibilité qui élimine les points de faille majeurs.

Diapositive 17 / 22

Surveillance Continue en Haute Disponibilité

La surveillance repose sur 5 piliers complémentaires :

Diapositive 18 / 22

Architecture de Surveillance Dédiée

Monitoring Distribué

Déployer les instances de monitoring sur une zone isolée pour éviter de perdre la visibilité si l'application tombe.

Agents Légers sur chaque Nœud

Agents (node_exporter, telegraf) sur chaque serveur rapportant processeur, mémoire, disque et santé des services.

Diapositive 19 / 22

Métriques Critiques à Surveiller

Diapositive 20 / 22

Alertes Intelligentes & Escalade

Évitez le bruit : trop d'alertes tuent l'alerte !

Diapositive 21 / 22

Healthchecks & Tests Synthétiques

Healthchecks Actifs

Ne pas se fier au simple ping : exécuter une requête HTTP complète qui valide l'accès à la BDD.

Tests Synthétiques

Simuler un parcours usager en continu (connexion, panier) pour détecter les pannes avant les vrais clients.

Diapositive 22 / 22 · Synthèse Finale

Outils Populaires de l'Industrie

Stack recommandés :

📋 Plan Détaillé · Acte 9 → 🖼️ Diapo · Dockerfiles S12 →