Haute disponibilité sous Linux
De l'infrastructure à l'orchestration de services
(Heartbeat, Docker, Ansible, Kubernetes...)
Plus que jamais, dans un monde ultraconnecté où tant de choses dépendent de l'informatique et d'Internet, il est primordial de disposer d'environnements hautement disponibles, redondants et fiables. L'objectif de ce livre est de fournir aux ingénieurs système toutes les bases permettant de construire des environnements de Haute Disponibilité, tant du point de vue de l'infrastructure que du point de vue des services, basés sur le système d'exploitation Linux.
Selon les principes et les outils DevOps, les auteurs présentent un exemple d'application fil rouge permettant d'étudier la façon de faire évoluer de concert une application et l'infrastructure sous-jacente, pour les rendre les plus fiables et les plus accessibles possibles, en s'appuyant sur les dernières technologies.
Tous les éléments de conception d'une plateforme et d'une application redondantes sont ainsi abordés.
Le lecteur peut ainsi appréhender concrètement la définition d'une application écrite en Java et tournant sous Tomcat, la mise en place d'une architecture matérielle fonctionnelle pour la supporter, la redondance des services système et réseau de base (RAID, agrégats réseau, DNS...), l'automatisation de la construction et du déploiement des images de l'application avec Docker et Ansible ou encore la haute disponibilité du réseau, des répartiteurs de charge et des adresses IP avec NGINX, HAProxy, le protocole VRRP et Quagga.
Dans la suite du livre, les auteurs décrivent le passage à l'orchestration avec un cluster Kubernetes, le déploiement d'un cluster avec une solution de stockage réseau redondant basée sur un cluster NFS et XFS, ainsi que la création de clusters de bases de données MariaDB et les affinités de sessions.
Chaque chapitre du livre est agrémenté d'exemples pratiques dont l'ensemble du code est proposé en téléchargement sur l'espace GitHub des auteurs.