GP - Fotolia

Container as a Service: Kurzüberblick über die drei wichtigsten CaaS-Anbieter

Container-Virtualisierung ohne Sorgen um die Infrastruktur – Container as a Service macht es möglich. Der Markt ist geprägt von drei großen Anbietern.

Auch wenn Entwickler alles kontrollieren, was innerhalb eines Containers abläuft, müssen sie sich für den IT-Betrieb auf Administratoren verlassen, die die Container-Umgebung bereitstellen und warten. Dabei handelt es sich aber beileibe nicht um eine Aufgabe, der sich jedes Unternehmen gewachsen sieht, weshalb Container-as-a-Service-Anbieter (CaaS) zu einer immer beliebteren Alternative werden.

Das Erstellen eines Docker-Containers ist ein isolierter, virtualisierter Prozess. Entwickler nutzen hierfür Docker-Tools, um Images zu erstellen, die dann als Blaupause für meist mehrere Container dienen. Diese Container lassen sich problemlos zwischen verschiedenen Host-Servern sowie Staging- und Produktivumgebung verschieben, ohne dass hierfür aufgrund der Abstraktionsschicht zusätzliche Konfigurationsarbeiten nötig wären.

Anwendungsentwickler lieben auch die Agilität und Flexibilität, die Docker-Container bieten. Innerhalb von Minuten können über Docker Engine, Dockerfile und Docker Compose Multi-Tier-Applikationen erstellt werden, die Datenbanken, Anwendungsserver und Webserver in beliebiger Kombination enthalten. Aber dann müssen diese Microservices-Anwendungen schließlich auch irgendwo ausgeführt werden. Man benötigt auch ein Cluster-Tool, um die Hochverfügbarkeit der Container sicherzustellen. Auch hier zeigen sich die Vorteile der CaaS-Bereitstellung.

Die Bedeutung von Container as a Service

CaaS ist ein Cloud-Service, bei dem Kunden für eine vorgefertigte Container-Umgebung inklusive Orchestrierung, Hochverfügbarkeit, Image-Repository und Integration in CI/CD-Pipelines (Continuous Integration/Continuous Delivery) bezahlen.

Container as a Service liegt dabei zwischen Infrastructure as a Service (IaaS) und Platform as a Service (PaaS). Container unterscheiden sich zudem von virtuellen Maschinen, deren Virtualisierungs-Schicht das Betriebssystem mit einschließt. Container dagegen beinhalten nur den Applikations-Code und teilen sich den Container-Host. Gleichzeitig geben Container Entwicklern aber auch mehr Kontrolle über die Umgebung der containerisierten Anwendung, als dies bei PaaS meist der Fall ist.

Weitere Artikel zur Container-Orchestrierung:

Docker-Container in Amazon ECS absichern

Swarm vs. Kubernetes: Zwei Tools zur Docker-Orchestrierung

Funktionsüberblick von GKE, ECS und Azure Container Service

Mittlerweile gibt es auch ein relativ umfangreiches Ökosystem an Management- und Orchestrierungs-Tools für Container, die auch CaaS-Plattformen unterstützen. Dazu zählen zum Beispiel Docker Machine zur Installation von Docker-Engine und Docker Swarm, der Docker-eigenen Container-Orchestrierung, Googles Orchestrierungs-Tools Kubernetes, Mesos von Apache, das Cluster-Management-Tool fleet von CoreOS und Nova-Docker, OpenStacks Docker-Treiber.

Alle drei großen Cloud-Anbieter haben auch ein CaaS-Angebot im Portfolio.

Amazon EC2 Container Service

Mit dem Amazon EC2 Container Service hostet Amazon Container-Cluster und Management-Systeme in seinem Netz globaler AWS-Rechenzentren. Damit können sich Amazon-Kunden auf das Erstellen und Bereitstellen von Container-Images kümmern, statt sich um die Infrastruktur sorgen zu müssen. Jenseits der typischen Kosten für IaaS-Workloads auf AWS sind mit ECS keine weiteren Kosten verbunden, Kosten fallen auf Infrastrukturseite also für EC2-Instanzen, VPC-Netzwerke (Amazon Virtual Private Cloud) und Elastic Block Storage an.

ECS nutzt die AWs-Programmierschnittstellen, um per ECS gehostete Container zu verwalten – nicht etwa Standardplattformen zur Container-Orchestrierung wie Google Kubernetes, Mesosphere oder Docker Swarm. Das Open-Source-Framework Blox sitzt oberhalb des ECS und hilft Entwicklern dabei, die Funktionen des Container-Services zu erweitern.

Amazon ECS bietet Container as a Service auf Basis von AWS.
Abbildung 1: Amazon ECS bietet Container as a Service auf Basis von AWS.

Microsoft Azure Container Service

Microsoft geht mittlerweile nicht mehr nur stärker auf Konkurrenten zu, sondern macht viele seiner Kernprodukte auch als Open-Source-Lösung verfügbar, was sich auch an der CaaS-Lösung Azure Container Service zeigt.

So wird die Engine des Azure Container Service über das Code-Repository GitHub gehostet und kann mit einer Vielzahl an Orchestrierungsplattformen verwendet werden, beispielsweise Google Kubernetes, Mesosphere DC/OS oder auch Docker Swarm. Wie bei Amazon ECS gibt es auch bei Azure Container Service keine zusätzlichen Kosten, die zusätzlich zu den Gebühren für die darunterliegenden Infrastrukturdienste fällig werden.

Der Azure Container Service funktioniert mit DC/OS, Kubernetes und Swarm.
Abbildung 2: Der Azure Container Service funktioniert mit DC/OS, Kubernetes und Swarm.

Google Container Engine

Da Kubernetes von Google zur Container-Orchestrierung und zum Cluster-Management entwickelt wurde, ist es nur logisch, dass Nutzer der Google Container Engine (GKE) als Orchestrierungs-Tool lediglich Kubernetes zur Auswahl haben.

Bei der Preisgestaltung geht Google allerdings einen anderen Weg als Amazon und Microsoft: Zwar fallen auch bei der Nutzung der Google Container Engine zunächst abseits der Infrastrukturkosten keine Mehrkosten an, das ändert sich allerdings, sobald die Container-Umgebung sechs Knoten pro Cluster überschreitet. Ab diesem Zeitpunkt berechnet Google einen kleinen Preisaufschlag pro Nutzungsstunde.

ie Google Container Engine setzt ganz auf Kubernetes.
Abbildung 3: Die Google Container Engine setzt ganz auf Kubernetes.

Die Private Cloud als Alternative zu CaaS

So verführerisch die Einfachheit von CaaS-Lösungen auch ist, für manche Unternehmen kommt die Public Cloud aufgrund Datenschutz-, Compliance- oder Sicherheitsvorgaben nicht in Frage. Aber auch hierfür gibt es Lösungen, beispielsweise OpenStack, Docker Datacenter oder das kürzlich angekündigte SUSE CASP, um Unternehmen CaaS-ähnliche Funktionen in der Private Cloud zu bieten.

Auch wenn sich mit diesen Produkten CaaS als Private Cloud bereitstellen lässt, so löst dieser Ansatz doch nicht das Problem, wegen dem viele Entwickler kurzerhand zur Public Cloud wechseln: die oft langwierigen Prozesse, bis die eigene IT-Abteilung Produkte und Lösungen auch tatsächlich umsetzt und bereitstellt.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Erfahren Sie mehr über Cloud Computing

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close