Remarque : Au cours des prochains mois, nous allons réorganiser le site de documentation App Engine afin de faciliter la recherche de contenu et de mieux s'aligner avec les autres produits Google Cloud. Le contenu disponible sera le même, mais la navigation correspondra désormais au reste des produits Cloud. Si vous avez des commentaires ou des questions lorsque vous parcourez le site, cliquez sur "Envoyer des commentaires".

Choisir un environnement App Engine

Vous pouvez exécuter vos applications dans App Engine à l'aide de l'environnement flexible App Engine ou de l'environnement standard App Engine. Vous pouvez également choisir d'utiliser simultanément les deux environnements pour votre application et permettre à vos services de tirer parti des avantages respectifs de chaque environnement.

Environnements App Engine

App Engine est parfaitement adapté aux applications conçues à l'aide d'une architecture de microservices, en particulier si vous décidez d'utiliser les deux environnements. Consultez les sections suivantes pour connaître et comprendre l'environnement qui répond le mieux aux besoins de votre application.

Quand choisir l'environnement standard ?

Les instances d'application s'exécutent dans un bac à sable, à l'aide de l'environnement d'exécution d'un langage compatible de la liste ci-dessous.

Applications nécessitant un scaling rapide.

L'environnement standard est optimal pour les applications présentant les caractéristiques suivantes :

  • Le code source est écrit dans des versions spécifiques des langages de programmation compatibles :
    • Python 2.7, Python 3.7, Python 3.8, Python 3.9, Python 3.10 (bêta)
    • Java 8, Java 11 et Java 17
    • Node.js 10, Node.js 12, Node.js 14, Node.js 16
    • PHP 5.5, PHP 7.2, PHP 7.3, PHP 7.4 et PHP 8.1 (bêta)
    • Ruby 2.5, Ruby 2.6, Ruby 2.7 et Ruby 3.0
    • Go 1.11, Go 1.12, Go 1.13, Go 1.14, Go 1.15 et Go 1.16
  • L'application est destinée à fonctionner gratuitement ou à très faible coût. Vous ne payez que ce dont vous avez besoin et quand vous en avez besoin. Par exemple, votre application peut évoluer jusqu'à 0 instance en l'absence de trafic.
  • Elle subit des pics de trafic soudains et extrêmes qui nécessitent un scaling immédiat.

Quand choisir l'environnement flexible ?

Les instances d'application s'exécutent dans des conteneurs Docker sur des machines virtuelles (VM) Compute Engine.

Les applications qui reçoivent un trafic constant connaissent des fluctuations de trafic régulières ou respectent les paramètres permettant un scaling progressif à la hausse ou à la baisse.

L'environnement flexible est optimal pour les applications présentant les caractéristiques suivantes :

  • Le code source est écrit dans une version de l’un des langages de programmation compatibles :
    Python, Java, Node.js, Go, Ruby, PHP ou .NET
  • L'application s'exécute dans un conteneur Docker comprenant un environnement d'exécution personnalisé ou un code source écrit dans d'autres langages de programmation.
  • Elle utilise des frameworks qui incluent du code natif ou dépend de ces frameworks.
  • Accède aux ressources ou aux services de votre projet Google Cloud qui résident dans le réseau Compute Engine.

Comparer les fonctionnalités générales

Le tableau suivant résume les différences entre les deux environnements :

Fonctionnalité Environnement standard Environnement flexible
Délai de démarrage de l'instance Secondes Minutes
Délai maximal avant expiration de la requête Dépend de l'environnement d'exécution et du type de scaling. 60 minutes
Threads en arrière-plan Oui, avec restrictions Oui
Processus en arrière-plan Non Oui
Débogage SSH Non Oui
Scaling Manuel, basique, automatique Manuel, automatique
Scaling à zéro instance Oui Non, minimum 1 instance
Écriture sur le disque local
  • Java 8, Java 11, Java 17, Node.js, Python 3, PHP 7.X, PHP 8.1 (bêta), Ruby, Go 1.11 et Go 1.12+ disposent d'un accès en lecture et en écriture au répertoire /tmp.
  • Python 2.7 et PHP 5.5 ne disposent pas d'un accès en écriture au disque.
Oui, éphémère (disque initialisé à chaque démarrage de VM)
Modification de l'environnement d'exécution Non Oui (via Dockerfile)
Délai de déploiement Secondes Minutes
Correctifs de sécurité directs automatiques Oui Oui (exclut l'exécution d'image de conteneur)
Accès aux API et services Google Cloud tels que Cloud Storage, Cloud SQL, Memorystore, Tasks et autres. Oui Oui
WebSockets Non
Java 8, Python 2 et PHP 5 fournissent une API Sockets propriétaire (version bêta), mais l'API n'est pas disponible dans les versions d'exécution standard plus récentes.
Oui
Possibilité d'installer des fichiers binaires tiers
  • Oui pour Java 8, Java 11, Java 17, Node.js, Python 3, PHP 7.X, PHP 8.1 (bêta), Ruby, Go 1.11 et Go 1.12+.
  • Non pour Python 2.7 et PHP 5.5.
Oui
Localisation Amérique du Nord, Asie-Pacifique ou Europe Amérique du Nord, Asie-Pacifique ou Europe
Tarification Basée sur les heures d'utilisation d'instance Basée sur l'utilisation du processeur virtuel, de la mémoire et des disques persistants

Pour une comparaison détaillée des environnements, consultez le guide de votre langage : Python, Java, Go ou PHP.

Comparer l'environnement flexible à Compute Engine

L'environnement flexible App Engine présente les différences suivantes par rapport à Compute Engine :

  • Les instances de VM de l'environnement flexible sont redémarrées chaque semaine. Lors des redémarrages, les services de gestion de Google appliquent les mises à jour nécessaires du système d'exploitation et de sécurité.

  • Vous disposez toujours d'un accès root aux instances de VM Compute Engine. Par défaut, l'accès SSH aux instances de VM dans l'environnement flexible est désactivé. Si vous le souhaitez, vous pouvez activer l'accès root aux instances de VM de votre application.

  • Les déploiements de code peuvent prendre plus de temps, car les images de conteneur sont générées à l'aide du service Cloud Build.

  • La région géographique d'une instance de VM à environnement flexible est déterminée par l'emplacement que vous spécifiez pour l'application App Engine de votre projet Cloud. Les services de gestion de Google veillent à ce que les instances de VM soient placées au même endroit pour des performances optimales.

Migrer de l'environnement standard vers l'environnement flexible

Si vous possédez une application dans l'environnement standard, vous souhaiterez peut-être déplacer certains services vers l'environnement flexible. Pour plus d'informations, reportez-vous aux recommandations associées à Python, Java, Go et PHP.

Pour faire migrer des services spécifiques, consultez les instructions concernant Python, Java, Go et PHP.

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances d'App Engine en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits offerts pour exécuter, tester et déployer des charges de travail.

Profiter d'un essai offert d'App Engine