Startseite » centron Ratgeber » Wie funktioniert Container Hosting?


Wie funktioniert Container Hosting?


Mit der Einführung der Hardware-Virtualisierung durch virtuelle Maschinen (VMs) in den Sechzigerjahren erlebte die IT-Welt einen regelrechten Umbruch. Container spinnen diesen Grundgedanken noch weiter und übersetzen ihn in das Cloud-Zeitalter. Heute ist Container Hosting, gerade in der Entwicklerszene, in aller Munde. Doch was verbirgt sich hinter dieser Technologie?

 

Im Hinblick auf die Funktionsweise sind VMs und Container sehr ähnlich aufgebaut. Beide sind eine Art Gefäß, in dem Anwendungen und Services ausgeführt werden. Während VMs eine komplette Computing-Umgebung darstellen, enthalten Container nur die Daten, die für die Ausführung der Applikation auch wirklich benötigt werden. Dies beinhaltet etwa Komponenten des Betriebssystems wie Libraries und Binaries. Container sind also in ihrer Architektur deutlich schlanker, sozusagen das Leichtgewicht unter den Cloud Technologien. Zu den bekanntesten und am weitesten verbreiteten Container Lösungen zählen Docker und Kubernetes und Mesosphere DC/OS.


Was sind Container?

Allgemein formuliert sind Container abgeschirmte Bereiche, die unabhängig voneinander in der Cloud operieren. Durch eine Virtualisierung auf Betriebssystemebene sind die Bedingungen und Gegebenheiten innerhalb eines Containers immer gleich. Jeder Container führt dabei genau eine Anwendung als abgekapselte Instanz aus. Auf diese Weise lassen sich mehrere Anwendungen mit unterschiedlichsten Anforderungen an die Umgebung auf einem einzigen Betriebssystem betreiben. Container sind besonders beliebt bei Developern, da sich neue Software hier unter stabilen Bedingungen entwickeln und testen lässt. Aber auch für das Ausführen, Verteilen und Deployment von Anwendungen über verzweigte IT-Infrastrukturen hinweg sind Container bestens geeignet.


Wie unterschieden sich Container von virtuellen Maschinen?

Container sind eine besonders schlanke Form der Virtualisierung, da mehrere von ihnen, isoliert voneinander, auf einer einzelnen Betriebssystem-Installation laufen können. Zum Vergleich: Bei einer herkömmlichen Hardware Virtualisierung müssten zwei komplette VMs mit Betriebssystem aufgesetzt werden, um die Trennung zweier Anwendungen zu erreichen. Dies ist deutlich aufwändiger sowie kosten- und ressourcenintensiver als bei einem Container. Im Gegensatz zu VMs werden bei Containern nicht die Hardware, sondern das Betriebssystem emuliert. VMs laufen direkt auf einem physisch vorhandenen Server, der mit einem Hypervisor virtualisiert ist. Container hingegen werden auf einer höheren Ebene virtualisiert. Hier sorgt nämlich das Betriebssystem im Zusammenspiel mit der Container Software und der Orchestrierung für die Virtualisierung. Dieser Vorgang ist äußerst komplex.

 
Container Hosting Container virtuelle Maschine Unterschied

Die unterschiedliche Architektur von virtuellen Maschinen und Container Hostings

 

Bereitstellungsmodelle für Container Hosting

Theoretisch lässt sich eine Container Umgebung vor Ort im Unternehmen betreiben. In der Praxis ist dies jedoch meist nicht ratsam. Zum einen sind Aufwand und Kosten für Software, Hardware und Betrieb äußerst hoch. Zum anderen steht eine lokal (In der Fachsprache: On-Premises) betriebene Lösung im krassen Gegensatz zum Cloud-Gedanken. Es ist meist lukrativer, die Container Lösung bei einem erfahrenen Anbieter wie einem Managed Service Provider zu mieten. In Anlehnung an die Begriffe Infrastructure-as-a-Service (IaaS), Platform-as-Service (PaaS) und Software-as-a-Service (SaaS) hat sich für Container Lösungen aus der Cloud der Begriff Container-as-a-Service (CaaS) etabliert. Hierbei stellt der Anbieter ein Cloud Server Cluster zur Verfügung, das einzelne Anwender und Unternehmen anteilig (shared) mieten können. Sie erhalten durch das Container Hosting also eine flexibel erweiterbare Container Infrastruktur als Web Service und zahlen nur für die Ressourcen, die sie tatsächlich benötigen.


Container Hosting: Orchestrierung von Containern

