Was ist CaaS? Einfachere Containerverwaltung

Da sich moderne, containerisierte Anwendungen bei Unternehmen weiterhin als beliebt erweisen, war es nur eine Frage der Zeit, bis die großen Anbieter damit begannen, die Containerinfrastruktur und -verwaltung „as-a-Service“ anzubieten.

Die Verwendung von Containern nimmt bei Unternehmen weltweit stark zu. 65 Prozent der Unternehmen geben an, Docker-Container zu verwenden, und 58 Prozent verwenden das Kubernetes-Orchestrierungssystem in irgendeiner Weise. Dies geht aus Flexeras jüngstem State of Cloud-Bericht 2020 hervor.

Mangel an Ressourcen und Fachwissen wird häufig als Hauptherausforderung bei der Verwendung von Containern zum Erstellen und Verwalten von Anwendungen angeführt. Kein Wunder also, dass sich Entwickler zunehmend der Automatisierung von CaaS-Angeboten (Container-as-a-Service) zuwenden, wobei die drei großen Cloud-Anbieter die Nase vorn haben.

Containers-as-a-Service oder CaaS definiert

Mit CaaS bieten Cloud-Anbieter im Wesentlichen eine gehostete Container-Orchestrierungs-Engine - normalerweise basierend auf dem beliebten Open-Source-Projekt Kubernetes, das von Google stammt -, um Container bereitzustellen und auszuführen, Cluster zu verwalten, Skalierung und Fehlermanagement zu automatisieren und die gemeinsame Infrastruktur zu warten Schicht, mit Governance und Sicherheit enthalten.

Im Allgemeinen werden alle Funktionen für Netzwerk, Lastausgleich, Überwachung, Protokollierung, Authentifizierung, Sicherheit, automatische Skalierung und kontinuierliche Integration / kontinuierliche Bereitstellung (CI / CD) von der CaaS-Plattform übernommen.

Auf diese Weise können Unternehmen die Vorteile der Cloud-Infrastruktur nutzen und gleichzeitig verhindern, dass Anbieter, die mit einem typischen Platform-as-a-Service (PaaS) verbunden sind, wie AWS Elastic Beanstalk, Azure App Service, oder Google App Engine - da die Container selbst eine einfache Portabilität in verschiedenen Umgebungen ermöglichen. 

Wenn Container der richtige Weg sind, hängt der Unterschied zwischen CaaS und der Ausführung auf klassischer Infrastructure-as-a-Service (IaaS) davon ab, ob Ihr Unternehmen über die Ressourcen und Fähigkeiten verfügt, um Kubernetes (oder eine andere Container-Orchestrierung) zu implementieren und zu verwalten Schicht) selbst oder würde davon profitieren, wenn dies einem Cloud-Anbieter überlassen würde. Die Entscheidung kann auch aktivieren, ob Ihre Containerumgebung mehrere Clouds und / oder lokale Umgebungen umfassen muss. Eine Reihe von Anbietern bietet CaaS-Plattformen an, die entweder vor Ort oder in der Cloud bereitgestellt werden können (siehe unten). 

"Sie können entweder die Dinge auf Infrastrukturebene verwalten und den Orchestrator selbst einrichten, oder Sie können eine Containerplattform verwenden, die die zugrunde liegende Infrastruktur verwaltet und einen vorinstallierten Orchestrator bereitstellt, mit dem Sie Ihre Container bereitstellen und skalieren können", schreiben die ehemalige Deutsche Bank und BBC-Entwickler Rob Isenberg in seinem Buch Docker for Rails Developers, veröffentlicht von O'Reilly.

Die Vorteile

Das Ausführen Ihrer Container unter CaaS ähnelt dem Ausführen Ihrer virtuellen Maschinen unter IaaS: Die Hauptvorteile sind die schnelle Bereitstellung und Benutzerfreundlichkeit sowie die Einfachheit des Pay-as-you-go-Cloud-Modells und die oben erwähnte Freiheit von der Anbietersperre -im.

