Ein Container-as-a-Service stellt Ihnen Container-Platt­for­men als gehostete Kom­plett­lö­sun­gen über die Cloud zur Verfügung. Wir verraten Ihnen, was es mit dem Dienst auf sich hat, und stellen vier der be­lieb­tes­ten CaaS-Platt­for­men vor. Darüber hinaus erklären wir, wie Sie cloud­ba­sier­te Con­tai­ner­diens­te im Un­ter­neh­mens­kon­text nutzen können.

Was ist CaaS?

CaaS – kurz für Container-as-a-Service – ist ein Ge­schäfts­mo­dell, bei dem Cloud-Computing-Anbieter Platt­for­men rund um die con­tai­ner­ba­sier­te Vir­tua­li­sie­rung als ska­lier­ba­ren Online-Service zur Verfügung stellen. Dies er­mög­licht es, Con­tai­ner­diens­te in Anspruch zu nehmen, ohne die dafür benötigte In­fra­struk­tur be­reit­stel­len zu müssen. Die Be­zeich­nung ist ein Marketing-Begriff, der sich an andere Cloud-Service-Modelle wie In­fra­struc­tu­re-as-a-Service (IaaS), Platform-as-a-Service (PaaS) und Software-as-a-Service (SaaS) anlehnt.

Was sind Con­tai­ner­diens­te?

Als Con­tai­ner­dienst be­zeich­net man den Service eines Cloud-Computing-Anbieters, der es An­wen­den­den er­mög­licht, Software in so­ge­nann­ten An­wen­dungs-Con­tai­nern zu ent­wi­ckeln, zu testen, aus­zu­füh­ren oder über IT-In­fra­struk­tu­ren hinweg zu verteilen. Dabei handelt es sich um ein Konzept aus dem Linux-Bereich. Die Tech­no­lo­gie er­mög­licht die Vir­tua­li­sie­rung auf Be­triebs­sys­tem­ebe­ne. Einzelne An­wen­dun­gen werden inklusive aller Ab­hän­gig­kei­ten wie Bi­blio­the­ken und Kon­fi­gu­ra­ti­ons­da­tei­en als ge­kap­sel­te Instanzen aus­ge­führt. Dies er­mög­licht den par­al­le­len Betrieb mehrerer An­wen­dun­gen mit un­ter­schied­li­chen An­for­de­run­gen auf ein und demselben Be­triebs­sys­tem sowie ein De­ploy­ment über un­ter­schied­lichs­te Systeme hinweg.

CaaS be­inhal­tet in der Regel eine komplette Container-Umgebung inklusive Or­ches­trie­rungs-Tools, eines Image-Katalogs (die so­ge­nann­te Registry), einer Cluster-Ma­nage­ment-Software sowie eines Sets von Ent­wick­ler-Tools und APIs.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kos­ten­güns­ti­ge vCPUs und leis­tungs­star­ke de­di­zier­te Cores
  • Höchste Fle­xi­bi­li­tät ohne Min­dest­ver­trags­lauf­zeit
  • Inklusive 24/7 Experten-Support

CaaS: Ab­gren­zung zu anderen Cloud-Services

Un­ter­neh­men und Pri­vat­an­wen­den­den steht mit Cloud-Computing eine Al­ter­na­ti­ve zur Be­reit­stel­lung von IT-Res­sour­cen in den eigenen Räum­lich­kei­ten (On-Premises) zur Verfügung. Dabei sind abseits von CaaS ins­be­son­de­re folgende drei Service-Modelle beliebt:

  • IaaS: In­fra­struc­tu­re-as-a-Service umfasst die Be­reit­stel­lung vir­tu­el­ler Hardware-Res­sour­cen wie Re­chen­leis­tung, Spei­cher­platz und Netz­werk­ka­pa­zi­tä­ten. IaaS-Anbieter stellen diese grund­le­gen­den IT-In­fra­struk­tur-Bausteine in Form vir­tu­el­ler Maschinen (VM) oder Virtual Local Area Networks (VLANs) zur Verfügung.
  • PaaS: Die mittlere Ebene des Cloud-Computing-Modells wird als Platform-as-a-Service be­zeich­net. Im Rahmen von PaaS stellen Cloud-Anbieter Pro­gram­mier­platt­for­men und Ent­wick­lungs­um­ge­bun­gen über das Internet zur Verfügung. PaaS baut auf IaaS auf.
  • SaaS: Die oberste Ebene des Cloud-Computing-Modells ist eine reine An­wen­dungs­ebe­ne. Unter Software-as-a-Service versteht man die Be­reit­stel­lung von An­wen­dungs­soft­ware über das Internet. Die zur Verfügung ge­stell­ten Programme laufen bei diesem Service-Modell nicht auf der Kun­den­hard­ware, sondern auf dem Server des Anbieters.
