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. Apprenez-en plus sur les ressources d'application ( standard | flexible) et dans les régions dans lesquelles vous pouvez les créer.

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, par exemple Datastore, sont répartis sur l'ensemble de l'application App Engine. Pour en savoir plus, consultez les pages suivantes :"Structurer des services Web "(Standard |Flexible ).

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 tout le trafic vers une version spécifique de votre application en utilisant " migrer le trafic ) (Standard |Flexible ) ou rediriger vers plusieurs versions de votre application par : répartition du trafic ) (Standard |Flexible ).

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"(Standard |Flexible ).

Dans l'environnement flexible App Engine, les instances reposent sur des ressources Compute Engine. Certaines des ressources utilisées par les instances de l'environnement flexible App Engine, telles que le disque, le processeur et la mémoire, sont comptabilisées dans les quotas de l'API Compute Engine de votre projet. Pour en savoir plus sur la manière dont App Engine utilise les ressources Compute Engine, consultez la présentation de l'environnement flexible App Engine.

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 acheminer 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

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 les pages suivantes :"Assurer la communication entre les services"(Standard |Flexible ).

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 "(Standard |Flexible ).

Limites

Les environnements flexible et standard partagent les mêmes limites pour les services et les versions. Par exemple, si vous disposez de versions standards et flexibles dans la même application, ces versions sont prises en compte dans la même limite. Pour en savoir plus, consultez la section Quotas et limites ( standard | flexible).