Environnements d'exécution de l'environnement standard App Engine

L'environnement standard App Engine comporte deux générations d'environnements d'exécution. Les environnements d'exécution de deuxième génération améliorent considérablement les fonctionnalités d'App Engine et suppriment certaines des limitations propres aux environnements de première génération. Cette page décrit les similarités et les différences entre les environnements d'exécution de première et de deuxième génération.

Deuxième génération Première génération
Langues disponibles Python 3
Java 11+
Node.js
PHP 7/8
Ruby
Go 1.12+
Python 2.7
Java 8
PHP 5.5
Go 1.11
Extensions de langages et compatibilité avec la bibliothèque système Toute extension ou bibliothèque Python 2.7, PHP 5.5: extensions et bibliothèques utilisant la liste d'autorisation
Java 8, Go 1.11: toute extension ou bibliothèque
API compatibles

Pour accéder aux services complets de Google Cloud, utilisez les bibliothèques clientes Cloud Open Source.

Lors de la mise à jour vers les environnements d'exécution Python 3, Java 11+ ou Go 1.12+, vous pouvez continuer à utiliser de nombreux services groupés App Engine. Pour en savoir plus, consultez les guides Python 3, Java 11+ et Go 1.12+.

Bibliothèques clientes Cloud et services groupés App Engine
Pour le stockage de fichiers blob volumineux, utilisez Cloud Storage ou continuez à utiliser le service groupé de l'API Blobstore d'App Engine.
API App Engine Blobstore
Pour la persistance des données, utilisez Firestore en mode Datastore et Cloud SQL pour le stockage relationnel. Vous pouvez également continuer à utiliser le service groupé de l'API App Engine Datastore.
API App Engine Datastore
Pour l'exécution de tâches différée, continuez à utiliser l'API Deferred (Python), l'API DeferredTask (Java) et l'API Delay (Go). Les utilisateurs PHP peuvent continuer à spécifier une exécution différée via le service groupé de l'API Task Queues. Vous pouvez également mettre en œuvre la fonctionnalité différée à l'aide de Cloud Tasks.
API App Engine Deferred
Pour le traitement des images, vous pouvez utiliser Cloud Storage pour diffuser des images directement, ou utiliser un réseau de diffusion de contenu (CDN) tiers ou une bibliothèque de traitement d'images.
Vous pouvez également continuer à utiliser le service groupé de l'API App Engine Datastore.
API App Engine Images
Pour les messages entrants ou sortants, continuez à utiliser le service groupé de l'API App Engine Mail. Pour la messagerie sortante, vous pouvez également utiliser un fournisseur de messagerie tiers tel que SendGrid, Mailgun ou Mailjet.
Une alternative tierce recommandée pour la messagerie entrante n'est pas disponible pour le moment.
API App Engine Mail
Pour mettre en cache des données d'application, créez une instance Memorystore et connectez-la à votre application à l'aide de l'accès au VPC sans serveur. Vous pouvez également continuer à utiliser le service groupé de l'API App Engine Memcache. API App Engine Memcache
Pour obtenir des index de documents inclus dans l'index de recherche, hébergez les bases de données de recherche en texte intégral du type ElasticSearch dans Compute Engine, et accédez-y à partir de votre service. Google Cloud Marketplace propose également un service Elasticsearch basé sur SaaS. Vous pouvez également continuer à utiliser le service groupé de l'API App Engine Search. API App Engine Search
Pour exécuter des tâches externes, laissez le service groupé de l'API App Engine Task Queues pour les files d'attente d'envoi et de retrait, ou migrez les files d'attente d'envoi vers Cloud Tasks.
et les files d'attente de retrait vers Pub/Sub.
API App Engine Task Queue
Pour l'authentification des utilisateurs, continuez à utiliser le service groupé de l'API App Engine Users ou migrez vers un service d'authentification décrit sur la page Options d'authentification des utilisateurs. API App Engine Users
Accès au réseau externe Accès complet Python 2.7, PHP 5.5 : via l'API URL Fetch
Java 8, Go 1.11 : accès total
Accès au système de fichiers Accès en lecture/écriture à /tmp Python 2.7, PHP 5.5 : aucun
Java 8, Go 1.11 : accès en lecture/écriture à /tmp
Environnement d'exécution du langage Environnement d'exécution Open Source non modifié Modifié pour App Engine
Mécanisme d'isolation Bac à sable de conteneur basé sur gVisor Bac à sable de conteneur basé sur gVisor

Compatibilité des environnements d'exécution App Engine de première génération

Les environnements d'exécution App Engine de première génération ne sont plus compatibles. Google n'appliquera plus les mises à jour de sécurité ni les correctifs aux composants de l'environnement d'exécution qui ne sont plus compatibles.

Pour en savoir plus sur la formule d'assistance des environnements d'exécution de première génération, consultez les pages Compatibilité avec les anciens environnements d'exécution et les Cycle d'exécution.

Similarités entre les environnements d'exécution de première et de deuxième génération

  • Le scaling est presque instantané afin de répondre aux pics de trafic
  • Les applications sont créées à l'aide du même processus de conception
  • Les services en disponibilité générale disposent du même contrat de niveau de service
  • Les commandes gcloud compatibles sont identiques et l'interface de la console GCP reste la même
  • Version gratuite

Ressources de migration d'environnement d'exécution de première à deuxième génération

Des guides de migration sont disponibles pour chaque environnement d'exécution de langage sur la page Support à long terme.