Bild: Darstellung der Cloud-Service-Modelle IaaS, PaaS und SaaS
Die Cloud-Service-Modelle IaaS, PaaS und SaaS im Vergleich zur Be­reit­stel­lung von Res­sour­cen in den eigenen Räum­lich­kei­ten (On Premises)

In dieser klas­si­schen Auf­tei­lung der drei eta­blier­ten Modelle des Cloud-Com­pu­tings ließe sich CaaS zwischen IaaS und PaaS verorten. Von diesen Service-Modellen hebt sich Container-as-a-Service jedoch durch einen grund­sätz­lich anderen Vir­tua­li­sie­rungs­an­satz ab: die Container-Tech­no­lo­gie.

De­fi­ni­ti­on

Container-as-a-Service ist eine Form con­tai­ner­ba­sier­ter Vir­tua­li­sie­rung, bei der die Lauf­zeit­um­ge­bung, Or­ches­trie­rungs­tools und die zu­grun­de­lie­gen­den In­fra­struk­tur-Res­sour­cen über einen Cloud-Computing-Provider zur Verfügung gestellt werden.

Wie funk­tio­niert CaaS?

Die Grundlage von Container-as-a-Service ist ein Cluster von Computern, der über die Cloud zur Verfügung steht und von Nutzern und Nut­ze­rin­nen anteilig an­ge­mie­tet wird, um con­tai­ner­ba­sier­te An­wen­dun­gen hoch­zu­la­den, zu erstellen, zentral zu verwalten und auf der Cloud-Plattform aus­zu­füh­ren. Die In­ter­ak­ti­on mit der cloud­ba­sier­ten Container-Umgebung erfolgt entweder über eine grafische Be­nut­zer­ober­flä­che (GUI) oder in Form von API-Aufrufen. Welche Container-Tech­no­lo­gien den Nutzern zur Verfügung stehen, un­ter­schei­det sich je nach Anbieter. Kern einer jeden CaaS-Plattform ist jedoch ein Or­ches­trie­rungs­tool (auch Or­chestra­tor genannt), das eine Ver­wal­tung komplexer Container-Ar­chi­tek­tu­ren er­mög­licht. Dabei sind folgende Funk­tio­nen von Bedeutung:

  • Ver­tei­lung von Con­tai­nern über mehrere Hosts hinweg
  • Grup­pie­rung von Con­tai­nern in logische Einheiten
  • Ska­lie­rung von Con­tai­nern
  • Load-Balancing
  • Zuweisung von Spei­cher­ka­pa­zi­tä­ten
  • Kom­mu­ni­ka­ti­ons­schnitt­stel­le zwischen Con­tai­nern
  • Service-Discovery

Was macht einen guten Container-as-a-Service-Anbieter aus?

Bei der Wahl eines CaaS-Dienstes für den Un­ter­neh­mens­ein­satz sollten sich An­wen­den­de von folgenden Fragen leiten lassen:

  • Welche Or­ches­trie­rungs­werk­zeu­ge stehen zur Verfügung?
  • Welche Datei-Formate für Container-An­wen­dun­gen werden un­ter­stützt?
  • Ist ein Betrieb von Multi-Container-An­wen­dun­gen möglich?
  • Wie werden die Cluster für den Container-Betrieb verwaltet?
  • Welche Netzwerk- und Spei­cher­funk­tio­nen werden un­ter­stützt?
  • Bietet der Anbieter eine private Registry für Container-Images?
  • Wie gut ist die Container-Lauf­zeit­um­ge­bung mit anderen Cloud-Diensten des Anbieters in­te­griert?
  • Welche Ab­rech­nungs­mo­del­le stehen zur Verfügung?

