Fiabilisation des outils internes d'une PME multi-sites
Refonte d'une infrastructure critique vers une architecture haute disponibilité, sans interruption de service.
Le contexte
PME du secteur de la formation professionnelle, environ 300 collaborateurs répartis sur plusieurs sites en France. L'infrastructure historique hébergeait une trentaine d'applications critiques (comptabilité, outils métier, applications internes) sur des serveurs sans redondance. Chaque incident matériel entraînait plusieurs heures d'indisponibilité et bloquait toute l'activité.
Le défi
Refondre l'ensemble vers une architecture haute disponibilité, tout en maintenant le service pour plus de 250 collaborateurs dépendants au quotidien. Le parc applicatif mélangeait des services conteneurisables et des services qui ne l'étaient pas : bases de données legacy, services à état, processus métier spécifiques. Kubernetes et Docker Swarm n'étaient donc pas adaptés.
La solution
Mise en place d'un cluster Pacemaker / Corosync, capable de gérer indifféremment des conteneurs Docker et des services bare-metal. Pour les services sans agent de bascule existant, j'ai développé des modules custom en Bash et Python. Le cluster détecte une panne et bascule automatiquement le service sur un autre nœud. Configuration avancée pour orchestrer la priorité de bascule selon la criticité des applications. Le tout déployé progressivement, sans interruption pour les utilisateurs.
Les résultats
Plus de 30 applications critiques aujourd'hui hébergées sur l'infrastructure haute disponibilité. Disponibilité mesurée à 99,9 % sur trois ans, soit moins de dix heures d'indisponibilité par an. Bascule automatique en environ 2 minutes 30 en cas de panne d'un nœud, contre plusieurs heures auparavant. L'astreinte humaine sur incident matériel a quasiment disparu.
Stack technique
- Pacemaker / Corosync Orchestration du cluster, détection de panne et failover automatique
- Docker Conteneurisation des services qui s’y prêtent
- Modules custom (Bash, Python) Agents de bascule pour les services sans agent Pacemaker existant
- Linux (Debian) Système hôte des nœuds du cluster
- Infrastructure hébergée et maintenue en interne Pas de dépendance à un cloud public, parc maîtrisé bout en bout