Mit der Freigabe der Version 1.0 erreicht das Docker-Projekt einen wichtigen Umschlagplatz. Neben der Enterprise-Reife und technischen Verbesserungen steht jetzt auch die Unterstützung durch große Firmen in den Frachtpapieren. Mit im Boot ist Red Hat.
Produktionsreife — das habe Docker mit der ersten Major Release 1.0 erreicht, meldet das Projekt stolz [1]. Das umfangreiche API habe man stabilisiert, die Software ließe sich deshalb fortan auch in Enterprise-Produkten einsetzen.
Den im Unternehmensumfeld zwingend notwendigen Enterprise-Support sowie Schulungen und professionelle Dienstleistungen bietet Docker Inc. [2] an. Red Hat ist mit dem Project Atomic [3] dabei, eine Plattform für die Orchestrierung und den Betrieb von Containern zu entwickeln, die mit allen gängigen Cloudprodukten zusammenspielt. Docker mausere sich damit zu einem wichtigen Tool in der Devops-Toolchain, betonen die Strategen des Distributors.
Project Atomic
Dabei glänzt das atomare Projekt durch Vielseitigkeit: Mit Ostree, Geard und Cockpit bietet Atomic moderne Tools für Betriebssystem-Aktualisierungen, die Orchestrierung von Applikationen und deren Steuerung inklusive Monitoring. Und nicht zuletzt bringt Atomic auch Unterstützung von SE Linux, was eine noch bessere Abschottung der Container untereinander ermöglicht.
Geht es nach den roten Hüten, dann wird Project Atomic einer der Grundpfeiler für das Platform-as-a-Service-Angebot Open Shift Origin werden. Daneben ist Docker für RHEL ab Version 6.5 via Fedora EPEL verfügbar und in RHEL 7 direkt integriert (Abbildung 1). Auch Suse wird Docker in Version 12 ihrer Enterprise Distribution unterstützen, in Ubuntu ist Docker seit Version 14.04 fester Bestandteil.
Erweiterungen: Libcontainer und Libchan
Eine weitere interessante Entwicklung im Docker-Universum ist unter anderem die von Docker Inc. kürzlich veröffentlichte Universalbibliothek Libcontainer [4]. Unternehmen wie Red Hat, Google, Canonical und Parallels treiben die Entwicklung eines standardisierten Zugriffs auf Applikationscontainer voran.
Die Library Libchan ermöglicht eine leichtgewichtige Kommunikation zwischen Prozessteilen und Prozessen auf Basis verschiedenster Transporte wie SPDY, Websockets, purem TCP oder Unix-Sockets – was das Entwickeln verteilter Applikationen stark vereinfachen soll.
Jenkins, Open Stack, Shipper, Serf
Aber auch viele andere Werkzeuge haben die Docker-Entwickler entweder erstmals integriert oder aber ganz neu programmiert. So unterstützt jetzt auch Open Stack Nova die Docker-Container. Die Continuous-Integration-Plattform Jenkins kann via Plugins den Build einer Software ohne Weiteres in einem Docker-Container starten, was den Overhead im Vergleich zur traditionellen Virtualisierung drastisch reduziert.
Im Bereich der Service-Orchestrierung hat der Admin mit den Projekten Shipper, Geard, Apache Mesos, Serf/Consul, Centurion und Fleet eine große Auswahl. Die Werkzeuge besitzen einen unterschiedlichen Reifegrad und sind leider zumeist untereinander inkompatibel. Docker Inc. möchte dem hier zu Recht gefürchteten Vendor-Lockin mit »libswarm« entgegentreten, womit sich eine Abstraktionsschicht zwischen diese Services einschieben lässt. Das soll helfen, Orchestrierungsdienste mit den ausführenden Plattformen (Google App Engine, Rackspace, Orchard) wie in einem Baukasten zu verbinden.
Mesos, Geard und Kollegen
Das wird sehr bedeutsam, wenn Admins zwar die Hauptfunktionalität von etwa Apache Mesos, aber nur einen kleinen Teil von Atomic/Geard nutzen möchten. Bereits heute verwenden Admins Docker für eine Vielzahl von Szenarien – das Spektrum reicht vom Test einer einzelnen Software über die Bereitstellung mehrerer miteinander verknüpfter Dienste bis zur Grundlage für eine Platform-as-a-Service-Anwendung und die Integration in komplexe Devops-Strukturen.
Gerade im Vergleich mit der klassischen Hardwarevirtualisierung spart sich der Admin viele Ressourcen, immer mehr wird es zum Standard, jeden Dienst – wenn möglich – in Container zu packen, da sich diese sehr einfach von Maschine zu Maschine übertragen lassen. So ist es ein Leichtes, eine Anwendung, die beispielsweise nur für eine bestimmte Distribution freigegeben ist, auf einer anderen laufen zu lassen. Mit der Veröffentlichung von RHEL 7 [5] hat Docker außerdem Einzug in die Welt des Enterprise-Linux gehalten.
Chefsache bei Red Hat
Die Bedeutung, die die roten Hüte der Docker-Komponente beimessen, zeigt sich in aktuellen Vorträgen wie der Red-Hat-Keynote auf der Dockercon (Video auf der DVD), aber auch in Präsentationen wie der von Lars Herrmann, die der Senior Director Product and Business Strategy (Abbildung 3) auf dem Münchner Red Hat Forum im Juli 2014 hielt. Die Abbildung 1 lässt erkennen, wie selbstverständlich Docker unter den anderen Deployment- und Cloud-Tools residiert.
Im Gespräch mit dem Linux-Magazin loben Hermann wie auch sein Kollege Brian Cornell (Vizepräsident und General Manager für Central Europe, Abbildung 4) die “leichtgewichtige, skalierbare, separierbare und sicherere” Architektur, die Containerlösungen à la Docker anderen Setups voraus hätten.
Seamless IT, also das jederzeitige, Ressourcen-schonende Umziehen von Diensten, so wie es eben auch Devops-Szenarien verlangen, werde durch Lösungen wie Docker und die Integration in (natürlich Red Hats) Produkte erst so richtig Enterprise-tauglich. “Das Zusammenstöpseln reicht nicht mehr”, so Cornell, und Hermann betont, wie viel weniger Datenmengen beispielsweise beim Umzug eines Containers verschoben werden müssen.
Leichtgewicht
Wo früher GByte-große Images kopiert oder verschoben, schlimmstenfalls übers Netz transferiert werden mussten, brauchen Admins jetzt nur die schlanken Containerbeschreibungen samt Applikationsdaten zu verschieben – und selbst das nur im schlimmsten Fall. Das spart Zeit, I/O-Last und Geld, alles Ressourcen, die im Devops-Umfeld dann für besseres Testen zur Verfügung stünden.
Die Red-Hat-Manager nennen das “App Mobility”, loben die Portabilität zwischen den Virtualisierungstools und beschwören die Einsparungen, die mit der Lösung möglich sind. Deutlich weniger Wartung und Patchen, weil in einem Container ja nur die minimal notwendigen Dateien, Programme und Bibliotheken enthalten seien. Das, so Hermann, ermögliche auch aus Sicherheitsgesichtspunkten ganz neue Ansprüche, Stichwort KIS (“Keep it Simple”).
Docker erscheint im Devops-Bereich fast wie ein Allheilmittel, wenn man Red Hat glaubt: “Prozesse lassen sich beschleunigen, Verantwortung besser separieren und am Ende eben auch das Qualitätsmanagement verbessern.” Dass all dies gerade jetzt aufs Tableau komme, sei zum einen der erhöhten Security Awareness der vergangenen Monate geschuldet, aber auch der Entwicklung, dass IT immer mehr Chefsache und Kerngeschäft in Unternehmen werde.
Raus aus dem Keller
“Das Innovation Center IT kommt raus aus dem Keller in die Chefetage, Firmen werden an ihrer IT-Kompetenz gemessen”, pflichtet auch Cornell bei. “Das Thema bei unseren Kunden ist nicht mehr die Technologie, sondern die Qualität des Service. Und da spielt das Stichwort ,Seamless’ eben eine ganz wichtige Rolle.” Das lässt sich eben mit Tools wie Docker deutlich leichter erreichen als mit der schwergewichtigen Virtualisierung, die allen Legacy-Altlasten zum Trotz heute noch die Clouds in Unternehmen bereitstellt.
Wie das im Detail funktionieren kann, zeigt ein Artikel in der Sysadmin-Rubrik dieser Linux-Magazin-Ausgabe. Er beschreibt, wie sich ein Dienst wie Owncloud auf Basis von Apache und MySQL, die jeweils in verschiedenen, voneinander abgeschirmten Containern ausgeführt werden, implementieren lässt.
Infos
- Docker: http://docker.io
- Docker Inc: https://www.docker.com
- Project Atomic: http://www.projectatomic.io
- Libcontainer: https://github.com/docker/libcontainer
- Docker in RHEL 7: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/chap-Red_Hat_Enterprise_Linux-7.0_Release_Notes-Linux_Containers_with_Docker_Format.html