CaaS-Anbieter im Überblick

Die Container-Tech­no­lo­gie boomt. Ent­spre­chend groß ist das Angebot an CaaS-Services. Dienst­leis­tun­gen zur Vir­tua­li­sie­rung auf Be­triebs­sys­tem­ebe­ne findet man im Portfolio nahezu aller Public-Cloud-Anbieter. Auch Amazon, Microsoft, Google und auch IONOS haben ihre Cloud-Platt­for­men um eine Container-Lösung erweitert.

IONOS Cloud Managed Ku­ber­netes

Das Managed Ku­ber­netes ist die ideale Plattform für per­for­man­te und hoch­ska­lier­ba­re Container-An­wen­dun­gen. Der Service steht direkt über das IONOS Cloud Panel be­zie­hungs­wei­se den Data Center Designer zur Verfügung und in­te­griert Ku­ber­netes in die IONOS Cloud In­fra­struk­tur.

Bild: Produkt-Website IONOS Managed Kubernetes
IONOS Cloud Managed Ku­ber­netes bietet Cluster-Hosting, Container-De­ploy­ment und Or­ches­trie­rung. / Quelle: https://cloud.ionos.de/managed/ku­ber­netes

Die CaaS-Lösung von IONOS richtet sich an Ent­wick­le­rin­nen, Ent­wick­ler und IT-Teams und er­mög­licht die Be­reit­stel­lung, Ver­wal­tung und Ska­lie­rung von con­tai­ner­ba­sier­ten An­wen­dun­gen in Ku­ber­netes-Clustern. Das Funk­ti­ons­spek­trum umfasst:

  • Res­sour­cen­mo­dell: Managed Node Pools mit Dedicated-Core- oder vCPU-basierten Res­sour­cen
  • Cluster-Ver­wal­tung: in­di­vi­du­el­le Ver­wal­tung von Clustern
  • Ad­mi­nis­tra­ti­on: voller Cluster-Ad­mi­nis­tra­tor­zu­gang zur Ku­ber­netes-API
  • Container-Or­ches­trie­rung: Or­ches­trie­rung con­tai­ne­ri­sier­ter An­wen­dun­gen mit Ku­ber­netes
  • Support-Angebot: Support- und Do­ku­men­ta­ti­ons­res­sour­cen für die Ein­rich­tung und Ver­wal­tung von Container-Clustern
  • DevOps-In­te­gra­ti­on: API- und SDK-basierte In­te­gra­ti­on in DevOps- und CI/CD-Workflows

Der IONOS Support erstreckt sich auf die Be­reit­stel­lung und Ver­wal­tung des Container-Clusters. Der Zugriff auf den Cluster erfolgt unter anderem per kubeconfig und Tools wie kubectl. Für Container-Images lassen sich externe Re­gis­tries wie Docker Hub nutzen. Zudem bietet IONOS eine Private Container Registry an. IONOS Cloud Managed Ku­ber­netes er­mög­licht die voll­au­to­ma­ti­sche Ein­rich­tung von Ku­ber­netes-Clustern. Die Ab­rech­nung erfolgt auf Basis der tat­säch­lich be­reit­ge­stell­ten Managed-Ku­ber­netes- und In­fra­struk­tur-Res­sour­cen.

Vorteile Nachteile
Ku­ber­netes-naher Managed Service mit vollem Zugriff auf die Ku­ber­netes-API Weniger Ein­griffs­mög­lich­kei­ten in gemanagte Kern­kom­po­nen­ten
Gute In­te­gra­ti­on in API-, SDK- und CI/CD-Workflows
Hohe Por­ta­bi­li­tät

Amazon Elastic Container Service (ECS)

Amazon stellt Lösungen zur con­tai­ner­ba­sier­ten Vir­tua­li­sie­rung unter dem Namen Amazon Elastic Container Service (ECS) im Rahmen der Cloud-Computing-Plattform AWS (Amazon Web Services) zur Verfügung. Der Dienst un­ter­stützt die Aus­füh­rung con­tai­ne­ri­sier­ter An­wen­dun­gen auf un­ter­schied­li­chen Ka­pa­zi­täts­op­tio­nen wie Amazon EC2, AWS Fargate und externen Instanzen über ECS Anywhere.

