Diaporama complément

Pet ou
troupeau ?

La métaphore la plus célèbre du DevOps, racontée avec une vache géante et un troupeau numéroté.

420-5A4-MT · Serveurs évolutifs
La question qui fâche

Votre 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 ?

D'où ça vient

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.

Pets

Les animaux de compagnie. Des serveurs uniques, nommés, soignés à la main. Chez nous : Violette, la vache géante, élevée au biberon et adorée.

Cattle

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.

Portrait du pet

La vache géante Violette

violette
Fiche d'identité
  • Nom : violette, 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, violette. Des serveurs uniques, bricolés avec amour, impossibles à recréer à l'identique.

Portrait du cattle

Le troupeau numéroté

web-001
web-002
web-003
web-004 remplacée
web-005
web-006
web-007
web-352 née il y a 3 s

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.

Face à face

Deux philosophies complètes

La vache géante (pet)
  • Naît d'une installation manuelle, longue et unique
  • Porte un nom : violette
  • Malade ? On la soigne pendant des heures
  • Mise à jour : on la modifie en place, en croisant les doigts
  • Sa mort est une catastrophe
Le troupeau (cattle)
  • 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.

Le vrai test

Il est 3 h du matin.
Un serveur vient de mourir.
Que se passe-t-il ?

Mode pet

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.

OU
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.

Les outils du troupeau · 1

Les outils pour élever un troupeau

Le mode troupeau exige que chaque bête naisse parfaitement identique aux autres. Toute une famille d'outils sert à écrire et conserver cet ADN.

Les conteneurs
docker podman lxc
Les machines virtuelles
virtualbox kvm proxmox
L'infrastructure as code
cloud-init ansible terraform

Fabriquer des bêtes identiques ne suffit pas : il faut ensuite garder le troupeau. Les bergers comptent et remplacent les bêtes, les gardiens dirigent les visiteurs, les surveillants prennent le pouls.

Les bergers
swarm kubernetes
Les gardiens
haproxy heartbeat (ip virtuelle)
Les surveillants
prometheus + grafana zabbix
Les outils du troupeau · 2

De la recette au catalogue

Docker

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.

Dockerfile

La recette écrite qui fabrique l'image. Toute la naissance est documentée, reproductible, versionnable.

Docker Compose

Décrit l'attelage complet dans un seul fichier. Le même attelage démarre partout, identique.

boutique-web

Le WordPress de la boutique, thème et extensions compris.

boutique-donnees

La base MySQL et ses réglages, prête à brancher.

Le registre

Docker Hub ou un registre privé : le catalogue génétique où tout le troupeau va chercher son ADN.

wordpress:6.4 mysql:8.0 varnish:7.4 haproxy:2.9
Les outils du troupeau · 3

Le berger automatique

Un troupeau sans berger se disperse. Ces outils comptent les bêtes, remplacent les mortes et distribuent les visiteurs.

Docker Swarm

L'orchestrateur du cours. On lui dit « maintiens 10 répliques » et il compte ses bêtes en permanence, nuit et jour.

Kubernetes

Le berger industriel. Même métier que Swarm, échelle planétaire : c'est lui qui domine le marché.

HAProxy · Nginx

Le balanceur de charge : personne ne parle à une bête en particulier, on parle au troupeau par une seule porte.

Prometheus · Grafana

La surveillance : la santé du troupeau se lit en statistiques et en tableaux de bord, pas en auscultant chaque bête.

Les outils du troupeau · 4

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.

cloud-init

La machine virtuelle se configure toute seule à sa première naissance : usagers, clés SSH, paquets.

Ansible

La même technique répétée sur cent machines, décrit dans un fichier qu'on peut relire et rejouer.

Terraform

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 technique, puis on automatise de plus en plus.

La nuance importante

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.

Un professionnel jette ses conteneurs sans remords et protège ses données avec une prudence de vétérinaire.

Et vous dans tout ça

Du pet au troupeau en 15 semaines

Votre WordPress installé à la main au cours de serveur est un pet : unique, adoré, fragile. La session entière raconte sa transformation en troupeau.

Section bonus

Culture
geek

Les vraies vaches derrière Violette
Culture geek · 1

Knickers, trop grand pour la machine

knickers

Novembre 2018 : la photo d'un boeuf australien fait le tour du monde. Knickers, 1,94 m au garrot et 1,4 tonne, dépasse son troupeau d'une tête et demie. Trop grand pour la chaîne de l'abattoir, il est invendable : aucune machine ne peut le traiter. Il finira ses jours tranquille à Myalup, reconverti en guide qui mène les jeunes bêtes au pré.

La morale version serveur : ce qui a sauvé Knickers est exactement ce qui vous condamne. Un serveur qui sort du gabarit échappe aux outils standards, et tout finit par se faire à la main.

L'histoire de Knickers (CNN)
Culture geek · 2

Viola et le lait magique

viola

Dans la série Fablehaven de Brandon Mull, toute la réserve magique repose sur une seule vache : Viola, arrivée par bateau en 1711 et qui grandit toujours. Ses sabots ont la taille de spas, et son lait magique ouvre les yeux des mortels sur le monde des fées. Il n'existe pas d'autre Viola au monde.

Violette lui doit son nom. Et la morale rejoint notre diapositive « on remplace la vache, jamais le lait » : vos données sont votre Viola. Uniques, précieuses, irremplaçables : on les sauvegarde avec la même dévotion.

Viola sur le wiki du Mullverse
Culture geek · 3

Purple Cow, la vache remarquable

En 2003, le gourou du marketing Seth Godin publie Purple Cow. Sa thèse : personne ne remarque plus les vaches au bord de la route... sauf si l'une d'elles est mauve. Pour vendre, un produit doit être remarquable, littéralement digne d'être remarqué. C'est de ce livre que Violette tient sa couleur.

Notez le renversement : en marketing, on rêve d'être la vache mauve. En infrastructure, c'est l'inverse : le serveur « remarquable » est celui qui vous réveille à 3 h du matin. La vache mauve en vitrine, un troupeau de bêtes identiques derrière.

Purple Cow (Wikipédia)
À retenir

Les trois idées du diaporama

La vache géante Violette ne disparaît pas : elle prend sa retraite. On garde sa personnalité dans une image, et on la clone en troupeau. violette devient violette-001, violette-002, violette-003...