Wenn Sie Ihre Containerinfrastruktur einem Cloud-Anbieter überlassen, können Sie ohne Investition in Ihre eigene Hardware und ohne Aufbau und Betrieb Ihrer eigenen Kubernetes-Cluster (oder eines anderen Container-Orchestrierungssystems) den Betrieb aufnehmen. Darüber hinaus können Sie durch Containerisierung von Anwendungen Anwendungen einfacher in verschiedene Umgebungen oder Ökosysteme von Anbietern migrieren, wodurch Sie mehr Flexibilität und Skalierbarkeit erhalten.

All dies bietet auch die entscheidenden Möglichkeiten für Kosteneffizienz, da Container besser für die horizontale Skalierung nach Bedarf gerüstet sind und Unternehmen nur für die von ihnen verwendeten Cloud-Ressourcen bezahlen können. Container sind weitaus leichter als VMs, was bedeutet, dass sie weniger ressourcenintensiv sind, was häufig zu Geschwindigkeitsgewinnen und Kostensenkungen führt.

Ein weiterer Vorteil ergibt sich aus der Konsistenz von Instrumentierung und Protokollierung, da die Isolierung einzelner Dienste in Containern eine effektivere Protokollaggregation und zentralisierte Überwachung durch das beliebte Sidecar-Bereitstellungsmodell ermöglichen kann.

Die Migration traditioneller Apps in Container bleibt ein erhebliches Hindernis für die Einführung, selbst wenn sie mit CaaS ausgeführt werden. Dies wird von 34 Prozent der Befragten des Flexera State of Cloud-Berichts angegeben. Bei der Migration zu Containern werden monolithische Anwendungen häufig in Microservices zerlegt, was für größere, ältere Unternehmen eine große kulturelle und technische Veränderung darstellen kann, die nicht leichtfertig in Angriff genommen werden sollte.

[Auch auf: Was ist Docker? Der Funke für die Containerrevolution]

Führende Anbieteroptionen

Die meisten großen Cloud-Anbieter bieten CaaS-Angebote an, und es gibt mehrere andere Anbieter, die sich an der Aktion beteiligen möchten.

Der Marktführer für Cloud-Services, Amazon Web Services (AWS), hat den Kubernetes-less Elastic Container Service (ECS) und den Elastic Kubernetes Service (EKS) stark angenommen. In ähnlicher Weise ist die Akzeptanz des Azure Kubernetes-Dienstes laut Flexeras Analyse erheblich gestiegen, ebenso wie die Google Kubernetes Engine (GKE).

Alle drei Cloud-Giganten bieten jetzt auch serverlose Kubernetes-Dienste an, darunter AWS ECS auf Fargate, Google Cloud Run auf GKE und Azure Container Instances. Im Gegensatz zu EKS, AKS und GKE entfallen bei diesen Diensten Serververwaltungsaufgaben, und sie eignen sich ideal für Anwendungsfälle bei Bedarf.

Ein Großteil der Containerverwaltungsfunktionen von Google Cloud befindet sich jetzt unter dem Dach von Anthos, das die Verwaltung von containergestützten Anwendungen über die lokale Infrastruktur und die wichtigsten öffentlichen Clouds hinweg ermöglicht (Google Cloud Platform und AWS jetzt mit Azure-Unterstützung unterwegs). Anthos kombiniert GKE für Cloud-Workloads, GKE On-Prem und die Anthos Config Management-Konsole, die eine zentralisierte Verwaltung, Richtlinien und Sicherheit für hybride und multicloud Kubernetes-Bereitstellungen ermöglicht.

Abgesehen von den „großen drei“ Cloud-Anbietern haben Anbieter wie IBM / Red Hat, VMware, SUSE / Rancher, Canonical, D2iQ (ehemals Mesosphere), Rackspace, Oracle, HPE, Alibaba, Huawei und Tencent einen gewissen Geschmack eines Managed CaaS-Option. Eine Reihe dieser Angebote kann vor Ort, in öffentlichen Clouds oder in beiden bereitgestellt werden. 

