Was ist Container as a Service (CaaS)?

Um erfolgreich zu sein, muss ein Entwickler verschiedene Arten von Anwendungen effizient verpacken und transportieren. Container as a Service (CaaS) kann eine Möglichkeit sein, die Bereitstellung, den Betrieb und die Wartung Ihrer Infrastruktur und Container zu vereinfachen.

Video: Top 3 ways to run containers on google cloud

Definition von Container as a Service (CaaS)

Containers as a Service (CaaS) ist ein Cloud-Dienstmodell, das eine verwaltete und automatisierte Plattform für die Container-Orchestrierung bietet. So lassen sich Clusterbetrieb organisieren und optimieren.

Stellen Sie sich vor, alle Ihre Programme befinden sich in einem virtuellen Büro. Dann gibt es einen Manager, der sich um das Büro kümmert und dafür sorgt, dass es nicht zerstört oder überlastet wird. Das ist Containerisierung. Sie müssen sich nicht mit Problemen herumschlagen. Stattdessen können Sie sich darauf konzentrieren, wie Ihr Code ausgeführt wird.

CaaS schließt die Lücke zwischen dem fertigen Container des Entwicklers und einer Laufzeitumgebung in Produktionsqualität. Die zugrunde liegende Infrastruktur wird abstrahiert, sodass sich die Teams auf die Anwendungslogik konzentrieren können, anstatt auf die Clusterverwaltung.

Wie funktioniert CaaS?

CaaS bietet eine verwaltete Umgebung, die auf einer Container-Orchestrierungs-Engine basiert. Kubernetes ist der Branchenstandard für eine Container-Orchestrierungs-Engine. Durch diesen Prozess werden die Zuständigkeiten zwischen Entwicklern und der grundlegenden Infrastruktur aufgeteilt:

Aufgaben von Entwickelnden: Zuerst müssen sie alle Abhängigkeiten und ihre Anwendung nehmen und diese in ein Container-Image packen können. Dieses Image ist ein übertragbarer Bauplan der Anwendung.

Nach Abschluss übernimmt ein CaaS-Produkt: Nachdem es erstellt und gespeichert wurde, muss es nur noch über eine API oder Schnittstelle verwaltet werden. Ein CaaS-Produkt wie die Google Kubernetes Engine kann Ihnen dabei helfen, alles andere zu erledigen. Jetzt definieren Sie den Status für das Programm. Sie benötigen drei Server, auf denen dasselbe Programm ausgeführt wird? Dieser Dienst kann Ihnen dabei helfen.

Danach wird die neue Bereitstellung automatisch verarbeitet. Diese Protokolle können Folgendes enthalten:

  • Anwendungen auf Knoten platzieren und Übertragungen über Verbindungen verwalten
  • Skalierung mit verschiedenen Arten von Messwerten oder Ressourcen
  • Code verwalten und automatisch reparieren
  • Dienste und Ressourcen verbinden

CaaS-Beispiele und Anwendungsfälle

CaaS ist eine vielseitige Plattform, die als Grundlage für Architekturen und Entwicklungspraktiken dienen kann.

Kann eine ideale Plattform für die Bereitstellung von Anwendungen und Mikrodiensten sein.

Kann eine gute Möglichkeit sein, ältere Anwendungen mit der Modernisierung von Legacy-Anwendungen zu verpacken.

Für Entwicklungsstrukturen ist eine CaaS-Plattform ideal.Ein automatisiertes System kann ein neues Container-Image erstellen, Tests ausführen und es ohne Ausfallzeit auf der CaaS-Plattform bereitstellen.

CaaS automatisiert die Traffic-Anforderungen. Die Plattform kann automatisch Containerinstanzen hinzufügen oder entfernen, um die Nutzernachfrage zu erfüllen.

CaaS-Plattformen, die auf offenen Standards wie Kubernetes basieren, können eine konsistente Betriebsumgebung in lokalen Rechenzentren und mehreren öffentlichen Clouds bieten. So können Unternehmen ihre containerisierten Anwendungen überall ausführen, ohne sie neu gestalten zu müssen.

CaaS im Vergleich zu anderen Cloud-Modellen

Die „as a Service“-Landschaft umfasst mehrere Modelle, die jeweils eine andere Abstraktions- und Verwaltungsebene bieten. CaaS liegt zwischen Infrastructure as a Service (IaaS) und Platform as a Service (PaaS).

Cloud-Modell

Verwaltung

Abstraktionsebene

Typisches Anwendungsbeispiel

Infrastructure as a Service (IaaS)

Betriebssystem, Middleware, Laufzeitumgebung, Anwendung, Daten.

