Présentation d'App Engine

ID de la région

Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.

En savoir plus sur les ID de région

Une application App Engine se compose d'une seule ressource d'application comprenant un ou plusieurs services. Chaque service peut être configuré pour utiliser différents environnements d'exécution et fonctionner avec des paramètres de performance différents. Au sein de chaque service, vous déployez des versions de ce service. Chaque version est ensuite exécutée dans une ou plusieurs instances, en fonction du volume de trafic à gérer pour lequel vous l'avez configurée.

Composants d'une application

Lorsque vous créez une ressource d'application, votre application App Engine est générée sous votre projet Google Cloud. L'application App Engine est un conteneur de niveau supérieur comprenant les ressources de service, de version et d'instance qui constituent une application. Lorsque vous concevez une application App Engine, toutes vos ressources sont créées dans la région choisie, y compris son code, les paramètres, les identifiants et les métadonnées.

Chaque application App Engine comprend au moins un service (default) pouvant contenir plusieurs versions de ce service en fonction de l'état de facturation de votre application. Pour en savoir plus, consultez la section Limites ci-dessous.

Le diagramme suivant représente l'arborescence d'une application App Engine exécutée avec plusieurs services. Dans ce diagramme, l'application comporte deux services comprenant plusieurs versions, dont deux s'exécutent activement sur plusieurs instances :

Graphique de la hiérarchie des services, versions et instances d'une application

D'autres services Google Cloud, tels que Datastore, sont répartis sur l'ensemble de l'application App Engine. Pour en savoir plus, consultez la page Structurer des services Web.

Services

Utilisez les services d'App Engine pour décomposer vos applications volumineuses en composants logiques capables de partager en toute sécurité les fonctionnalités App Engine et de communiquer entre eux. En règle générale, les services App Engine se comportent comme des microservices. Par conséquent, vous pouvez exécuter l'ensemble de l'application dans un seul service, ou concevoir et déployer plusieurs services pour qu'ils s'exécutent sous la forme d'un ensemble de microservices.

Par exemple, une application qui gère les requêtes de vos clients peut inclure des services distincts, chacun gérant différentes tâches, par exemple :

  • Requêtes API à partir d'appareils mobiles
  • Requêtes internes de type "administration"
  • Traitement de backend, comme les pipelines de facturation et l'analyse de données

Dans App Engine, chaque service comprend le code source de votre application et les fichiers de configuration App Engine correspondants. L'ensemble de fichiers que vous déployez sur un service représente une version unique de ce service. Chaque déploiement sur ce service crée des versions supplémentaires au sein de ce même service.

Versions

Le fait de disposer de plusieurs versions d'une application dans chaque service permet de basculer rapidement entre ces différentes versions pour effectuer des rollbacks, des tests ou pour d'autres événements temporaires. Vous pouvez acheminer le trafic vers une ou plusieurs versions spécifiques de votre application en le migrant ou en le répartissant.

Instances

Les versions des services s'exécutent sur une ou plusieurs instances. Par défaut, App Engine ajuste l'application en fonction de la charge. Vos applications augmentent le nombre d'instances en cours d'exécution pour assurer des performances constantes ou le réduisent pour limiter les instances inactives et diminuer les coûts. Pour en savoir plus sur les instances, consultez la page Mode de gestion des instances.

Requêtes d'application

Chaque service d'une application et chaque version d'un service doit disposer d'un nom unique qui vous servira par la suite à cibler et router le trafic vers des ressources spécifiques à l'aide d'URL, par exemple :

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

La longueur combinée de VERSION-dot-SERVICE-dot-PROJECT_ID (où VERSION est le nom de votre version, SERVICE est le nom de votre service et PROJECT_ID est l'ID de votre projet) ne peut pas comporter plus de 63 caractères et ne peut pas commencer ni se terminer par un trait d'union. Si la longueur combinée comporte plus de 63 caractères, le message d'erreur DNS address could not be found. peut s'afficher.

Les requêtes entrantes des utilisateurs sont acheminées vers les services ou les versions configurés pour gérer le trafic. Vous pouvez également cibler et acheminer les requêtes vers des services et des versions spécifiques. Pour en savoir plus, consultez la section Traiter des requêtes.

Journaliser des requêtes d'application

Lorsque votre application traite une requête, elle peut écrire ses propres messages de journalisation dans stdout et stderr. Pour en savoir plus sur les journaux d'application, consultez la page Écrire des journaux d'application.

Limites

Le nombre maximal de services et de versions que vous pouvez déployer dépend du tarif de l'application :

Limite Application gratuite Application payante
Nombre maximal de services par application 5 210
Nombre maximal de versions par application 15 210

Il existe également une limite au nombre d'instances de chaque service si vous avez spécifié le scaling de base ou manuel pour votre application :

Nombre maximal d'instances par version avec scaling de base/manuel
Application gratuite Application payante US Application payante UE
20 25 (200 pour us-central) 25

Le nombre de caractères dans l'URL de votre application est également limité.

Description Limite
Nombre maximal de caractères dans l'URL du projet pour l'URL VERSION-dot-SERVICE-dot-PROJECT_ID 63