gjp311 - stock.adobe.com

Alternativen zu Docker: Container-Virtualisierung mit LXD und CoreOS rkt

Docker ist das populärste Container-Framework, eignet sich aber nicht für alle Anwendungsfälle. Alternativen bieten beispielsweise LXD und CoreOS rkt.

In Produktivumgebungen werden wahrscheinlich fünf- bis zehnmal so viele Docker-Container verwendet, als alle alternativen Container-Plattformen zusammengenommen. Dabei gibt es durchaus Alternativen zu Docker, die für manche Applikationen wesentlich besser geeignet sind.

Bevor eine IT-Abteilungen Container bereitstellt, und natürlich auch immer, wenn eine Überprüfung der Container-Plattform ansteht, sollten die verfügbaren Alternativen gegenüber bestimmten Faktoren überprüft werden, beispielsweise was Sicherheit und OS-Overhead betrifft. Dabei ist Docker nicht immer die beste Wahl.

Container-Virtualisierung mit CoreOS rkt

Die bekannteste Alternative zu Docker ist das rkt-Framework (gesprochen wie Rocket) von CoreOS, das Sicherheit und Betrieb von Container-Umgebungen vereinfachen und verbessern soll. CoreOS rkt wählt dabei auch einen Linux-freundlicheren, stärker verteilten Ansatz bei Deployment und Management von Containern als Docker.

Die rkt-Plattform adressiert zwei große Probleme bei der Docker-Sicherheit. Docker erstellt pauschal eine Rechteausweitung, indem neue Container stets mit einem Root-Prozess gestartet werden. Dadurch könnte Malware auf dem Host Root- oder Administratorrechte erlangen und so die gesamte Umgebung gefährden. Mit rkt werden neue Container dagegen nicht als Root-Prozess gestartet, wodurch das Sicherheitsrisiko wesentlich geringer ausfällt. CoreOS rkt ist sozusagen standardmäßig bereits abgesichert, während mit Docker zusätzliche Schritte nötig sind, um die Plattform sicher zu machen. Der offene Katalog an Container-Images kann bei Docker zudem dazu führen, dass Unternehmen mit Malware verseuchte Apps beziehen und nutzen.

Bei der Nutzung von rkt-Containern setzt CoreOS auf die eigene Linux-Distribution gleichen Namens sowie auf die Container-Orchestrierung mit Kubernetes. CoreOS Linux ist eine leichtgewichtige Linux-Distribution, die für das Container-Hosting optimiert wurde. Es gibt an sich keine Möglichkeit, CoreOS Linux für andere Zwecke einzusetzen oder andere Funktionen zu integrieren. CoreOS rkt reduziert so die Notwendigkeit für Änderungen an Betriebssystem und Middleware, genauso wie das Risiko von Kompatibilitätsproblemen. CoreOS Pods stellen dabei eine Version der Pods in Kubernetes dar, was das Entwickeln einer einheitlichen Container- und Clustering-Strategie einfacher macht.

LXD als Alternative zu Docker und CoreOS rkt

LXD ist eine Docker-Alternative für Canonicals Linux-Distribution Ubuntu. Der große Vorteil von LXD ist die Einfachheit. Bei LXD handelt es sich um einen Container-Hypervisor, der kein App-Delivery-Framework enthält, wie dies bei Docker oder CoreOS rkt der Fall ist. Damit ist LXD auch wesentlich einfacher in Virtualisierungsplattformen wie OpenStack oder in DevOps-Tools wie Chef oder Ansible zu integrieren. LXD ist dabei im Grunde eine funktionale Erweiterung des LXC-Projekts für Container-Infrastruktur.

LXD bietet grundsätzliche Plattformfunktionen wie Snapshots oder Live-Migration, was Docker und CoreOS rkt weniger elegant über externes Container-Hosting erledigen. Auch LXD setzt, wie auch rkt, auf unprivilegierte Container-Bereitstellungen und bietet damit ähnliche Vorteile bei Sicherheit und Betrieb wie der CoreOS-Weg.

LXD stellt gewissermaßen einen Mittelweg zwischen Containern und virtuellen Maschinen dar, indem Container als komplette Maschinen-Images bereitgestellt werden. Der App-Kontext wird bei dieser Bereitstellungsmethode komplett außen vor gelassen. Anders ausgedrückt ist LXD damit aber auch keine Container-Plattform für Einsteiger.

LXD-Anwender müssen dieses Low-Level-Tool nämlich zunächst in ihr High-Level-Framework zur App-Bereitstellung integrieren, um Container bereitstellen und darauf aufbauend Anwendungen ausrollen zu können. Wer allerdings bereits über ein entsprechendes Framework verfügt, beispielsweise mit virtuellen Maschinen, der sollte allerdings durchaus einen Blick auf LXD-Container werfen. Andernfalls wird man zunächst einigen Aufwand betreiben müssen, um die Vorteile von LXD realisieren zu können.

OCI-Standards für mehr Portabilität

Sowohl Docker als auch CoreOS haben beide Elemente ihrer Technologie an die Open Container Initiative (OCI) weitergegeben, auch wenn beide Unternehmen nicht mit ihrer gesamten Plattform beigetragen haben. Das Ziel der OCI-Spezifikation ist es aber auch nicht, ein einziges Standard-Modell für Container zu etablieren. Durch die kürzlich fertiggestellte OCI-Spezifikation in Version 1.0 wird die Migration zwischen unterschiedlichen Container-Plattformen aber zukünftig wesentlich einfacher werden.

Die richtige Container-Plattform wählen

Container sollten immer nur als eine Komponente einer umfangreichen App-Delivery-Strategie angesehen werden. Die Wahl der tatsächlichen Container-Plattform hängt schließlich von der spezifischen Strategie der IT-Abteilung ab, vor allem was Deployment, IT-Sicherheit, Betrieb und App-Performance-Management betrifft. Hierfür ist es wichtig zu verstehen, wie Container-Tools wie Docker, CoreOS rkt oder auch LXD in die jeweilige Strategie passen und welche zusätzlichen Tools notwendig wären.

Ausgehend von diesem Überblick über mögliche Docker-Alternativen sollte klar sein, dass jede Überlegung über Container-Plattformen damit beginnen sollte sich zu überlegen, warum gerade nicht Docker verwendet werden soll. Docker ist immerhin die populärste Container-Architektur, sehr einfach bereitzustellen und zu verwalten und wird auch kontinuierlich weiterentwickelt, um genau die Problemfelder zu verbessern, in denen die Docker-Alternativen derzeit noch besser sind.

Der entscheidende Faktor bei der Wahl zwischen rkt und LXD gegenüber Docker ist die Frage, ob bereits ein fortgeschrittenes App-Delivery-Framework und Erfahrung im Umgang damit vorhanden ist. Es ist durchaus wahrscheinlich, dass sich Docker-Alternativen einfacher in dieses Framework integrieren lassen. CoreOS bietet sich hierbei vor allem für fortgeschrittene IT-Abteilungen an, LXD eher für Experten mit wirklich tiefgehender Erfahrung.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Erfahren Sie mehr über Cloud Computing

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close