Présentation d'App Engine

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 Platform. L'application App Engine est un conteneur de niveau supérieur qui comprend 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 autant de versions de ce service que souhaité.

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 d'arborescence des services, versions et instances d'une application

D'autres services GCP, par exemple Cloud Datastore, sont répartis sur l'ensemble de l'application App Engine. Pour en savoir plus, consultez la section Structurer des services Web dans App Engine.

Services

Utilisez les services d'App Engine pour intégrer des applications volumineuses à des 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 acheminer le trafic vers des ressources spécifiques à l'aide d'URL, par exemple :

http://my-version.my-service.my-project-id.appspot.com
https://my-version-dot-my-service-dot-my-project-id.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 la section Traiter des requêtes.

Journaliser des requêtes d'application

Lorsque votre application traite une requête, elle peut également écrire ses propres messages de journalisation sur 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 des tarifs de l'application :

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

Il existe également une limite au nombre d'instances de chaque service selon que 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
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Java