Container oder Virtualisierung

Im Jahr 2016 haben sich Container-Technologien flächendeckend durchgesetzt. Für große Aufmerksamkeit hat dabei die Lösung Docker gesorgt, an der Microsoft, Red Hat und IBM beteiligt sind. Daraus könnte man schließen, dass es sich um eine vielversprechende Technologie handelt.
In diesem Beitrag wollen wir deshalb schauen, ob es sich tatsächlich lohnt, sich mit dieser Technologie zu beschäftigen.

Was sind Container
Container bieten Software-Entwicklern die Möglichkeit Anwendungen isoliert auszuführen und zu testen, bevor sie in den Produktiveinsatz gehen. Solche Anwendungen können zum Beispiel eine SQL-Datenbank oder ein Apache-Server sein. Die Entwickler kopieren dabei ihren neusten Code von ihrem Rechner in eine Testumgebung. Von dort geht er später in die Produktion. Natürlich könnte er auch von einem Rechenzentrum auf eine virtuelle Maschine (VM) in einer privaten oder öffentlichen Cloud verschoben werden.

Mögliche Schwierigkeiten
Wenn die Betriebssystem- und Entwicklungsumgebungen vor und nach dem Verschieben nicht identisch sind, kann es zu Problemen kommen. Das ist der Fall, wenn Programmierer und Produktion mit unterschiedlichen Versionen der Programmierumgebung oder des Betriebssystems arbeiten. Das gilt auch für die genutzten Bibliotheken. Die Umgebung einer Anwendung in einem Container sowie die Netzwerktopologie, Sicherheitsbestimmungen und die genutzten Storage-Systeme müssen also zwingend identisch sein.

Docker als eine Lösung
Docker ist eine Software, die dazu verwendet wird, Anwendungen mithilfe von Betriebssystemvirtualisierung in Containern zu isolieren.
Mit Docker lassen sich oben genannte Schwierigkeiten dadurch lösen, dass bei dieser Lösung im Container auch gleich die komplette Runtime-Umgebung mit dabei ist. Die Applikation ist dann fest mit der Bibliothek und anderen Binär- und Konfigurationsdateien sowie Konfigurationsfunktionen verbunden. Das macht die Unterschiede in den diversen Betriebssystemdistributionen unwichtig. Allerdings würde das auch mit einfacher Virtualisierung funktionieren.

Wozu dann Container?
Bei der Virtualisierung besteht das Paket aus einer Virtuellen Maschine (VM) mit Betriebssystem und Applikation. Ein physikalischer Server mit drei virtuellen Maschinen würde aus drei separaten Betriebssystemen bestehen. Im Unterschied dazu läuft auf einem Server mit drei Applikationen im jeweils eigenen Container nur ein Betriebssystem, dass sich alle Container teilen. Dadurch werden deutlich weniger Ressourcen benötigt. Zudem booten Container wesentlich schneller als Virtuelle Maschinen.
Dennoch haben Container die VM’s noch nicht komplett abgelöst. Container sind nicht so sicher wie virtuelle Maschinen. Eine mögliche Sicherheitslücke im Kernel hätte Auswirkungen auf alle anderen angehängten Container.

Container eher als Ergänzung

In einer kleinen VM kann ein Container die Sicherheit erhöhen, da er eine weitere Isolationsschicht einbringt. Bei einer Virtualisierung muss auch die Hardware – also Netzwerke, Server und Speicher – per Virtualisierung verwaltet werden. Container lassen diese Bereiche unberührt. Container sind also kein vollwertiger Ersatz für Virtualisierung, sondern eher eine sinnvolle Ergänzung.

Konkurrenzangebote zu Docker
Container sind als Technologie nicht neu. In Linux finden sie sich in Form von LXC bereits seit fast zehn Jahren. FreeBSD jails, AIX Workload Partitions sowie Solaris Container von Oracle bieten vergleichbare Virtualisierung auf Betriebssystem-Ebene. Eine weitere Alternative ist etwa „rkt“, ein Command Line-Tool für App Container von CoreOS. Diese Anwendung kann sogar mit Docker Containern problemlos umgehen.

Gerne helfen wir von Compusafe Ihnen in allen IT-Fragen und unterstützen Sie durch unsere Spezialisten. Nach vielen Jahren in der IT-Dienstleistung sind wir der richtige Ansprechpartner für Sie.

 
Quellen:

Container versus Virtualisierung

Was ist Container-Virtualisierung

Flexibler durch Container-Virtualisierung ohne Emulation

Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Melden Sie sich für unseren Newsletter an

Durch Angabe meiner E-Mail-Adresse und Anklicken des Buttons "Anmelden" erkläre ich mich damit einverstanden, dass die CompuSafe Data Systems AG mir regelmäßig Informationen zu folgenden Themen per E-Mail zuschickt: Links zu Fachbeiträgen, Links zu Stellenanzeigen, Links zu aktuellen Blogbeiträgen, Einladungen zu Webinaren und Ebook-Veröffentlichungen. Meine Einwilligung kann ich jederzeit widerrufen.