Niedrig: Bietet Zugriff auf Computing-Rohressourcen wie virtuelle Maschinen und Speicher.

Aufbau einer benutzerdefinierten Infrastruktur von Grund auf

Containers as a Service (CaaS)

Anwendung und Konfiguration.

Mittel: Sie verwalten den Cluster und das Betriebssystem, haben aber die Kontrolle über die Containerumgebung.

Containerisierte Anwendungen in großem Umfang orchestrieren

Platform as a service (PaaS)

Anwendung und Daten.

Hoch: Sie verwalten fast alles. Sie stellen den Quellcode bereit und die Plattform führt ihn aus.

Schnelle Bereitstellung einfacher Webanwendungen und APIs

Function as a Service (FaaS) (serverlos)

Nur die Code-Funktion.

Sehr hoch: Führt einzelne, zustandslose Funktionen als Reaktion auf Ereignisse aus.

Leichte, ereignisgesteuerte Datenverarbeitungsaufgaben.

Software as a Service (SaaS)

Nichts (Sie sind der Endnutzer).

Vollständig: Ein fertiges Softwareprodukt wird über das Internet bereitgestellt.

Verwendung von sofort einsatzbereiter Software wie E‑Mail oder CRM.

Cloud-Modell

Verwaltung

Abstraktionsebene

Typisches Anwendungsbeispiel

Infrastructure as a Service (IaaS)

Betriebssystem, Middleware, Laufzeitumgebung, Anwendung, Daten.

Niedrig: Bietet Zugriff auf Computing-Rohressourcen wie virtuelle Maschinen und Speicher.

Aufbau einer benutzerdefinierten Infrastruktur von Grund auf

Containers as a Service (CaaS)

Anwendung und Konfiguration.

Mittel: Sie verwalten den Cluster und das Betriebssystem, haben aber die Kontrolle über die Containerumgebung.

Containerisierte Anwendungen in großem Umfang orchestrieren

Platform as a service (PaaS)

Anwendung und Daten.

Hoch: Sie verwalten fast alles. Sie stellen den Quellcode bereit und die Plattform führt ihn aus.

Schnelle Bereitstellung einfacher Webanwendungen und APIs

Function as a Service (FaaS) (serverlos)

Nur die Code-Funktion.

Sehr hoch: Führt einzelne, zustandslose Funktionen als Reaktion auf Ereignisse aus.

Leichte, ereignisgesteuerte Datenverarbeitungsaufgaben.

Software as a Service (SaaS)

Nichts (Sie sind der Endnutzer).

Vollständig: Ein fertiges Softwareprodukt wird über das Internet bereitgestellt.

Verwendung von sofort einsatzbereiter Software wie E‑Mail oder CRM.

Häufig gestellte Fragen

Container sollen Ihre Software überall bereitstellen. Mehr über Container

Ja. Tatsächlich bieten sie viele weitere Vorteile, wie z. B. die Trennung von Verantwortlichkeiten, die Isolierung von Anwendungen, Batchverarbeitung und Hybrid-Cloud-Bereitstellungen.

Google Kubernetes Engine (GKE) vereinfacht die Service Discovery durch die nahtlose Einbindung in die nativen Mechanismen von Kubernetes, wie Serviceobjekte und DNS. Als verwalteter Dienst bietet GKE diese Funktionen mit Features wie Multi-Cluster-Services (MCS) und direkter Einbindung in Service Directory.

Neuer Code kann schneller erstellt und bereitgestellt werden, aber Ressourcen werden nicht immer wieder neu verwaltet oder entwickelt.

Vorteile von CaaS

Die Einführung einer CaaS-Plattform kann für Entwicklungs- und Betriebsteams in Unternehmen mehrere strategische Vorteile bieten.

Portabilität

CaaS unterstützt Arbeitslasten. Wenn eine containerbasierte Anwendung in Ihrem Standard-CaaS-Framework ausgeführt wird, kann sie einfach bearbeitet werden.

Skalierbarkeit

Sie können Ressourcen an die jeweiligen Anforderungen anpassen.

Schnelles Programmieren

Das trägt zur Verbesserung der Automatisierungspraktiken bei.

Verbesserte Wartung

Wenn eine Komponente ausfällt, wird das von der Plattform erkannt und schnell behoben, damit die Nutzer weiterhin arbeiten können.

CaaS-Sicherheit

