La visite
du zoo
Prologue du cours Serveurs évolutifs : avant d'apprendre à soigner les bêtes, on visite le zoo.
420-5A4-MT · Serveurs évolutifsVotre 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.
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.
L'échelle des visiteurs simultanés
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.
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.
Grandit en ajoutant des ressources : le coût suit la croissance, le service reste rapide.
S'écroule au premier pic de trafic, ou exige de tout reconstruire à chaque palier. C'est ce qu'on veut éviter.
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.
Un WordPress qui encaisse la charge sans broncher.
Elle reçoit tous les visiteurs et distribue le trafic.
Des conteneurs qui naissent et meurent selon la demande.
Des tableaux de bord qui voient tout, en direct.
Dans quinze semaines, c'est vous qui saurez élever chacune de ces bêtes.
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.
- Observez le temps de réponse quand le trafic est calme.
- Observez-le pendant la rafale : il reste stable.
- Question à retenir : combien de visiteurs votre WordPress du cours de serveur aurait-il tenus, lui ?
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.
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.
- Rafraîchissez la page de démonstration : le nom du serveur qui vous répond change d'une visite à l'autre.
- Un serveur surchargé n'est plus une fatalité : on partage la file d'attente.
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.
- Sur le visualiseur, chaque boîte est un conteneur, chaque colonne une machine.
- On monte la demande : des conteneurs naissent.
- On la baisse : ils disparaissent. Personne n'a rien cliqué.
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.
- Un serveur qui souffre se voit ici avant que les visiteurs ne s'en plaignent.
- Sans surveillance, on pilote les yeux fermés : on découvre les pannes en même temps que les clients.
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.
- Le visualiseur montre les conteneurs orphelins renaître sur les machines survivantes.
- Le site, lui, n'a jamais cessé de répondre.
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.
Deux façons de grandir
- 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.
- 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.
3 modules, 9 actes, 15 semaines
Conteneur et scalabilité verticale. Emballer WordPress dans des conteneurs, le composer, l'essaimer, puis pivoter verticalement et sécuriser.
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.
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.
Le bagage du cours de serveur
- 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
- 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.
L'IA fait officiellement partie du cours
La petite entreprise de notre histoire a un consultant : une intelligence artificielle. Vous aussi.
- Pour les parties avancées, des prompts préparés vous seront fournis : des demandes bien formulées qui débloquent l'étape suivante.
- L'IA explique, dépanne et accélère : elle ne remplace pas la compréhension. Aux évaluations, c'est votre tête qui répond.
- Règle du cours : quand l'IA produit une commande, vous devez pouvoir expliquer ce qu'elle fait avant de l'exécuter.
25 + 25 + 50
Conteneuriser, composer, essaimer, pivoter et sécuriser : les laboratoires des semaines 2 à 5.
Séparer, mettre en cache, balancer, redonder, jusqu'au cluster réel : semaines 6 à 9.
Le grand oeuvre en équipe : onze machines, une infrastructure complète, démontrée sous panne.
evolutif.projet.autos
Le matériel du cours vit sur le web, pas dans un dossier partagé : https://evolutif.projet.autos/
- Le calendrier des semaines, avec les diaporamas et les laboratoires de chaque journée.
- Le plan de la session raconté en 9 actes.
- Le site évolue chaque semaine, comme le serveur dont il parle : ajoutez-le à vos favoris.
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.
- VirtualBox opérationnel et à jour sur votre poste.
- Une machine virtuelle Ubuntu Server propre, avec son réseau configuré.
- Un accès SSH qui fonctionne, et un instantané de départ.
Les étapes détaillées sont dans le diaporama du laboratoire, sur le site du cours.
Les trois idées du jour
- La scalabilité, c'est absorber la croissance sans s'effondrer ni tout reconstruire. Vertical : plus gros. Horizontal : plus nombreux.
- L'infrastructure finale existe, vous l'avez vue vivre : site sous charge, passerelle, essaim, surveillance. La session entière consiste à apprendre à la construire.
- Tout se mesure : le test de charge dira toujours si un progrès est réel.
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.