Diaporama de notions

Grandir ou
multiplier

Conteneur, scalabilité verticale, scalabilité horizontale : on situe le terrain avant de partir à l'aventure.

420-5A4-MT · Serveurs évolutifs
La définition

Un serveur évolutif, c'est quoi ?

Un serveur évolutif est un serveur capable de suivre la croissance de son public : plus de visiteurs, plus de données, plus de travail, sans s'écrouler et sans être rebâti à zéro. Le mot savant est scalabilité. L'idée tient en trois exigences.

Suivre la demande

Quand le trafic monte, on ajoute des ressources et le service reste rapide. La capacité suit la courbe des visiteurs.

Sans tout rebâtir

L'architecture absorbe le changement : on ajoute, on ajuste, on redistribue, mais on ne repart pas de zéro à chaque palier.

Dans les deux sens

Un système vraiment évolutif sait aussi rapetisser quand le trafic redescend, pour ne pas payer des machines qui dorment. C'est l'élasticité.

Les contre-exemples

Quatre faux amis de l'évolution

Certaines réponses ressemblent à de l'évolution mais n'en sont pas. Vous les croiserez dans de vraies entreprises.

Le serveur figé

« On verra quand ça cassera. » Le pic de trafic arrive toujours un vendredi soir, et le site tombe devant son plus grand public.

La reconstruction totale

À chaque palier, on jette tout et on rebâtit à neuf. Des mois de travail, un risque énorme, et le trafic n'attend pas.

Le géant préventif

Acheter dès le premier jour la machine des 100 000 visiteurs. Elle dormira à 2 % d'utilisation pendant des années, facture comprise.

Le rafistolage de panique

Agrandir dans l'urgence, la nuit de la panne, sans mesure ni plan. Parfois ça tient. Personne ne sait pourquoi.

Les chemins possibles

Quatre façons d'évoluer

Quand la machine commence à souffrir, il n'existe que quatre grandes familles de réponses, et une seule attitude : être agile.

1 · Optimiser

Faire mieux avec la même machine : du code plus efficace, un cache qui évite de recalculer. Indispensable, mais ça repousse le mur sans l'abattre.

2 · Pivoter

Redéployer automatiquement, avec un conteneur ou avec un script. Pivoter dans une infrastructure de protection temporaire. Toutes sortes de réactions agiles : de la robustesse, même sous le feu.

3 · Grandir

Remplacer la machine par une plus musclée : plus de processeurs, plus de mémoire, plus de disque. C'est la scalabilité verticale.

4 · Multiplier

Ajouter des machines qui se partagent le travail. C'est la scalabilité horizontale.

Le face-à-face

Verticale contre horizontale

Verticale · Grandir
  • Une seule machine, qu'on rend plus puissante.
  • Simple : l'application n'a rien à changer.
  • Rapide à mettre en place : le premier réflexe naturel.
  • Mais un plafond existe : la plus grosse machine du marché, et on finit par l'atteindre.
  • Le prix grimpe plus vite que la puissance.
  • Une seule machine : un seul point de panne, et souvent un arrêt pour agrandir.
Horizontale · Multiplier
  • Plusieurs machines ordinaires qui se partagent le travail.
  • Presque pas de plafond : on ajoute des machines au besoin.
  • Le coût suit la croissance, presque en ligne droite.
  • Une machine tombe ? Les autres continuent : la panne devient banale.
  • Mais il faut répartir le trafic : le balancement de charge.
  • Et partager l'état (sessions, base de données) puis orchestrer tout ce monde.
L'image à retenir

Le restaurant qui déborde

Un petit restaurant affiche complet tous les soirs. Plusieurs personnes se font refuser l'entrée. Le chef d'entreprise veut donc agrandir pour servir plus de convives.

Première solution · Agrandir la cuisine

Un four géant, le chef le plus rapide en ville. Ça marche, jusqu'au jour où la cuisine empiète sur la salle à manger, la salle à manger s'étend dans la rue avec sa terrasse, et le four coûte le prix d'une maison.

Deuxième solution · Ouvrir des succursales

Autant de cuisines que nécessaire, mais un nouveau métier commence : garantir le même menu partout, diriger chaque client vers la bonne adresse, tenir une comptabilité commune.

Chaque problème de succursale a son jumeau dans ce cours :

La brique de base

Et le conteneur, dans tout ça ?

Le conteneur est une boîte standard qui emballe une application avec tout ce qu'il lui faut pour tourner : ses bibliothèques, sa configuration, son environnement. Il démarre en quelques secondes et se copie à l'identique, ici ou sur n'importe quelle machine. C'est la brique qui rend les deux chemins praticables.

Pilotable

Un orchestrateur peut créer et détruire des conteneurs selon la demande : l'élasticité devient automatique.

Déménageable

Changer de machine sans réinstallation : le chemin vertical devient un déménagement de quelques minutes.

Clonable

Dix copies identiques de la même image : le chemin horizontal devient une multiplication, pas dix installations.

L'outil du cours

Docker selon le scénario

Docker est l'outil de conteneurs du cours. Voici ce qu'il change concrètement dans chaque scénario de croissance.

Scénario vertical

L'application emballée déménage vers une machine plus musclée sans réinstallation, et les limites de mémoire et de processeur s'ajustent dans un fichier. C'est le pivot vertical de la semaine 5.

Scénario horizontal

La même image lancée en plusieurs exemplaires : Compose décrit l'application entière, Swarm distribue les copies. Le module 2 est l'exemple parfait d'une croissance horizontale, avec ses instances redondantes, ses bases de données séparées et son balancement de charge.

Scénario réel

Les vraies entreprises font les deux : des machines bien dimensionnées ET plusieurs copies. Docker permet le va-et-vient sans jamais réinstaller.

Le fil rouge

Une entreprise dont le site décolle

Toute la session raconte la même histoire. Une petite entreprise met en ligne sa boutique : un WordPress hérité du cours de serveur, installé à la main sur une petite machine. Dix visiteurs par jour au début. Puis cent, puis mille, puis la vidéo qui devient virale. À chaque palier, quelque chose casse, et c'est un concept du cours qui vient le réparer.

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

Cette échelle est le moteur du cours : chaque palier brise l'architecture qui suffisait au palier précédent, et chaque réparation est un laboratoire.

À retenir

Les cinq phrases du jour

La suite aujourd'hui : la visite guidée des concepts du cours. L'infrastructure finale, vivante et en marche, sous vos yeux.