Scalabilité : Grandir sans craquer
Votre application a du succès, bravo ! Mais maintenant, les serveurs fument. Deux choix s'offrent à vous : acheter une machine de guerre ou recruter une armée de petits serveurs. Bienvenue dans le duel Scale Up vs Scale Out.
Le Duel : Vertical vs Horizontal
Pour porter plus lourd, vous envoyez votre déménageur à la salle de sport. Il revient plus fort, plus gros, capable de porter 2 frigos à la fois.
- Simple : pas de changement de code.
- Limité : il y a une limite physique (CPU/RAM max).
- Cher : le matériel haut de gamme coûte une fortune.
Au lieu d'entraîner un seul déménageur, vous en embauchez 10 normaux. Ensemble, ils vident la maison en 5 minutes.
- Illimité : ajoutez autant de serveurs que nécessaire.
- Résilient : si un serveur meurt, les autres sont là.
- Complexe : nécessite du Load Balancing et de la gestion d'état.
Visualisation

Tableau Comparatif
| Critère | Vertical (Scale Up) | Horizontal (Scale Out) |
|---|---|---|
| Coût | Exponentiel (Matériel spécialisé) | Linéaire (Matériel standard) |
| Complexité | Faible (Même architecture) | Élevée (Load Balancer, Synchro) |
| Point de panne | Unique (SPOF) | Redondant |
| Limite | Plafond matériel (Hardware limit) | Quasi illimité |
L'Histoire : De 1 à 1 Million
Phase 1 : Le Garage (1-100 users)
Tout tourne sur ton vieux laptop ou un petit VPS à 5€.
Architecture : 1 Serveur Web + DB (Monolithe).
Phase 2 : Le Succès (10k users)
Le site ralentit. Tu achètes un serveur plus gros (plus de RAM, meilleur CPU).
Action : Vertical Scaling. Ça tient... pour l'instant.
Phase 3 : La Viralité (1M+ users)
Le plus gros serveur du monde ne suffit plus. Tu achètes 10 petits serveurs et tu mets un "bouchon" (Load Balancer) devant.
Action : Horizontal Scaling. Bienvenue chez les grands.
Les Pièges Classiques
Si tu stockes la session utilisateur dans la RAM du serveur 1, et que la prochaine requête arrive sur le serveur 2... l'utilisateur est déconnecté !
Solution : Redis (Store de session externe).
Scaler horizontalement c'est cool, mais gérer 100 serveurs coûte cher en maintenance (DevOps).
Solution : Serverless ou Managed Services (AWS, Vercel) au début.
En Entretien (Le "System Design Interview")
Ne dites jamais "On va juste ajouter des serveurs". Montrez que vous comprenez les compromis.
Flash Quiz
À toi de jouer
Mission : Transition vers l'Horizontal
Dessine une architecture qui passe d'un serveur unique (Monolithe) à une architecture scalée horizontalement.
Éléments à inclure : Load Balancer, 3 Serveurs Web, 1 Base de Données (pour l'instant unique).
Pour les curieux (Bonus)
Scalabilité : La capacité du système à grandir pour gérer plus de trafic.
Élasticité : La capacité à grandir ET rétrécir automatiquement (Auto-scaling). Utile dans le Cloud pour payer moins cher la nuit quand il y a moins de monde.