Bild: Produkt-Website vom Amazon Elastic Container Service
Amazon Elastic Container Service (ECS) ist Teil von AWS. / Quelle: https://aws.amazon.com/de/ecs/

Amazon ECS bietet Nutzenden diverse Schnitt­stel­len, die es er­mög­li­chen, isolierte An­wen­dun­gen in Con­tai­nern in AWS-Um­ge­bun­gen zu betreiben. Technisch basiert der CaaS-Dienst auf folgenden Cloud-Res­sour­cen:

  • Amazon-EC2-Instanzen (Instanzen der Amazon Elastic Compute Cloud): Bei Amazon EC2 handelt es sich um ska­lier­ba­re Re­chen­ka­pa­zi­tät des Amazon Cloud-Computing-Service, die in Form so­ge­nann­ter Instanzen an­ge­mie­tet wird.
  • AWS Fargate: Mit AWS Fargate lassen sich Container ausführen, ohne selbst Server oder Cluster von EC2-Instanzen verwalten zu müssen.
  • Amazon S3 (Amazon Simple Storage Service): Amazon S3 ist eine cloud­ba­sier­te Ob­jekt­spei­cher­platt­form.
  • Amazon EBS (Amazon Elastic Block Store): Amazon EBS stellt hoch­ver­füg­ba­re Block­spei­cher­vo­lu­mi­na für EC2-Instanzen zur Verfügung.
  • Amazon RDS (Amazon Re­la­tio­nal Database Service): Amazon RDS ist ein Da­ten­bank­ser­vice zur Ver­wal­tung re­la­tio­na­ler Datenbank-Engines wie Amazon Aurora, Post­greS­QL, MySQL, MariaDB, Oracle und Microsoft SQL Server.

Die Ver­wal­tung von Con­tai­nern erfolgt bei ECS über den von AWS be­reit­ge­stell­ten Dienst inklusive Scheduler, Cluster-Ma­nage­ment und Agenten für die an­ge­bun­de­nen Instanzen.

Eine Stärke von Amazon ECS ist seine In­te­gra­ti­on mit anderen AWS-Diensten wie dem Rech­te­ma­nage­ment-Tool „AWS Identity and Access Ma­nage­ment (IAM)“, dem Mo­ni­to­ring-Service „Amazon Cloud­Watch“ oder ver­schie­de­nen Speicher- und Netz­werk­diens­ten aus dem AWS-Ökosystem.

Amazon ECS ist eng in AWS in­te­griert. Mit ECS Anywhere lassen sich jedoch auch externe Instanzen, etwa On-Premises-Server oder VMs, in ECS-Cluster einbinden. Dadurch sind Hybrid-Cloud-Szenarien grund­sätz­lich möglich. Zu beachten ist al­ler­dings, dass ECS Anywhere funk­tio­nal nicht in allen Punkten dem Betrieb innerhalb von AWS ent­spricht, etwa beim Load Balancing für bestimmte externe Workloads.

Die Preis­ge­stal­tung von Amazon ECS hängt von der gewählten Ka­pa­zi­täts­op­ti­on ab. Für ECS auf Amazon EC2 fallen keine zu­sätz­li­chen Gebühren für den ECS-Dienst selbst an; berechnet werden die genutzten AWS-Res­sour­cen. Für AWS Fargate und ECS Anywhere gelten eigene Preis­mo­del­le.

Vorteile Nachteile
In­te­gra­ti­on mit anderen AWS-Produkten Hybrid-Betrieb über ECS Anywhere funk­tio­nal ein­ge­schränk­ter als natives AWS-De­ploy­ment
Un­ter­stützt EC2, Fargate und externe Instanzen Starke Bindung an das AWS-Ökosystem
Für ECS auf EC2 keine separaten Dienst­ge­büh­ren
Hinweis

Al­ter­na­tiv bietet AWS mit Amazon Elastic Ku­ber­netes Service (EKS) auch einen ge­ma­nag­ten Ku­ber­netes-Dienst an. EKS eignet sich vor allem für Un­ter­neh­men, die gezielt auf Ku­ber­netes als Standard-Or­chestra­tor setzen oder con­tai­ne­ri­sier­te An­wen­dun­gen clou­d­über­grei­fend und portabler betreiben möchten. Im Un­ter­schied zu ECS ist EKS daher besonders in­ter­es­sant für Teams mit be­stehen­der Ku­ber­netes-Erfahrung oder Multi-Cloud-Strategie.

