Semaine 1 · Diaporama de notions

La visite
du zoo

Prologue du cours Serveurs évolutifs : avant d'apprendre à soigner les bêtes, on visite le zoo.

420-5A4-MT · Serveurs évolutifs
La question du cours

Votre site fonctionne.
Mais que se passe-t-il
s'il fonctionne trop bien ?

Un article qui devient viral, une publicité qui rapporte, un produit qui décolle : le succès est la panne la plus agréable, mais c'est une panne quand même. Ce cours enseigne l'art de faire grandir un serveur au rythme de son succès. C'est exactement ce que veut dire évolutif.

Le fil conducteur

Une petite entreprise dont le site décolle

Toute la session raconte la même histoire : une petite entreprise met en ligne son site, un WordPress, celui-là même que vous avez monté à la main au cours de serveur. Dix visiteurs par jour au début. Puis cent. Puis mille. À chaque palier de croissance, quelque chose casse, et c'est un nouveau concept du cours qui vient le réparer.

L'histoire se joue en 15 semaines, 3 modules et 9 actes. Vous n'êtes pas spectateurs : à chaque acte, c'est vous qui construisez la solution en laboratoire.

Le moteur de l'histoire

L'échelle des visiteurs simultanés

10 visiteurs
100 visiteurs
1 000 visiteurs
10 000 visiteurs
100 000 visiteurs

Chaque palier de l'échelle brise l'architecture qui suffisait au palier précédent. Une machine seule tient 10 visiteurs sans effort. À 1 000, elle souffre. À 10 000, il en faut plusieurs. À 100 000, il faut que rien ne puisse tomber. Les laboratoires du cours suivent cette échelle et la prouvent avec de vrais tests de charge.

Le mot savant

La scalabilité

La scalabilité (de l'anglais scalability, qu'on traduit aussi par extensibilité) est la capacité d'un système à absorber la croissance : plus de visiteurs, plus de données, plus de calculs, sans s'effondrer et sans être reconstruit à zéro.

Un système scalable

Grandit en ajoutant des ressources : le coût suit la croissance, le service reste rapide.

Un système qui ne l'est pas

S'écroule au premier pic de trafic, ou exige de tout reconstruire à chaque palier. C'est ce qu'on veut éviter.

Aujourd'hui

On visite le zoo avant d'apprendre le métier

Aujourd'hui, on ne construit rien. On visite. L'infrastructure finale du cours existe déjà, vivante et en marche, et on va la regarder fonctionner sous vos yeux. Quatre bêtes vous attendent dans leurs enclos.

Bête 1 · Le site

Un WordPress qui encaisse la charge sans broncher.

Bête 2 · La passerelle

Elle reçoit tous les visiteurs et distribue le trafic.

Bête 3 · L'essaim

Des conteneurs qui naissent et meurent selon la demande.

Bête 4 · La surveillance

Des tableaux de bord qui voient tout, en direct.

Dans quinze semaines, c'est vous qui saurez élever chacune de ces bêtes.

Enclos 1

Le site sous charge

Le premier enclos abrite un site WordPress, comme le vôtre. La différence : on va lui envoyer des centaines de visiteurs simulés d'un coup, en direct, avec un outil de test de charge.

Le test de charge est l'instrument de mesure du cours : c'est lui qui prouvera, chiffres à l'appui, chaque progrès de votre architecture.

Enclos 2

La passerelle qui distribue le trafic

Tous les visiteurs entrent par la même porte : une passerelle (un proxy inverse). Elle ne fabrique aucune page elle-même : elle décide qui va servir chaque visiteur, et répartit le travail entre plusieurs serveurs. C'est le balancement de charge.

Enclos 3

L'essaim de conteneurs

Derrière la passerelle vit un essaim : des dizaines de conteneurs, des copies légères du site, réparties sur plusieurs machines. Un orchestrateur les surveille et maintient le bon nombre de copies, tout seul.

Enclos 4

La surveillance qui veille

