Revolution für die Softwareentwicklung
Managed Kubernetes - die Container-Technik
Managed Kubernetes oder Docker Swarm – um beides einordnen zu können, braucht es eine kurze Einführung in die Besonderheiten der Container-Technik. Denn sowohl Softwareentwickler als auch Systemadministratoren (DevOps-Teams) müssen hier eine völlig neue Herangehensweise an die Virtualisierung beherzigen.
Container und Docker, aber was verbirgt sich dahinter?
Virtuelle Maschinen (VMs), wie sie bisher im Einsatz waren, brauchen einen Host mit Betriebssystem und einen Hypervisor, der die Ressourcen des Hosts zur Verfügung stellt. Auch die VMs, auf denen zahlreiche Applikationen und Dienste für unterschiedliche Geschäftsprozesse zur Verfügung gestellt werden, benötigen ein Gast-Betriebssystem.
Container hingegen benötigen kein eigenes Betriebssystem. Die Container Engine stellt den Zugriff auf den Kernel des Host-Betriebssystems (Host-OS) sicher. In den Containern werden einzeln lauffähige, voneinander unabhängige Microservices zur Verfügung gestellt. Jeder einzelne Service kann getrennt eingerichtet, implementiert, skaliert und upgegradet werden.
Container können daher sehr schnell bereitgestellt, gestartet und gestoppt werden. Benötigt man mehr Kapazitäten für einen Dienst, werden neue Container zur Verfügung gestellt. Umgekehrt können Container sofort gelöscht werden, wenn diese nicht mehr benötigt werden.
Container-Vorteil am Beispiel eines Neustarts:
Der Neustart einer VM ist dem Neustart eines Servers gleichzusetzen, während der Neustart eines Containers dem Start eines Prozesses auf dem Server entspricht. Entsprechend schneller ist der Neustart eines Containers.
Das monolithische System der VMs wird ersetzt durch Container mit einzelnen Microservices, auf die schneller und leichter zugegriffen werden kann.
Hier kommt Docker ins Spiel, denn Docker ist eine Open Source Software zur Isolierung von Anwendungen mit Containervirtualisierung. Um viele Container aber organisieren zu können, braucht es ein Orchestrierungstool: Kubernetes, das wir als Managed Kubernetes für Sie betreiben.
Container-Orchestrierung für die intelligente Logistik
Wussten Sie schon?
Der Begriff Kubernetes kommt aus dem Alt-Griechischen und bezeichnet‚ 'eine Person, die ein Schiff lenkt‘…
Die Verwendung des Begriffs ist also logisch, denn jedes Containerschiff braucht einen Steuermann oder im Neu-Griechischen einen Kapitän.
Kubernetes ist ein Open-Source-Tool, das von Google entwickelt wurde und heute unter der Schirmherrschaft der Cloud Native Computing Foundation (CNCF) steht.
Kubernetes ist wie Docker Swarm eine Grundlage für CaaS. Containerbasierte Anwendungen sind damit in einer cloudbasierten Container-Umgebung einfach zu erstellen, hochzuladen, und zentral zu verwalten. Kubernetes liefert eine grafische Oberfläche und eine Plattform zur Orchestrierung komplexer Containerarchitekturen.
Managed Kubernetes als Orchestrierungstool organisiert folgende Funktionen:
- Verteilung von Containern, auch auf mehrere ortsunabhängige Hosts
- Anordnung von Containern in logischen Einheiten
- Skalierung von Containern
- Zuteilung von Speicherkapazitäten
- Schnittstelle für die Kommunikation zwischen Containern
Warum Managed Kubernetes und nicht Docker Swarm?
Mehr und mehr setzt sich Kubernetes in der Orchestrierung und im Management durch, denn Kubernetes orchestriert alle Container, während Docker Swarm für die Orchestrierung von Docker entwickelt wurde.
Die Migration ist keine Ebenmal-Aktion
Die Umstellung auf Managed Kubernetes, also Container und Microservices, darf man sich nicht wie die Einführung einer neuen Software oder einer neuen Programmiersprache vorstellen. Es ist ein Paradigmenwechsel mit einer gänzlich neuen Struktur im technischen, aber auch im Teambereich. Vielleicht etwa vergleichbar mit der Umstellung von klassischem Projektmanagement hin zu agilem Projektmanagement. Es treffen Welten aufeinander und man muss entscheiden, welches der jeweils bessere Weg ist.
Wir empfehlen Ihnen, Managed Kubernetes zunächst mit einem kleineren Projekt zu beginnen und die Umstellung auf Container und Microservices vorab zu testen.
Container-Technik – Ihr Vorteil in der Softwareentwicklung
Container und Managed Kubernetes eignen sich besonders im Bereich der Softwareentwicklung.
Werden mehr Ressourcen benötigt, lassen sich die Container bei Bedarf sofort deployen und genauso schnell verwerfen, wenn sie nicht mehr gebraucht werden.