Google Ku­ber­netes Engine (GKE)

Auch Google hat mit der Google Ku­ber­netes Engine (GKE) einen ge­hos­te­ten Container-Service in die Public Cloud in­te­griert. Kern­kom­po­nen­te des CaaS-Dienstes ist das Or­ches­trie­rungs­tool Ku­ber­netes.

Bild: Produkt-Website der Google Kubernetes Engine
Die Google Ku­ber­netes Engine (GKE) ist stark in die In­fra­struk­tur von Google in­te­griert. / Quelle: https://cloud.google.com/ku­ber­netes-engine

GKE greift auf Res­sour­cen der Google Compute-Engine (GCE) zurück und er­mög­licht es Nut­ze­rin­nen und Nutzern, con­tai­ner­ba­sier­te An­wen­dun­gen auf Clustern in der Google Cloud zu betreiben. Auf die Google-In­fra­struk­tur ist man mit der GKE aber nicht begrenzt: Für Hybrid- und Multi-Cloud-Szenarien bietet Google eigene Multi-Cloud-Ansätze und Ver­wal­tungs­funk­tio­nen, die über klas­si­sche Ein­zel­clus­ter in Google Cloud hin­aus­ge­hen.

Jedes Cluster, das mit GKE erstellt wird, besteht aus einer Control Plane und einer be­lie­bi­gen Anzahl von Worker-Knoten. In der Standard-Variante verwaltet Google die Control Plane, während Nutzende die Knoten verwalten; beim Autopilot übernimmt Google zu­sätz­lich das In­fra­struk­tur-Ma­nage­ment der Knoten. Auf den GKE-Knoten kommt containerd als Lauf­zeit­um­ge­bung zum Einsatz. Für die Be­reit­stel­lung von Container-Images steht mit Artifact Registry eine zentrale Registry-Lösung zur Verfügung. Die In­te­gra­ti­on von Ku­ber­netes in GKE bietet folgende Funk­tio­nen für die Or­ches­trie­rung von Container-An­wen­dun­gen:

  • Automatic Bin­pack­ing: Ku­ber­netes platziert Container auf Basis von Ein­schrän­kun­gen und Res­sour­cen­an­for­de­run­gen au­to­ma­tisch so, dass das Cluster optimal aus­ge­las­tet ist.
  • Health-Checks mit Auto-Repair-Funktion: Durch au­to­ma­ti­sche Health-Checks stellt Ku­ber­netes sicher, dass Knoten und Workloads zu­ver­läs­sig aus­ge­führt werden.
  • Ho­ri­zon­ta­le Ska­lie­rung: Mit Ku­ber­netes lassen sich An­wen­dun­gen beliebig nach oben oder unten skalieren.
  • Service-Discovery und Load-Balancing: Ku­ber­netes bietet zwei Modi für Service-Discovery: Dienste lassen sich über Um­ge­bungs­va­ria­blen und DNS-Records aufspüren. Ein Load-Balancing zwischen ver­schie­de­nen Con­tai­nern wird über IP-Adressen und DNS-Namen rea­li­siert.
  • Speicher-Or­ches­trie­rung: Ku­ber­netes er­mög­licht die Ein­bin­dung und Ver­wal­tung un­ter­schied­li­cher Spei­cher­sys­te­me.

Bei der Preis­ge­stal­tung für den CaaS-Dienst geht Google einen anderen Weg als viele klas­si­sche In­fra­struk­tur­an­ge­bo­te. Für GKE fällt grund­sätz­lich eine Cluster-Ma­nage­ment-Gebühr pro Cluster und Stunde an. Gleich­zei­tig gibt es pro Rech­nungs­kon­to ein mo­nat­li­ches Free-Tier-Guthaben, das auf einen Autopilot- oder zonalen Standard-Cluster an­ge­wen­det wird. Zu­sätz­lich entstehen Kosten für die jeweils genutzten Compute-, Netzwerk- und sonstigen Cloud-Res­sour­cen.