Welche Plattform ist die beste?

Das Branchenanalystenhaus Gartner hat keinen magischen Quadranten für CaaS-Anbieter, identifiziert jedoch in seinem neuesten Bericht von Wataru Katsurashima über die Wettbewerbslandschaft: Public Cloud Container Services die GKE von Google als die führende verwaltete Kubernetes-Option.

Die Analysten von Forrester haben AWS im dritten Quartal 2019 an die Spitze seiner jüngsten New Wave für Public Cloud Enterprise Container-Plattformen gebracht, gefolgt von Microsoft und Google. Es ist zu beachten, dass der Forrester-Bericht nur sieben Anbieter umfasste und sich ausschließlich auf die Bereitstellung öffentlicher Clouds konzentriert.

Laut den Forrester-Autoren Dave Bartoletti und Charlie Dai ist AWS „führend bei Bereitstellungsoptionen, Sicherheit und umfassenden Integrationen“. „Mit einer breiten Palette vollständig verwalteter (und serverloser) Kubernetes (K8s) -Verbrauchsoptionen und den meisten Containern, die direkt in der Cloud-Infrastruktur bereitgestellt werden, setzt AWS seine Containerplattform fort und integriert sie umfassend in seine führenden Sicherheits- und Netzwerkfunktionen.“

In dem Forrester-Bericht wurden sowohl Microsoft als auch Google aufgefordert, ihre Containerplattformen zu vereinfachen. Microsoft wurde für seine stärkere Entwicklererfahrung und globale Reichweite gelobt, aber für seine Komplexität geklopft - was in dem Bericht häufig unterlassen wurde. Google erhielt Lob für sein tiefes Kubernetes-Know-how und seine Bemühungen, Multicloud-Umgebungen zu durchqueren, wurde jedoch in ähnlicher Weise wegen seiner Komplexität kritisiert. 

Trotzdem bleibt AWS EKS laut CNCF Survey 2019 die am häufigsten verwendete Container-Management-Plattform, gefolgt von GKE, Docker EE / CE und AKS.

In Flexeras Bericht zum Cloud-Status 2020 wird die Unternehmensnutzung von AWS EKS / ECS auf 55 Prozent festgelegt. Weitere 23 Prozent der Befragten in Unternehmen planen, diese CaaS-Optionen in Zukunft zu nutzen. Die Akzeptanz des Azure Kubernetes-Dienstes erreichte 50 Prozent, weitere 26 Prozent planen, AKS in Zukunft zu verwenden. Und Google Kubernetes Engine erreichte 26 Prozent, wobei 27 Prozent der Befragten in Unternehmen die Verwendung von GKS planen. Selbstverwaltete Kubernetes übertreffen laut Flexera-Bericht jedoch immer noch alle Optionen bei 63 Prozent der Befragten in Unternehmen.

Andere Ressourcen

Die Hauptinformationsquellen über CaaS sind die Anbieter selbst, was es schwierig macht, eine informierte, unvoreingenommene Wahl zu treffen. Wie oben ausgeführt, haben sowohl Forrester als auch Gartner tiefe Tauchgänge in die Landschaft unternommen, aber ihre Linse ist in der Regel diejenige, bei der sich die Anbieter von anderen abheben, anstatt sich mit CaaS in der Produktion vertraut zu machen.

Es gibt auch noch nicht viele Bücher zu diesem Thema, aber das Software Architect's Handbook von O'Reilly gibt einen guten Überblick.

Schließlich ist Docker seit Jahren im Zentrum des Containers und des Containermanagements, und das Unternehmen verfügt über einige gute Videoinhalte zu diesem Thema, einschließlich dieser Sitzung mit dem technischen Mitarbeiter Patrick Chanezon und dieser Übersicht von Sandor Klein, Vizepräsident für Europa , Naher Osten und Afrika.