Definition: Container-basierte Virtualisierung aus der Cloud Was ist Container as a Service (CaaS)?
CaaS ist ein Cloud-Computing-Modell, das Container-basierte Virtualisierungsleistungen als Service aus dem Netz bereitstellt. Es ist zwischen den Modellen Infrastructure as a Service und Platform as a Service angesiedelt. Zahlreiche Public-Cloud-Anbieter wie Microsoft, Google und Amazon stellen Kunden CaaS-Angebote zur Verfügung.
Anbieter zum Thema

Die Abkürzung CaaS steht für Container as a Service. Es handelt sich um ein Cloud-Computing-Modell, mit dem sich Leistungen rund um die Container-basierte Virtualisierung als Service aus der Cloud nutzen lassen. Anwender von CaaS benötigen keine eigene Infrastruktur für die Container-Virtualisierung und müssen keine eigene Container-Plattform betreiben und managen. Sämtliche Ressourcen für die Virtualisierung wie Rechenleistung, Speicherplatz, Container-Engine und Orchestrierungssoftware stellt der Cloud-Service-Provider zur Verfügung. Es ist möglich, CaaS als Service aus einer Public Cloud oder aus einer Private Cloud zu beziehen.
Was das Cloud-Computing-Modell angeht, liegt Container as a Service zwischen den Modellen Infrastructure as a Service (IaaS) und Platform as a Service (PaaS). Zentrale Komponenten von CaaS sind die Container, die die virtualisierten Applikationsumgebungen bereitstellen. Im Gegensatz zu einer virtuellen Maschine beinhaltet die Virtualisierungsebene kein eigenes Betriebssystem. Die Verwaltung der Container und das Hochladen von Daten erfolgt beim CaaS über eine Web-Schnittstelle oder eine spezielle API (Application Programming Interface). Das Kostenmodell für die Services ist in der Regel ein nutzungsabhängiges Mietmodell. Große Public-Cloud-Anbieter wie Microsoft, Google oder Amazon bieten ihren Kunden CaaS-Leistungen an.
Grundsätzliches zur Container-Technik und zum Cloud Computing
Die Container-Technik grenzt sich deutlich von virtuellen Maschinen (VM) ab. Container beinhalten in ihrer Virtualisierungsebene kein eigenes Betriebssystem, sondern stellen lediglich virtuelle Laufzeitumgebungen inklusive Bibliotheken und Konfigurationen für das Betreiben von Anwendungen zur Verfügung. Innerhalb der Anwendungs-Container lassen sich Programme ausführen, testen und programmieren. Die Migration auf ein anderes System ist mit der einfachen Übertragung des Containers schnell und unkompliziert möglich. Auf einem Rechner sind innerhalb des gleichen Betriebssystems mehrere Container mit unterschiedlichen Anwendungen und jeweils verschiedenen Anforderungen betreibbar.
Innerhalb der drei traditionellen Cloud-Computing-Modelle Infrastructure as a Service (IaaS), Platform as a Service (PaaS) und Software as a Service (SaaS) nimmt CaaS eine Position zwischen PaaS und IaaS ein. Während Programmierer oder Entwickler bei PaaS die vom Provider zur Verfügung gestellten Frameworks und Programmiersprachen nutzen müssen, bietet CaaS die Freiheit, in einer mit Containern virtualisierten Umgebung beliebige Anwendungen, Frameworks und Programmierumgebungen zu betreiben.
Die Funktionsweise von CaaS
CaaS wird auf einer hochverfügbaren Computerinfrastruktur eines Anbieters in einem oder mehreren Rechenzentren betrieben. Die Systeme sind über ein Netzwerk ansprechbar. Je nach benötigter Leistung mieten die Anwender anteilsmäßig CaaS-Ressourcen. Auf den Systemen steht eine grundlegende Container-Umgebung zur Verfügung, die das Hochladen oder Erstellen Container-basierter Anwendungen erlaubt. Zudem haben die Anwender die Möglichkeit, die Container-Services zu managen und zu überwachen. Angesprochen werden die Container-Services über grafische Benutzeroberflächen beispielsweise von einem Webbrowser aus oder über eine Programmierschnittstelle (API). Die Verwaltung der Container-Architektur erfolgt über den sogenannten Orchestrator.
Die Container-Technik sorgt für eine Abstraktionsschicht, die die verschiedenen Anwendungsumgebungen inklusive ihrer Dateisysteme untereinander und vom jeweiligen Betriebssystem trennt. Jedes Betriebssystem, das die jeweilige Container-Technik unterstützt, erlaubt den gekapselten Betrieb der Anwendungsumgebungen. Die Migration der Anwendungsumgebung auf ein anderes System ist durch einfaches Kopieren des kompletten Containers möglich. Oft bestehen Container-Anwendungen aus einer Vielzahl einzelner Container. Welche Container-Technik eines bestimmten Herstellers eingesetzt wird, bleibt den Anbietern überlassen. CaaS-Provider setzen in der Regel einen der drei den Markt dominierenden Orchestratoren Kubernetes, Docker Swarm oder Mesosphere DC/OS ein.
Typische Anbieter von Container as a Service in der Public Cloud
Das Angebot an CaaS-Services in der Public Cloud ist sehr groß. Fast alle großen Public-Cloud-Anbieter haben entsprechende Produkte in ihrem Portfolio. Dazu gehören Google, Microsoft und Amazon. Im Folgenden ein kurzer Überblick über die CaaS-Produkte dieser drei Anbieter:
Die Google Container Engine (GKE)
Die Google Container Engine (GKE) basiert auf dem Orchestrierungs-Tool Kubernetes. Die Kommunikation mit GKE ist über das Kommandozeilen-Tool gcloud möglich. Darüber hinaus lässt sich die Google Cloud Platform Konsole zur Interaktion nutzen.
Der Amazon EC2 Container Service (ECS)
Der Amazon EC2 Container Service (ECS) unterstützt Docker-Container und wird im Rahmen der Amazon Web Services angeboten. Der Zugriff erfolgt über die AWS-Schnittstelle.
Der Microsoft Azure Container Service (ACS)
Der Microsoft Azure Container Service (ACS) lässt eine Vielzahl verschiedener Orchestrierungs-Tools wie Google Kubernetes, Mesosphere DC/OS oder Docker Swarm zu.
CaaS aus der privaten Cloud
Nicht immer ist CaaS aus einer Public Cloud die passende Lösungen. Datenschutzrichtlinien oder strenge Compliancevorgaben können den Betrieb Container-basierter Anwendungen in einer öffentlichen Cloud-Umgebung verhindern. In diesem Fall lässt sich CaaS auch in einer Private Cloud betreiben. Die grundlegende Funktionsweise unterscheidet sich nicht von Container as a Service aus der öffentlichen Cloud. Beispielsweise bietet die quelloffene Software Docker Swarm die Möglichkeit, eine selbst gemanagte CaaS-Umgebung im eigenen Datacenter zu realisieren oder von einem anderen Anbieter aus einer Private Cloud zu beziehen.
Größtmögliche Kontrolle über die Container-Umgebung haben Unternehmen beim Betrieb der CaaS-Lösung im eigenen Rechenzentrum. So verbleiben beispielsweise sämtliche Daten im eigenen Unternehmen und müssen nicht in einen Container eines über die Public Cloud erreichbaren Providers geladen werden. Nachteile einer selbst betriebenen CaaS-Lösung sind unter anderem erhöhte Arbeits- und Kostenaufwände.
Vorteile durch den Einsatz von Container as a Service aus der Public Cloud
- der Anbieter stellt eine funktionierende Container-Umgebung zur Verfügung - kein Aufwand für eigene IT-Infrastruktur
- sämtliche Soft- und Hardwarewartungsarbeiten für die Umgebung leistet der Anbieter
- hohe Transparenz der Kosten durch nutzungsbezogenes Abrechnungsmodell
- gute Skalierbarkeit der Lösung
- professioneller Support der Lösung durch den Provider
- kurze Entwicklungszeiten und schnelle Bereitstellung Container-basierter Anwendungen
- kürzere Time to Market für neue Anwendungen
Typische Anwendungsbereiche von CaaS
Container as a Service lässt sich in vielen Bereichen einsetzen. Typische Anwendungen sind beispielsweise:
- die Bereitstellung von Microservices und der Betrieb von Microservice-Anwendungen
- die Migration von Unternehmensanwendungen ohne Codeanpassungen in eine Cloud-Umgebung
- die Ausführung von Training und Inferenz Container-basierter Machine-Learning-Modelle mit hoher Performance in der Cloud
- die Entwicklung und der Betrieb von Cloud-native Applikationen

Zum Special: Definitionen rund um Cloud Computing
(ID:46022376)