Pet ou
troupeau ?
La métaphore la plus célèbre du DevOps, racontée avec une marionnette chaussette et un troupeau numéroté.
420-5A4-MT · Serveurs évolutifsVotre serveur
a-t-il un petit nom ?
Au cours de serveur, vous avez installé un WordPress à la main, paquet par paquet, ligne par ligne. Vous le connaissez par coeur. Vous lui avez peut-être même donné un nom. Si votre serveur a un nom, une histoire et des cicatrices, c'est un animal de compagnie. Et ça pose une question grave : que se passe-t-il le jour où il meurt ?
Pets versus cattle
L'image vient du monde DevOps : Bill Baker, ingénieur chez Microsoft, compare un jour ses serveurs à des animaux, et Randy Bias popularise la formule en 2012 sous le nom de pets versus cattle. Le CERN l'adopte pour expliquer comment il gère ses dizaines de milliers de serveurs. Aujourd'hui, c'est le vocabulaire standard du métier.
Les animaux de compagnie. Des serveurs uniques, nommés, soignés à la main. Chez nous : la marionnette chaussette, cousue main et adorée.
Le bétail. Des serveurs identiques, numérotés, remplaçables en quelques secondes. Chez nous : le troupeau.
Retenez les mots anglais : c'est avec eux qu'on vous en parlera en entrevue.
La marionnette chaussette
- Nom : minou-prod, baptisée un vendredi soir de 2019.
- Naissance : installée à la main, paquet par paquet.
- Signe particulier : une rustine de configuration que plus personne ne comprend, mais qu'il ne faut surtout pas toucher.
- Si elle tombe : panique générale, on la veille toute la nuit.
Sur les vrais réseaux, on les reconnaît à leurs noms : gandalf, pikachu, minou-prod. Des serveurs uniques, bricolés avec amour, impossibles à recréer à l'identique.
Le troupeau numéroté
Dans le troupeau, plus de petits noms : des numéros. Toutes les bêtes naissent de la même image, aucune n'est spéciale. web-004 est malade ? On ne la soigne pas : on la retire et web-352 naît en trois secondes, parfaitement identique.
Deux philosophies complètes
- Naît d'une installation manuelle, longue et unique
- Porte un nom : minou-prod
- Malade ? On la soigne pendant des heures
- Mise à jour : on la modifie en place, en croisant les doigts
- Sa mort est une catastrophe
- Naît d'une image, identique à ses soeurs
- Porte un numéro : web-041
- Malade ? On la remplace en secondes
- Mise à jour : on change l'image, le troupeau se renouvelle
- Sa mort est un mardi ordinaire
La différence n'est pas le matériel : les machines sont les mêmes. La différence, c'est l'outillage et la philosophie.
Il est 3 h du matin.
Un serveur vient de mourir.
Que se passe-t-il ?
- Mode marionnette : le téléphone sonne, on se lève, on fouille les journaux en pyjama, on répare à la main, on se recouche à 6 h.
- Mode troupeau : l'orchestrateur a déjà remplacé la bête. Personne n'a appelé personne. On l'apprend au déjeuner, dans un graphique.
La haute disponibilité ne vient pas de serveurs qui ne tombent jamais. Elle vient de serveurs dont la mort n'a aucune importance.
Fabriquer des bêtes identiques
Le mode troupeau exige que chaque bête naisse parfaitement identique aux autres. Toute une famille d'outils sert à écrire et conserver cet ADN.
L'image est l'ADN, le conteneur est la bête. On ne répare pas un conteneur malade : on le jette et on en relance un.
La recette écrite qui fabrique l'image. Toute la naissance est documentée, reproductible, versionnable.
Décrit l'attelage complet (web, base de données, cache) dans un seul fichier. Le même attelage démarre partout, identique.
Docker Hub ou un registre privé : le catalogue génétique où tout le troupeau va chercher son ADN.
Le berger automatique
Un troupeau sans berger se disperse. Ces outils comptent les bêtes, remplacent les mortes et distribuent les visiteurs.
L'orchestrateur du cours. On lui dit « maintiens 10 répliques » et il compte ses bêtes en permanence, nuit et jour.
Le berger industriel. Même métier que Swarm, échelle planétaire : c'est lui qui domine le marché.
Le balanceur de charge : personne ne parle à une bête en particulier, on parle au troupeau par une seule porte.
La surveillance : la santé du troupeau se lit en statistiques et en tableaux de bord, pas en auscultant chaque bête.
Même les machines deviennent du bétail
L'idée ne s'arrête pas aux conteneurs : les machines virtuelles et l'infrastructure entière peuvent naître d'une recette. Le métier appelle ça l'infrastructure as code.
La machine virtuelle se configure toute seule à sa première naissance : usagers, clés SSH, paquets.
Le même geste répété sur cent machines, décrit dans un fichier qu'on peut relire et rejouer.
Machines, réseaux, pare-feu : la ferme complète décrite en code, recréée en une seule commande.
Dans ce cours, on commence à la main avec VirtualBox pour comprendre chaque geste, puis on automatise de plus en plus.
On remplace la vache, jamais le lait
Le mode troupeau s'applique au calcul : les serveurs web, les copies de l'application. Mais les données, elles, ne sont pas du bétail : la base de données et les fichiers de vos usagers sont uniques et précieux.
- Les volumes : l'état survit à la mort du conteneur.
- Les sauvegardes : le lait est mis en lieu sûr, régulièrement.
- La réplication : plusieurs copies vivantes des données, au programme du module 2.
Un professionnel jette ses conteneurs sans remords et protège ses données avec une prudence de vétérinaire.
De la marionnette au troupeau en 15 semaines
Votre WordPress installé à la main au cours de serveur est une marionnette chaussette : unique, adorée, fragile. La session entière raconte sa transformation en troupeau.
- Semaine 2 : on écrit son ADN, l'image Docker.
- Semaine 3 : la recette de tout l'attelage, avec Compose.
- Semaine 4 : le berger entre en scène, Swarm et les premières répliques.
- Module 2 : le troupeau s'étend sur plusieurs machines.
- Projet final : on abat une machine en pleine charge, et rien ne tombe.
Les trois idées du diaporama
- Pet : unique, nommé, soigné à la main. Cattle : identique, numéroté, remplacé automatiquement. Deux philosophies, le même matériel.
- Le mode troupeau n'est pas de la cruauté : c'est lui qui permet de dormir la nuit. La haute disponibilité vient du remplacement, pas de la réparation.
- Les outils du troupeau : l'image (l'ADN), l'orchestrateur (le berger), le balanceur (la porte du pré), la surveillance (le vétérinaire des statistiques). Et les données, elles, restent précieuses.
La marionnette chaussette ne disparaît pas : elle prend sa retraite. On garde sa personnalité dans une image, et on la clone en troupeau. minou-prod devient web-001, web-002, web-003...