Vorteile Nachteile
In­te­gra­ti­on mit anderen Google-Produkten Steile Lernkurve
Un­ter­stüt­zung für Hybrid- und Multi-Cloud-Szenarien Kann je nach Cluster- und Res­sour­cen­mo­dell schnell kos­ten­in­ten­siv werden

Microsoft Azure Ku­ber­netes Service (AKS)

Azure Ku­ber­netes Service (AKS) ist eine für Mi­cro­softs Cloud-Computing-Plattform Azure op­ti­mier­te Hosting-Umgebung, die es Nut­ze­rin­nen und Nutzern er­mög­licht, con­tai­ner­ba­sier­te An­wen­dun­gen zu ent­wi­ckeln und in ska­lier­ba­ren Computer-Clustern be­reit­zu­stel­len. AKS ist ein ge­ma­nag­ter Ku­ber­netes-Dienst und erlaubt den Betrieb von Linux- und Windows-Con­tai­nern in Azure.

Bild: Produkt-Website Microsoft Azure Kubernetes Service (AKS)
Screen­shot von der Azure Ku­ber­netes Service (AKS) Website; Quelle: https://azure.microsoft.com/de-de/products/ku­ber­netes-service/

Welche Funk­tio­nen AKS-Nutzenden beim Betrieb con­tai­ne­ri­sier­ter An­wen­dun­gen in der Azure-Cloud zur Verfügung stehen, hängt vor allem vom Zu­sam­men­spiel aus Ku­ber­netes selbst und den in Azure in­te­grier­ten Ver­wal­tungs-, Netzwerk- und Si­cher­heits­diens­ten ab. Im Gegensatz zum früheren Azure Container Service (ACS) kon­zen­triert sich AKS heute voll­stän­dig auf Ku­ber­netes als Or­ches­trie­rungs­platt­form. Die Ku­ber­netes-Control-Plane wird von Microsoft verwaltet, während Nutzende ihre Kno­ten­pools und Workloads in Azure betreiben.

Im­ple­men­tiert in Azure Ku­ber­netes Service bietet Ku­ber­netes unter anderem folgendes Funk­ti­ons­spek­trum zur Or­ches­trie­rung und Ska­lie­rung von Container-An­wen­dun­gen:

  • Au­to­ma­ti­sche Ska­lie­rung: Cluster und Workloads lassen sich je nach Last ho­ri­zon­tal skalieren.
  • Steuerung über die Kom­man­do­zei­le: Die Ver­wal­tung von Clustern erfolgt unter anderem über die Azure CLI und kubectl.
  • REST API: Über die Ku­ber­netes-API und Azure-Schnitt­stel­len lassen sich Container-Um­ge­bun­gen au­to­ma­ti­siert verwalten.
  • Re­gel­ba­sier­tes De­ploy­ment: Die Ver­tei­lung von Con­tai­nern im Cluster lässt sich über Ku­ber­netes-Me­cha­nis­men wie Labels, Taints, To­le­ra­ti­ons und Af­fi­ni­täts­re­geln steuern.
  • Service-Discovery: Ku­ber­netes bietet in­te­grier­te Funk­tio­nen für Service-Discovery und Load-Balancing.

Darüber hinaus bietet Microsoft für AKS CI/CD- und DevOps-In­te­gra­tio­nen für con­tai­ner­ba­sier­te An­wen­dun­gen sowie Funk­tio­nen für Iden­ti­täts- und Zu­griffs­ma­nage­ment über Microsoft Entra ID. Für pro­duk­ti­ve Cluster stehen ver­schie­de­ne Preis­stu­fen für das Cluster-Ma­nage­ment zur Verfügung: Free, Standard und Premium. Zu­sätz­lich zu den Gebühren für das Cluster-Ma­nage­ment werden zudem die zugrunde liegenden In­fra­struk­tur-Res­sour­cen in Azure berechnet.

Vorteile Nachteile
Voll­stän­dig in Cloud-Plattform Azure in­te­griert Starke Bindung an das Azure-Ökosystem
Un­ter­stützt Linux- und Windows-Container Je nach Preis­stu­fe und In­fra­struk­tur können hohe Kosten anfallen

Reviewer

Zum Hauptmenü