Lernpfad: Monolithische Anwendung in eine GKE-Anwendung umwandeln – Übersicht


Diese Reihe von Anleitungen richtet sich an Entwickler, die neu in Kubernetes und Google Kubernetes Engine (GKE) sind. In dieser Reihe erfahren Sie, wie Sie Cymbal Books, eine monolithische Beispielanwendung, in eine modulare, containerisierte Anwendung umwandeln, die in einem GKE-Cluster ausgeführt wird.

Bevor Sie mit dieser Anleitung beginnen, sollten Sie bereits Erfahrung mit der Python-Programmierung und der Entwicklung von Webanwendungen haben. Obwohl der gesamte Code bereitgestellt wird und Sie keinen Code selbst schreiben müssen, hilft es Ihnen, wenn Sie grundlegenden Python-Code lesen und verstehen können. Außerdem sollten Sie mit der Befehlszeile vertraut sein, um Befehle auszuführen. Wenn Sie noch keine Erfahrung mitGoogle Cloud, Containerisierung oder Kubernetes haben, ist das kein Problem. Diese Konzepte werden in der Reihe erläutert.

Kosten

Für diese Anleitung fallen keine Kosten an. Wenn Sie jedoch die Schritte in der letzten Anleitung dieser Reihe ausführen, fallen Kosten für IhrGoogle Cloud -Konto an. Die Kosten fallen an, sobald Sie GKE aktivieren und die Cymbal Books-App in einem GKE-Cluster bereitstellen. Diese Kosten umfassen Clustergebühren für GKE, wie auf der Preisseite beschrieben, sowie Gebühren für die Ausführung von Compute Engine-VMs.

Um unnötige Gebühren zu vermeiden, sollten Sie GKE deaktivieren oder das Projekt löschen, sobald Sie diese Anleitung abgeschlossen haben.

Warum sollte eine App containerisiert werden?

Vielleicht fragen Sie sich, warum Sie Ihre App containerisieren sollten. Die folgende Liste enthält einige Vorteile von containerisierten Apps:

  • Isolation: Jede Komponente wird unabhängig in einem eigenen Container ausgeführt. Änderungen oder Updates an einer Komponente beeinträchtigen den Rest der App nicht.
  • Skalierbarkeit: Sie können einzelne Komponenten je nach Bedarf skalieren. Wenn ein Teil der App eine hohe Last aufweist, können Sie nur diesen Teil skalieren. Sie müssen nicht die gesamte App skalieren.
  • Fehlerisolierung: Probleme in einer Komponente werden eingedämmt und wirken sich nicht auf andere Komponenten aus. Durch diese Isolation lassen sich Probleme leichter beheben, ohne dass sich dies auf den Rest des Systems auswirkt.
  • Schnellere Entwicklung und Bereitstellung: Teams können gleichzeitig an verschiedenen Komponenten der App arbeiten. Sie können unabhängig voneinander entwickelt, getestet und bereitgestellt werden, was die Entwicklungszyklen beschleunigen kann.
  • Ressourceneffizienz: Container tragen zur Optimierung der Ressourcennutzung bei, was die Kosten für die Ausführung Ihrer App senken kann.
  • Konsistenz in allen Umgebungen: Jeder Container wird in verschiedenen Umgebungen wie Entwicklung, Test und Produktion auf dieselbe Weise ausgeführt.

Anleitungen dieser Reihe

Die Reihe ist in die folgenden fünf Anleitungen unterteilt:

  1. Monolith verstehen
  2. Monolith modularisieren
  3. Modulare App für die Containerisierung vorbereiten
  4. Modulare App containerisieren
  5. Anwendung in einem GKE-Cluster bereitstellen

Jede Anleitung baut auf der vorherigen auf und hilft Ihnen, wichtige Konzepte und Praktiken in Bezug auf die Modularisierung, Containerisierung und Bereitstellung von Apps zu verstehen. Am Ende der Reihe haben Sie eine App, die in GKE ausgeführt wird, und ein solides Verständnis von Modularisierung, Containerisierung und Kubernetes-Grundlagen.

Weitere Informationen finden Sie unter Monolith verstehen.