Horizontal vs Vertical Scaling
DevOps 🟡 MidDéfinition
Vertical = plus de CPU/RAM sur une machine. Horizontal = plus de machines. Le horizontal est quasi illimité mais nécessite des apps stateless.
Analogie
Vertical = acheter un plus gros camion. Horizontal = acheter plus de camions.
Exemple de code
# Vertical : upgrader l'instance
aws ec2 modify-instance --type m5.2xlarge
# Horizontal : ajouter des instances
kubectl scale deployment api --replicas=10
Cas d'usage
Horizontal scaling pour les apps stateless derrière un load balancer.
Anti-pattern
Termes liés
En entretien
Explique-moi la différence entre scaling horizontal et vertical.
Le vertical consiste à ajouter plus de CPU/RAM sur une machine, l'horizontal à ajouter plus de machines ; c'est comme acheter un plus gros camion contre acheter plus de camions. L'horizontal est quasi illimité mais nécessite des applications stateless.
Quand privilégier le scaling horizontal ?
Pour les applications stateless placées derrière un load balancer, par exemple avec kubectl scale deployment api --replicas=10. Le vertical, lui, se fait plutôt en changeant le type d'instance, comme aws ec2 modify-instance --type m5.2xlarge.
Quel anti-pattern empêche de scaler horizontalement ?
Garder du state en mémoire locale sur chaque instance : dans ce cas, impossible de répartir les requêtes entre plusieurs machines sans perdre des données. Il faut rendre l'application stateless pour scaler horizontalement.
Fiche mise à jour le 2026-09-27