Modèle de ressource

Le schéma suivant illustre le modèle de ressource Cloud Run pour les services :

Services et révisions Cloud Run

Le schéma montre un projet Google Cloud contenant deux services Cloud Run, Service A et Service B, chacun ayant plusieurs révisions.

Nous voyons que le Service A reçoit de nombreuses requêtes, ce qui entraîne le démarrage et l'exécution de plusieurs instances de conteneur. Notez que le Service B ne reçoit pas de requêtes pour l'instant, donc aucune instance de conteneur n'est encore démarrée.

Services Cloud Run

Le service est la ressource principale de Cloud Run. Chaque service est situé dans une région GCP spécifique (Cloud Run). Pour la redondance et le basculement, les services sont automatiquement répliqués dans plusieurs zones de la région dans laquelle ils se trouvent. Un projet GCP donné peut exécuter de nombreux services dans des régions différentes.

Chaque service expose un point de terminaison unique et adapte automatiquement l'infrastructure sous-jacente pour gérer les requêtes entrantes.

Révisions de Cloud Run

Chaque déploiement sur un service crée une révision. Une révision comprend une image de conteneur spécifique, ainsi que des paramètres d'environnement tels que des variables d'environnement, des limites de mémoire ou une valeur de simultanéité.

Les révisions sont immuables : une fois une révision créée, elle ne peut plus être modifiée. Par exemple, lorsque vous déployez une image de conteneur dans un nouveau service Cloud Run, la première révision est créée. Si vous déployez ensuite une image de conteneur différente sur ce même service, une deuxième révision est créée. Si vous définissez ensuite une variable d'environnement, une troisième révision est créée, et ainsi de suite.

Les requêtes sont automatiquement acheminées dès que possible vers la dernière révision de service opérationnelle.

Tâches Cloud Run

Chaque tâche est située dans une région Google Cloud spécifique et exécute un ou plusieurs conteneurs jusqu'à la fin. Une tâche comprend une ou plusieurs tâches indépendantes exécutées en parallèle dans une exécution de tâche donnée. Chaque tâche exécute une instance de conteneur et peut effectuer de nouvelles tentatives.

Exécutions de tâches Cloud Run

Lorsqu'une tâche est exécutée, une exécution de tâche est créée, dans laquelle toutes les opérations de la tâche sont démarrées. Toutes les opérations d'une exécution de tâche doivent réussir pour que l'exécution de la tâche aboutisse. Vous pouvez définir des délais avant expiration sur des opérations et spécifier le nombre de tentatives en cas d'échec de l'opération. Si une opération dépasse son nombre maximal de tentatives, elle est marquée comme failed (échec) et la tâche est marquée comme failed (échec). Par défaut, les tâches s'exécutent en parallèle jusqu'à un maximum de 100, mais vous pouvez spécifier un maximum inférieur si l'une de vos ressources de sauvegarde l'exige.

Instances de conteneur Cloud Run

Chaque révision recevant des requêtes est automatiquement adaptée au nombre d'instances de conteneur nécessaires pour les traiter en totalité. Notez qu'une instance de conteneur peut recevoir plusieurs requêtes en même temps. Le paramètre de simultanéité vous permet de définir le nombre maximal de requêtes pouvant être envoyées en parallèle à une instance de conteneur donnée.