web-dev-qa-db-fra.com

Quelle est la différence entre Google Compute Engine, App Engine et Container Engine dans Google Cloud?

Quelle est la différence réelle entre Google Compute Engine, App Engine et Container Engine dans Google Cloud Compute? Quand utiliser quoi?

Y a-t-il un bon exemple pour comprendre ces trois moteurs?

30
0xAliHn

(Avertissement: je travaille dans l'équipe Google Cloud Platform, mais il s'agit d'une réponse personnelle.)

Ce sont toutes des solutions qui vous permettent d'héberger vos applications dans le cloud. Vous pouvez les voir comme une sorte de spectre de contrôle/gestion automatique. Il y a aussi une autre chose à considérer: App Engine est disponible dans deux environnements, "Standard" et "Flexible".

Le spectre finit donc par être:

  • App Engine Standard: temps d'exécution limités (Python, Java, PHP, Go), très simples à mettre en place et à exécuter, à échelle automatique, etc. API ciblées conçues spécifiquement pour App Engine.
  • App Engine Flexible: tout ce que vous pouvez mettre dans un conteneur, à l'échelle automatique, etc.
  • Container Engine: vous concevez votre application en termes de micro-services, spécifiez comment ils sont mis à l'échelle, etc., mais laissez Container Engine (l'implémentation Google Cloud Platform de Kubernetes ) effectuer la mise à l'échelle
  • Compute Engine: VM hébergées avec des avantages, essentiellement. Certaines fonctionnalités telles que la migration en direct, la mise à l'échelle automatique dans Groupes d'instances gérés , mais c'est beaucoup plus "bare metal" que ci-dessus.

Fondamentalement, vous devez décider à quel point vous voulez être "pratique". Plus vous décidez de contrôler, plus vous avez de travail à faire, mais plus vous accordez de précision (et de flexibilité).

De plus, App Engine Standard prend en charge la "mise à l'échelle vers zéro" - si votre application n'obtient aucun trafic, elle peut être complètement inactive. Cela en fait un excellent environnement pour les projets de loisirs.

67
Jon Skeet

Compute Engine est plus du côté Infrastructure. App Engine est plus du côté des applications. Container Engine est davantage un système de gestion de cluster et d'orchestration de conteneurs développé pour exécuter et gérer les conteneurs Docker.

0
Kervin L