it-swarm.com.de

Was ist der Unterschied zwischen Google Compute Engine, App Engine und Container Engine in Google Cloud?

Was ist der tatsächliche Unterschied zwischen Google Compute Engine, App Engine und Container Engine in Google Cloud Compute? Wann was verwenden?

Gibt es ein gutes Beispiel, um all diese drei Motoren zu verstehen?

30
0xAliHn

(Haftungsausschluss: Ich arbeite im Google Cloud Platform-Team, dies ist jedoch eine persönliche Antwort.)

All dies sind Lösungen, mit denen Sie Ihre Anwendungen in der Cloud hosten können. Sie können sie als eine Art Spektrum der Steuerung/automatischen Verwaltung anzeigen. Es gibt noch eine weitere Überlegung: App Engine ist in zwei Umgebungen erhältlich: "Standard" und "Flexibel".

Das Spektrum ist also:

  • App Engine Standard: Begrenzte Laufzeit (Python, Java, PHP, Go), sehr einfach in Betrieb zu nehmen, automatische Skalierung usw. Speziell für App Engine entwickelte APIs.
  • App Engine Flexible: alles, was Sie in einen Container legen, automatisch skalieren usw.
  • Container Engine: Sie entwerfen Ihre Anwendung in Bezug auf Mikrodienste, geben an, wie sie skaliert werden usw. Lassen Sie Container Engine (die Implementierung von Kubernetes auf der Google Cloud Platform) die Skalierung durchführen
  • Compute Engine: Grundsätzlich gehostete VMs mit Vorteilen. Einige Funktionen wie Live-Migration, automatische Skalierung innerhalb von Managed Instance Groups , aber es ist viel mehr "Bare Metal" als die oben genannten.

Grundsätzlich müssen Sie entscheiden, wie "praktisch" Sie sein möchten. Je mehr Kontrolle Sie haben, desto mehr Arbeit müssen Sie erledigen, aber desto präziser (und flexibler) werden Sie.

Darüber hinaus unterstützt App Engine Standard die Skalierung auf Null. Wenn Ihre App keinen Datenverkehr erhält, kann sie vollständig inaktiv sein. Das macht es zu einem großartigen Umfeld für Hobbyprojekte.

67
Jon Skeet

Compute Engine ist mehr auf der Seite der Infrastruktur. App Engine ist mehr auf der Anwendungsseite. Container Engine basiert auf einem Cluster-Management- und Container-Orchestrierungssystem, das zum Ausführen und Verwalten von Docker-Containern entwickelt wurde.

0
Kervin L