Fondamentaux de la mise à l'échelle : Latency, Throughput et SLO
Dans cette leçon, on apprend à estimer en chiffres à quel point un système doit être « grand ». On va s'entraîner aux estimations de capacité (capacity — combien de charge le système doit supporter) et au QPS (queries per second — combien de requêtes arrivent chaque seconde). On calculera l'espace d
Le System Design, c'est comme planifier une ville entière : des routes qui font circuler le trafic, des entrepôts qui stockent les choses, des feux de circulation qui régulent le flux, et des équipes de maintenance qui réparent les pannes — tout ça pour que la ville continue de tourner sans accroc même aux heures de pointe, quand tout le monde est dehors en même temps.
- Capacité et SLO
- La compétence centrale de cette leçon : estimer en chiffres la taille du système — la capacité (combien de charge il supporte), le QPS (requêtes par seconde), l'espace de stockage nécessaire, la bandwidth (la quantité de données qui circule), et les SLO (objectifs de niveau de service, notre promesse sur la disponibilité ou la vitesse). Un calcul approximatif fait en amont qui aide à bien planifier.
- Trade-off
- Un choix conscient entre deux options, où chacune a un avantage mais aussi un prix. Il n'y a pas de solution parfaite : on choisit ce qui convient, et on explique à l'intervieweur·euse ce qu'on gagne et ce qu'on paie. Comme choisir entre un itinéraire rapide et cher, et un itinéraire bon marché mais lent.
- Métrique opérationnelle
- Un nombre qu'on peut mesurer pour savoir si une décision fonctionne vraiment une fois que le système est en ligne et sert de vrais utilisateurs (production). Par exemple : la latency (le temps que met une réponse à revenir), le error rate (la part des requêtes qui échouent), le queue lag (le nombre de tâches qui attendent dans la file), le cache hit ratio (le nombre de fois où on a trouvé la réponse déjà prête dans un stockage temporaire rapide), et plus encore.