Cloud Run est construit pour supporter des variations importantes de charge

Cloud Run est une plate-forme à forte scalabilité. Par défaut, il est possible d’avoir des centaines de réplications d’un conteneur. Pour des besoins très importants Google offre la possibilité d’avoir des milliers de réplications.

La montée en charge de Cloud Run est très rapide. Cette particularité est obtenue par conception : la décision de réplication n’est pas basée sur une mesure des ressources utilisées par les conteneurs car cette mesure n’est pas très efficace. Les décisions de réplications sont basées sur le nombre de requêtes qu’un conteneur est autorisé à traiter en parallèle.

Cette approche est très différente des approches traditionnelles. En général, elle sont basée sur les métriques système (CPU, utilisation de mémoire) d’un groupe d’instances. Et lorsque ce groupe d’instances est saturé, de nouvelles machines sont démarrées.

Le problème est que cette façon de travailler est réactive : les machines ne démarrent que lorsqu’on remarque qu’un ajout de puissance est nécessaire. Fondamentalement, avec ce type de scalabilité, la réaction est toujours en retard, que ce soit pour l’augmentation du nombre de conteneurs ou pour sa réduction.

Cloud Run adopte une approche complètement différente. Le nombre de requêtes HTTPS qu’un conteneur peut traiter est défini par configuration. Lorsque ce nombre est atteint, les nouveaux conteneurs sont automatiquement démarrés. Cela rend la solution plus réactive aux pics de charge.

Liens intéressants