Was ist Container-Orchestrierung?
Container-Orchestrierung ist die Automatisierung eines Großteils des operativen Aufwands, der zum Ausführen von Container-Workloads und -Services erforderlich ist. Dazu gehören eine Vielzahl von Dingen, die Softwareteams für das Management des Container-Lebenszyklus benötigen, einschließlich Provisioning, Bereitstellung, Skalierung (horizontal und vertikal), Networking, Lastausgleich und mehr.

Statusbericht zu Kubernetes

7 Wege zum Verbessern der Entwicklererfahrung und Beschleunigen der Softwarebereitstellung auf Kubernetes
Warum ist Container-Orchestrierung notwendig?
Da Container grundsätzlich schlank und kurzlebig sind, kann ihre Ausführung in der Produktion schnell einen enormen Aufwand bedeuten. Gerade in Kombination mit Microservices – die in der Regel in eigenen Containern ausgeführt werden – kann eine containerbasierte Anwendung aus Hunderten oder Tausenden von Containern bestehen, insbesondere beim Aufbau und Betrieb großer Systeme.
Ein manuelles Management kann hier schnell extrem komplex werden. Container-Orchestrierung macht die betriebliche Komplexität für Entwicklungs- und Operations-Teams, die sogenannten DevOps-Teams, beherrschbar, weil sie einen deklarativen Ansatz zum Automatisieren eines Großteils dieser Arbeit bietet. Daher eignet sie sich gut für DevOps-Teams und -Kulturen, die generell viel schneller und agiler arbeiten wollen als herkömmliche Softwareteams.
Welche Vorteile bietet Container-Orchestrierung?
Container-Orchestrierung ist der Schlüssel für das Arbeiten mit Containern. Unternehmen können dadurch das Potenzial der Container voll ausschöpfen. Sie bietet auch Vorteile für eine containerbasierte Umgebung:
- Vereinfachter Betrieb: Dies ist der wichtigste Vorteil der Container-Orchestrierung und der Hauptgrund für ihre Einführung. Container bringen ein hohes Maß an Komplexität mit sich, die ohne Management über die Container-Orchestrierung schnell außer Kontrolle geraten kann.
- Resilienz: Container-Orchestrierungstools können einen Container oder Cluster automatisch neu starten oder skalieren und erhöhen dadurch die Resilienz.
- Zusätzliche Sicherheit: Der automatisierte Ansatz der Container-Orchestrierung reduziert oder eliminiert das Risiko menschlicher Fehler und trägt dadurch zur Sicherheit von containerbasierten Anwendungen bei.
Was sind Container und welche Vorteile bieten sie?
Container werden häufig eingesetzt, um Microservices zu erstellen, zu paketieren und bereitzustellen. Sie ähneln virtuellen Maschinen (VMs), sind aber nicht mit ihnen identisch. Einer der Hauptunterschiede besteht darin, dass Container vom zugrunde liegenden Betriebssystem und der Infrastruktur, in der sie ausgeführt werden, isoliert oder abstrahiert werden. Im Wesentlichen enthält ein Container sowohl den Code einer Anwendung als auch alles, was für dessen ordnungsgemäße Ausführung erforderlich ist.
Aus diesem Grund bieten Container viele Vorteile:
- Portabilität: Einer der größten Vorteile von Containern besteht darin, dass sie in jeder Umgebung ausgeführt werden können. Dies vereinfacht beispielsweise das Verschieben von Container-Workloads zwischen verschiedenen Cloud-Plattformen: Hierzu müssen keine großen Mengen an Code umgeschrieben werden, um sicherzustellen, dass dieser unabhängig vom zugrunde liegenden Betriebssystem oder von anderen Faktoren ordnungsgemäß ausgeführt wird. Entwickler sind produktiver, da sie konsistent Code schreiben können, ohne sich Gedanken über dessen Ausführung in verschiedenen Umgebungen machen zu müssen – von einem lokalen Computer über einen On-Premises-Server bis hin zu einer Public Cloud.
- Anwendungsentwicklung: Container können die Entwicklung und Bereitstellung von Anwendungen beschleunigen, einschließlich Änderungen oder Aktualisierungen im Laufe der Zeit. Dies gilt insbesondere für containerbasierte Microservices. Bei diesem Softwarearchitekturansatz wird eine größere Lösung in kleinere Teile zerlegt. Diese einzelnen Komponenten (oder Microservices) können dann unabhängig voneinander bereitgestellt, aktualisiert oder stillgelegt werden, ohne dass die gesamte Anwendung aktualisiert und erneut bereitgestellt werden muss.
- Ressourcenauslastung und -optimierung: Container sind schlank und kurzlebig und verbrauchen daher weniger Ressourcen. So können Sie beispielsweise viele Container auf einer einzigen Maschine ausführen.
Was ist Kubernetes-Container-Orchestrierung?
Kubernetes ist eine beliebte Open-Source-Plattform für Container-Orchestrierung. Entwickler können damit ganz einfach containerbasierte Anwendungen und Services erstellen und die Container skalieren, planen und überwachen. Es gibt auch andere Optionen für die Container-Orchestrierung, z. B. Apache Mesos oder Docker Swarm, doch Kubernetes hat sich zum Branchenstandard entwickelt. Kubernetes bietet umfassende Container-Funktionen und eine dynamische Community von Mitwirkenden. Hinzu kommen das Wachstum cloudnativer Anwendungsentwicklung und die weit verbreitete Verfügbarkeit von kommerziellen und gehosteten Kubernetes-Tools. Kubernetes ist außerdem hochgradig erweiterbar und portierbar, d. h., es kann in einer Vielzahl von Umgebungen ausgeführt und in Verbindung mit anderen Technologien wie Service-Meshes verwendet werden.
Kubernetes fördert nicht nur die für Container-Orchestrierung unabdingbare Automatisierung, sondern gilt auch als hochgradig deklarativ. Entwickler und Administratoren beschreiben damit im Wesentlichen, wie sich ein System verhalten soll. Anschließend setzt Kubernetes den gewünschten Zustand dynamisch um.
Was ist Multi-Cloud-Container-Orchestrierung?
Im einfachsten Sinne bezeichnet der Begriff Multi-Cloud eine IT-Strategie, bei der zwei oder mehr Cloud-Services von zwei oder mehr Anbietern genutzt werden. Im Kontext von Containern und Orchestrierung bedeutet Multi-Cloud in der Regel, dass Anwendungen über zwei oder mehr Cloud-Infrastrukturplattformen, einschließlich Public und Private Clouds, ausgeführt werden. Multi-Cloud-Container-Orchestrierung bezieht sich also darauf, dass Container über ein Orchestrierungstool in Multi-Cloud-Infrastrukturumgebungen anstatt in einer Umgebung mit einer einzigen Cloud ausgeführt werden.
Softwareteams verfolgen Multi-Cloud-Strategien aus unterschiedlichen Gründen. Zu den Vorteilen zählen u. a. optimierte Infrastrukturkosten, Flexibilität und Portabilität (einschließlich Reduzierung der Anbieterabhängigkeit) sowie Skalierbarkeit (z. B. dynamisches Skalieren einer Cloud aus einer On-Premises-Umgebung heraus, falls erforderlich). Multi-Cloud-Umgebungen und Container ergänzen sich, da Container portabel und überall ausführbar sind.
Container-Orchestrierung im Vergleich zu Docker
Docker ist eine spezifische Plattform zum Erstellen von Containern, einschließlich der Container-Laufzeit der Docker Engine, während Container-Orchestrierung ein weiter gefasster Begriff ist, der sich auf die Automatisierung des Lebenszyklus von Containern bezieht. Docker umfasst auch Docker Swarm, das plattformeigene Container-Orchestrierungstool, das Docker-Container automatisch starten kann.
Zugehörige Lösungen und Produkte
VMware Tanzu for Kubernetes Operations
Die Grundlage für eine moderne Multi-Cloud-Container-Infrastruktur
VMware Tanzu Application Platform
Unvergleichliche Multi-Cloud-Entwicklererfahrung auf Kubernetes
VMware Tanzu Community Edition
VMware Tanzu jetzt testen