La dernière bête ne sert aucune page : elle regarde. Processeur, mémoire, requêtes par seconde, temps de réponse : tout est mesuré, tracé et affiché en continu sur des tableaux de bord.

Le clou du spectacle

On débranche un serveur. En pleine charge.

Pour finir la visite, le dompteur entre dans la cage : on éteint brutalement une des machines de l'essaim pendant que les visiteurs simulés affluent.

C'est la haute disponibilité : une architecture qui accepte que tout peut tomber, et qui survit quand ça arrive. À la fin de la session, votre projet d'équipe devra réussir exactement cette épreuve.

Premier concept

Deux façons de grandir

Scalabilité verticale
  • Une seule machine, mais plus grosse : plus de processeur, plus de mémoire.
  • Simple : rien à changer dans l'application.
  • Mais il y a un plafond, et une seule machine reste un point de faille unique.
Scalabilité horizontale
  • Plusieurs machines ordinaires qui se partagent le travail.
  • Presque sans limite : on ajoute des machines au besoin.
  • Mais il faut distribuer, synchroniser, orchestrer : c'est tout un art, celui de ce cours.

Le module 1 pousse le vertical jusqu'à son plafond. Le module 2 franchit le mur en passant à l'horizontal.

Le plan de la session

3 modules, 9 actes, 15 semaines

Module 1 · S2 à S5

Conteneur et scalabilité verticale. Emballer WordPress dans des conteneurs, le composer, l'essaimer, puis pivoter verticalement et sécuriser.

Module 2 · S6 à S9

Scalabilité horizontale. Séparer les services, mettre en cache, balancer la charge, doubler les points de faille, jusqu'au cluster réel de Raspberry Pi.

Module 3 · S10 à S15

Projet haute-disponibilité. En équipe : onze machines virtuelles, une infrastructure complète, documentée et démontrée sous panne.

Le plan détaillé, acte par acte, vous attend sur le site du cours : chaque semaine y raconte son bout d'histoire.

Vous ne partez pas de zéro

Le bagage du cours de serveur

Vous savez déjà
  • Administrer un serveur Linux en ligne de commande
  • Créer des machines virtuelles avec VirtualBox
  • Installer une pile LAMP et un WordPress à la main
  • Vous connecter en SSH et gérer des clés
Ce cours ajoute
  • Emballer : les conteneurs Docker
  • Multiplier : les répliques et l'orchestration
  • Mesurer : les tests de charge et la surveillance
  • Encaisser : la haute disponibilité

Votre WordPress installé à la main est le point de départ officiel de l'histoire : dès la semaine prochaine, on l'emballe.

Le consultant

L'IA fait officiellement partie du cours

La petite entreprise de notre histoire a un consultant : une intelligence artificielle. Vous aussi.

Comment se joue la note

25 + 25 + 50

25 % · Labos module 1

Conteneuriser, composer, essaimer, pivoter et sécuriser : les laboratoires des semaines 2 à 5.

25 % · Labos module 2

Séparer, mettre en cache, balancer, redonder, jusqu'au cluster réel : semaines 6 à 9.

50 % · Projet

Le grand oeuvre en équipe : onze machines, une infrastructure complète, démontrée sous panne.

Votre camp de base

evolutif.projet.autos

Le matériel du cours vit sur le web, pas dans un dossier partagé : https://evolutif.projet.autos/

Cet après-midi

Tout le monde part du même point

Après la visite, on prépare le terrain. Pas d'installation de Docker aujourd'hui : le laboratoire du jour sert à uniformiser les environnements de travail pour que les quinze prochaines semaines se construisent sur des fondations identiques.

Les étapes détaillées sont dans le diaporama du laboratoire, sur le site du cours.

À retenir

Les trois idées du jour

La semaine prochaine, l'histoire commence pour vrai. Acte 1 : la fondation. Le WordPress de la petite entreprise vit à nu sur sa machine, fragile et impossible à cloner. Premier réflexe de pro : l'emballer dans des conteneurs.