Présentation d'App Engine

Les applications App Engine sont composées d'une seule ressource d'application, elle-même composée d'un ou de plusieurs services. Chaque service peut être configuré afin d'utiliser différents environnements d'exécution et de 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 de la quantité de trafic qu'elle peut gérer, selon les paramètres configurés.

Les composants d'une application

Votre application App Engine est créée dans votre projet Google Cloud Platform lorsque vous créez une ressource d'application. L'application App Engine est un conteneur de niveau supérieur qui comprend les ressources de service, de version et d'instance qui composent votre application. Lorsque vous créez votre application App Engine, toutes vos ressources sont créées dans la région de votre choix, y compris le code de l'application, ainsi qu'une collection de paramètres, des informations d'identification et les métadonnées de votre application.

Chaque application App Engine comprend au moins un service, le service default, pouvant contenir autant de versions de ce service que vous le souhaitez.

Le diagramme suivant illustre la hiérarchie d'une application App Engine exécutée avec plusieurs services. Dans ce diagramme, l'application comporte deux services contenant plusieurs versions. Deux de ces versions s'exécutent activement sur plusieurs instances :

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

D'autres services GCP, par exemple Cloud Datastore, sont partagés sur votre application App Engine. Pour en savoir plus, consultez la section Structuration des services Web.

Services

Utilisez les services dans App Engine pour intégrer vos applications volumineuses à des composants logiques capables de partager en toute sécurité les fonctionnalités d'App Engine et de communiquer entre eux. De manière 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 forme de microservices.

Par exemple, une application qui gère les demandes des clients peut inclure des services distincts, chacun gérant différentes tâches, telles que :

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

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

Versions

Le fait d'avoir plusieurs versions de votre application dans chaque service vous permet de basculer rapidement entre les différentes versions de cette application en cas de rollback, de test ou d'autre événement temporaire. Vous pouvez acheminer le trafic vers une ou plusieurs versions spécifiques de votre application en migrant ou en divisant le trafic.

Instances

Les versions de vos services s'exécutent sur une ou plusieurs instances. Par défaut, App Engine adapte votre application à la charge. Vos applications augmentent le nombre d'instances en cours d'exécution afin de fournir des performances cohérentes ou le diminuent pour minimiser les instances inactives et réduire les coûts. Pour en savoir plus sur les instances, consultez la section Gestion des instances.

Demandes de l'application

Chacun des services de votre application et chacune des versions de ces services doivent avoir un nom unique. Vous pouvez alors utiliser ces noms uniques pour 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 demandes d'utilisateurs entrantes sont acheminées vers les services ou les versions configurés pour gérer le trafic. Vous pouvez également cibler et acheminer les demandes vers des services et des versions spécifiques. Pour en savoir plus, consultez la section Traitement des demandes.

Journalisation des demandes de l'application

Lorsque votre application traite une demande, elle peut aussi écrire ses propres messages de journalisation sur stdout et stderr. Pour en savoir plus sur les journaux de votre application, consultez la section Écriture des journaux d'application.

Limites

Le nombre maximal de services et de versions que vous pouvez déployer dépend de la tarification de votre 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 pour chaque service avec une mise à l'échelle de base ou manuelle :

Nombre maximal d'instances par version de mise à l'échelle manuelle / de base
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 Python