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 :
- 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 :
- 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 |
|
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, Google Tasks et autres. | Yes | 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 |
Emplacement | Emplacements pour l'environnement standard | Emplacements pour l'environnement flexible |
Tarifs | 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 |
Consultez également la comparaison détaillée des environnements.
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 Google 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, consultez les recommandations dans le tableau de comparaison des environnements.
Pour migrer des services spécifiques pour Python, Java, Go et PHP, consultez la page Migrer des services de l'environnement standard vers l'environnement flexible.
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de l'environnement standard Ruby 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 gratuit de l'environnement standard Ruby