Der Anbieter übernimmt die grundlegende Arbeit, sodass Sie sich auf den Code Ihrer App, den Kontozugriff, die Firewall und die Zugriffsregeln verlassen können. Die Sicherheit in einer CaaS-Umgebung basiert auf einem Modell der geteilten Verantwortung. Der CaaS-Anbieter ist für die Sicherung der grundlegenden Infrastruktur verantwortlich. Dazu gehören der Schutz der Steuerungsebene für die Containerorchestrierung, die Sicherung der physischen Rechenzentren und des Netzwerks sowie die Gewährleistung der Integrität des verwalteten Dienstes selbst.

Der Kunde ist für die Sicherheit der Komponenten verantwortlich, die er kontrolliert. Dazu gehören das Sichern des Anwendungscodes, die Verwaltung des Zugriffs auf den Cluster mithilfe von Identity and Access Management (IAM), die Konfiguration von Netzwerkrichtlinien zur Steuerung des Traffics zwischen Containern und vor allem die Sicherung der Software-Lieferkette. Das bedeutet, dass Sie eine sichere Container-Registry verwenden und Container-Images vor der Bereitstellung auf bekannte Sicherheitslücken scannen sollten.

Aufgaben des IT-Teams:

  • Anwendungscode testen
  • IAM oder Identity Access Management verwenden und steuern
  • Softwaresicherheit

Meistern Sie Ihre geschäftlichen Herausforderungen mit Google Cloud

Neukunden erhalten ein Guthaben im Wert von 300 $ für Google Cloud.

CaaS mit der Google Kubernetes Engine einrichten

Google Kubernetes Engine (GKE) ist das führende CaaS-Angebot von Google Cloud. Die Einrichtung einer einfachen Bereitstellung folgt einem logischen, containerbasierten Workflow.

Schritt 1: Anwendung containerisieren 

Schreiben Sie zuerst eine Textdatei für Ihre Anwendung. Diese einfache Textdatei enthält die Anweisungen, um Ihre Anwendung, ihre Abhängigkeiten und ihre Laufzeitumgebung in ein statisches Container-Image zu packen.

Schritt 2: Speichern Sie Ihr Image in einer Registry. 

Erstellen Sie das Container-Image aus Ihrer Textdatei und übertragen Sie es in eine sichere, private Registry. Artifact Registry ist der verwaltete Dienst von Google Cloud zum Speichern und Verwalten von Container-Images.

Schritt 3: GKE-Cluster erstellen

Stellen Sie einen Kubernetes-Cluster mit der Google Cloud Console oder dem gcloud-Befehlszeilentool bereit. Wenn Sie eine vollständig verwaltete Umgebung bevorzugen, in der die Knotenverwaltung und ‑skalierung automatisiert werden, können Sie einen GKE Autopilot-Cluster auswählen.

Schritt 4: Bereitstellung definieren 

Erstellen Sie eine Kubernetes-Manifestdatei (zum Beispiel deployment.yaml). In dieser Datei definieren Sie deklarativ den gewünschten Zustand Ihrer Anwendung und geben das zu verwendende Container-Image, die Anzahl der gewünschten Replikate sowie die erforderlichen CPU- und Arbeitsspeicherressourcen an.

Schritt 5: Anwendung im Cluster bereitstellen 

Verwenden Sie das Kubernetes-Befehlszeilentool kubectl, um die Manifestdatei auf den Cluster anzuwenden. Die Steuerungsebene von GKE empfängt die Anfrage und plant die Ausführung der Container Ihrer Anwendung auf den Worker-Knoten des Clusters.

Schritt 6: Anwendung freigeben.

Damit Ihre Anwendung für Nutzer im Internet zugänglich ist, erstellen Sie ein Kubernetes-Dienstmanifest vom Typ LoadBalancer. Wenn Sie dieses Manifest anwenden, stellt GKE automatisch einen Cloud Load Balancer bereit und weist ihm eine öffentliche IP-Adresse zu, um externen Traffic an Ihre laufenden Container weiterzuleiten.

Welches Problem möchten Sie lösen?
What you'll get:
Detaillierte Anleitung
Referenzarchitektur
Vorkonfigurierte Lösungen
Dieser Dienst wurde mit Vertex AI erstellt. Nutzer müssen mindestens 18 Jahre alt sein, um ihn verwenden zu können. Geben Sie keine vertraulichen oder personenbezogenen Daten ein.

Weitere Ressourcen

  • Dieses Video von Google Cloud Skills Boost bietet einen grundlegenden Überblick über Container und die Funktionsweise von Kubernetes als Orchestrierungs-Engine.
  • Dieser hilfreiche Leitfaden erklärt die wichtigsten Unterschiede zwischen anderen wichtigen Cloud-Dienstmodellen wie IaaS, PaaS und SaaS.

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.

Google Cloud