Die Konfiguration der Container Services aus der Cloud kann über verschiedene Arten erfolgen. Zum einen steht dem Anwender eine grafische Benutzeroberfläche zur Verfügung (GUI). Zum anderen lassen sich die Features über eine Schnittstelle (API) verwalten und ansteuern. Je nachdem, welche Container Technologie zum Einsatz kommt, stehen dem User verschiedene Tools zur Orchestrierung zur Verfügung. Die drei Orchestrierungstools Docker, Kubernets und Mesosphere DC/OS haben sich am Markt etabliert:


Docker

Docker ist eine Open Source Software für die Virtualisierung und Orchestrierung von Containern. Auf Basis des Orchestrators "Docker Datacenter" können Unternehmen eine On-Premises betriebene CaaS Umgebung aufbauen und betreiben. Alternativ lässt sich mit der "Docker Enterprise Edition" eine Container Infrastruktur im eigenen Datacenter oder in einer Private Cloud aufbauen. Docker ist unter Anwendern, vor allem im Bereich Devops, bekannt für seine einfache Installation, Handhabung und Konfiguration. Das Orchestrierungswerkzeug nutzt die Docker API und lässt sich mit klassischen Docker Commands bedienen.


Kubernetes

Kubernetes ist ebenfalls eine Open Source Software. Sie ermöglicht die automatisierte Bereitstellung, Skalierung und Verwaltung von Container Anwendungen - speziell auf verzweigten IT-Infrastrukturen. Der Vorteil gegenüber Docker: Kubernetes unterstützt nicht nur Docker Container, sondern jede Art von Container. Per Container Runtime Interface stellt Kubernetes viele Schnittstellen zu hypervisorbasierenden Container Laufzeitumgebungen der Open Container Initiative (OCI) bereit. In Puncto Konfiguration und Handhabung ist Kubernetes allerdings deutlich komplexer und somit zeitaufwändiger als Docker.


Mesosphere DC/OS

DC/OS steht für Datacenter Operating System. Hierbei handelt es sich um eine Weiterentwicklung des quelloffenen Cluster Managers Apache Mesos für Linux. Der große Unterschied zu Docker und Kubernetes: Mesosphere DC/OS ist nicht auf die reine Verwaltung von Container Anwendungen beschränkt, sondern kann auch andere Dienste wie Microservices oder Big Data Operations parallel betreiben.

 
centron Container Hosting Lösungen

Container Hosting von centron

Der einfache Weg, Ihre Container zu orchestrieren
Automatisierte Bereitstellung
Skalierbare Ressourcen
99,9 % Uptime Ihrer Services
Zu unseren Container Hostings
 

Worin liegen die Vorteile von Container Hosting?

Container erfreuen sich vor allem bei der Entwicklung von Anwendungen größter Beliebtheit, da sie durch ihre Architektur Ressourcen, also CPU, RAM oder auch Storage einsparen. Zudem sind Container äußerst flexibel. Durch die abgekapselten Anwendungspakte lassen sich neue Anwendungen nicht nur offline entwickeln, sondern direkt im Live-System unabhängig von der Cloud oder verwendeten Infrastruktur. Damit sparen Entwickler Zeit beim Debugging und Testen. Aus diesem Grund sind Container als Cloud Lösung hoch skalierbar. Benötigt der Anwender mehr Instanzen einer Anwendung, weil etwa der Traffic auf der Website besonders hoch ist, lassen sich Container schnell und einfach starten und dann auch wieder stoppen - und das innerhalb von Sekunden.


Zum Schluss: Noch einige Tipps und Kniffe

Die Vorteile von Container Hosting liegen also auf der Hand. Zusammengefasst sind Container ressourcenschonend, hochskalierbar und beschleunigen Entwicklungsprozesse enorm. Für beste Performance gilt es jedoch, einiges beim Setup zu beachten.

Optimalerweise sollten User nur einen Dienst pro Container installieren. Nur wenn sie eng miteinander verwebt sind, macht es Sinn, sie parallel laufen zu lassen. Ein gängiges Beispiel ist etwa PHP im Zusammenspiel mit nginx oder php-fpm. Zudem ist es nicht empfehlenswert, Nutzerdaten in einem Container zu speichern, denn sie existieren nur so lange, wie sie aktiv sind. Startet der Anwender einen Container neu oder beendet ihn, werden sämtliche Daten automatisch gelöscht. Um die Performance und Wiederverwendbarkeit eines Containers zu steigern, kommen in der Praxis oft Tools zur Automatisierung wie Ansible, Jenkins oder Terraform zum Einsatz. Dies macht die Umgebung noch dynamischer und flexibler.