App-Container: 5 professionelle Docker-Alternativen im Überblick
Docker ist eine innovative Container-Technologie, die derzeit für viel Wirbel auf dem IT-Markt sorgt. Diese ermöglicht es Entwicklern und Systemadministratoren, Applikationen gebündelt in sogenannten Containern auf verschiedene Plattformen professionell zu deployen. Das System nutzt hierzu die Eigenschaften des Linux-Kernels. Dabei werden Ressourcen wie Speicher, Prozessor oder Netzwerk voneinander isoliert. Dadurch lassen sich Anwendungen vollständig von der jeweiligen Umgebung inklusive der Prozesse, Dateisysteme oder des Netzwerks trennen und autonom betreiben. Der Vorteil: Im Vergleich zu traditionellen virtuellen Maschinen sind Docker-Container wesentlich kleiner, sparsamer im Umgang mit Ressourcen und lassen sich schneller starten.
Docker ist inzwischen jedoch weit mehr als nur eine Plattform für das Applikations-Deployment innerhalb von virtualisierten Containern. Inzwischen ist rund um das 2010 gegründete Startup ein umfassendes Ökosystem aus Tools und Lösungen entstanden, die Docker ergänzen und erweitern. So lässt sich die Software zum Beispiel über Schnittstellen in alle führenden Infrastruktur-Umgebungen integrieren, darunter Amazon Web Services, Microsoft Azure, Google Cloud Platform und IBM Bluemix, um nur ein paar Beispiele zu nennen. Nach dem beachtlichen Erfolg von Docker sind aber auch einige interessante Alternativen auf den Markt gekommen, die dem Marktführer nun den Kampf ansagen. Im Folgenden stellen wir fünf Docker-Alternativen vor, die Entwickler und Sysadmins kennen sollten.
Rocket
CoreOS, ein Startup aus dem Sillicon Valley, das ein auf die Ausführung von Linux-Containern spezialisiertes Betriebssystem entwickelte, war nach eigenen Aussagen mit der mangelnden Sicherheit und Austauschbarkeit von Docker-Komponenten unzufrieden. Aus diesem Grund habe sich das Unternehmen dafür entschieden, eine eigene Container-Laufzeitumgebung zu entwickeln: Rocket (oder kurz „rkt”). Wie Docker handelt es sich dabei um ein Kommandozeilenprogramm, das vorgefertigte Container starten, stoppen und verwalten kann. Das primäre Container-Format für Rocket ist die App-Container-Spezifikation (APPC), die nun als unabhängiger Standard gilt. Rocket kann aber auch Docker-Images direkt ausführen. Die Rocket-Macher heben besonders die Berücksichtigung von Sicherheitsaspekten hervor, die beim Konkurrenten Docker häufig kritisiert werden. So werden Rocket-Container etwa mit Hilfe des KVM-Hypervisors komplett voneinander getrennt. Weitere Maßnahmen zur Absicherung von Containern sind SELinux-Support, Unterstützung für das Trusted Platform Module (TPM), sowie die Validierung von Container-Images durch kryptografische Signaturen.
LXD
Mit LXD bietet Canonical, der Open-Source-Softwarehersteller, der hinter der populären Linux-Distribution Ubuntu steht, eine innovative Container-Lösung, die Docker nicht nur ergänzen, sondern auch ersetzen kann. LXD stellt eine Weiterentwicklung der in der Praxis bewährten Container-Technologie LXS und verfolgt einen besonderen Lösungsansatz. Anders als bei Docker, beschränkt sich LXD nicht auf die Bereitstellung von Anwendungen, sondern ermöglicht auch den Betrieb von Linux-Betriebssystemen. Mit diesen „Machine Containers” verspricht Canonical das Beste aus zwei Welten: Die gewohnte Erfahrung mit klassischen virtuellen Maschinen und die Performance und einfache Handhabung von App-Container wie Docker. Dabei lassen sich die verschiedenen Container-Typen gemeinsam betreiben. So kann man etwa einen App-Container innerhalb einer LXD-Maschine problemlos betreiben. Neben der zentralen Programmbibliothek beinhaltet LXD eine Vielzahl an APIs für Programmiersprachen wie Go oder Python, Containervorlagen, sowie leistungsfähige Werkzeuge für Profis.
Flockport
Mit Flockport präsentiert sich eine neue Container-Lösung, die ebenfalls auf Basis von LXC arbeitet. Das Tool ist auf eine möglichst einfache Bedienung und Portabilität von Anwendungen ausgelegt. Der Flockport Installer vereinfacht die Installation einer LXC-Umgebung und unterstützt populäre Linux-Distributionen wie Debian, Ubuntu und Fedora. Neben den LXC-Tools, mit denen man eigene Container erstellen und verwalten kann, werden dabei zusätzliche Flockport-Werkzeuge installiert. Diese dienen dazu, Container aus dem unternehmenseigenen App-Store herunterzuladen und lokal betreiben zu können. In dem Store werden zahlreiche populäre Software-Anwendungen als Container-Apps bereitgestellt. Hierzu zählen unter anderem CMS-Lösungen wie WordPress, Drupal und TYPO3, Datenbankserver wie MySQL und PostgreSQL, sowie Projektmanagement-Apps wie GitLab und Redmine.
Windocks
Inzwischen lässt sich Docker nicht nur auf Linux-Systemen, sondern auch auf Windows Servern (in der Version 2016) nativ einsetzen. Microsoft hat dieses Feature gerade vor ein paar Monaten veröffentlicht. Mit Windocks steht eine Docker-Portierung für Windows zur Verfügung, die schon länger auf dem Markt erhältlich ist und nach wie vor als eine empfehlenswerte Docker-Alternative gilt. Zum einen ist das Programm nicht nur mit Windows Server 2016 kompatibel, sondern auch mit Windows Server 2012, Windows 8 und Windows 10. Der entscheidende Vorteil besteht jedoch darin, dass man mit Windocks nicht nur App-Container (für .Net-Anwendungen), sondern auch Data-Container für SQL-Server erstellen und verwalten kann. Diese Option bieten die Redmonder, die eng mit den Docker-Entwicklern zusammenarbeiten, (noch) nicht. Windocks ist in der Community-Edition kostenlos verfügbar. Unternehmen, die das volle Potenzial der Lösung ausschöpfen möchten, können auf kostenpflichtige Enterprise-Pläne zurückgreifen. Kostenpunkt: Ab 99 Dollar pro Monat.
Boxfuse
Streng genommen ist Boxfuse eigentlich keine reine Container-Lösung wie beispielsweise Docker und LXD. Doch in der Praxis konkurriert das in München entwickelte System direkt mit diesen Lösungen. Denn mit Boxfuse lassen sich Server-Anwendungen schnell und unkompliziert in die führende Cloud-Plattform von Amazon (AWS) deployen. Dabei wird eine komplette AMI (Amazon Machine Instance) mit einem minimalistischen Betriebssystem und der eigenen Business-Anwendung „on the fly” generiert und auf der AWS-Infrastruktur automatisiert installiert und gestartet. Das Stichwort lautet: „Immutable Infrastructure”. Der zertifizierte AWS-Partner bietet dabei Unterstützung für Anwendungen, die in Java, Node.js oder Go geschrieben sind. Kostenpunkt: Ab 25 Dollar pro Monat.
Mehr zum Thema Docker und Container:
- Docker-Hosting: 10 Anbieter im Überblick
- Docker: Was du über die Container-Technologie wissen musst
- Docker und mehr: Was zur Hölle sind eigentlich Container?