Happy Docker Day!

Docker feiert seinen fünften Geburtstag: Ein guter Augenblick, um die Entwicklung der Anwendungsvirtualisierung Revue passieren zu lassen – und einen Ausblick in die Zukunft zu wagen.

In Pocket speichern vorlesen Druckansicht 50 Kommentare lesen
Happy Docker Day!

(Bild: Pixabay / CC0 Creative Commons / Docker, Inc.)

Lesezeit: 5 Min.
Von
  • Björn Bohn
  • Matthias Parbel

Docker, Docker, Docker. Es vergeht kaum ein Tag, an dem nicht über Neuigkeiten in der Docker-Welt berichtet wird. Selten schlägt eine Technik solche Wellen wie der freundlich blickende Wal. Dabei ist Docker noch relativ jung: Seit Solomon Hykes die Container-Technologie auf der PyCon 2013 vorgestellt hat, sind gerade erst fünf Jahre vergangen.

Die Idee, Prozesse in abgeschlossenen Containern ablaufen zu lassen, ist schon deutlich älter als Docker. Solaris Zones oder FreeBSD Jails haben allerdings nie einen ähnlichen Hype erreicht. Das mag an einem stärkeren Fokus auf Entwickler liegen, an einer höheren Benutzerfreundlichkeit – oder vielleicht auch einfach nur an einem schöneren Logo.

Docker feiert 5. Geburtstag

(Bild: Docker)

Letztlich leitet sich die Containerisierung unmittelbar von der Jahrzehnte alten Virtualisierungstechnik ab, verfolgt aber einen deutlich schlankeren Ansatz. Im Gegensatz zu einer kompletten Virtual Machine (VM) verzichtet der Docker-Container auf Ballast wie ein eigenes Betriebssystem mit eigenem Kernel und Treibern. Stattdessen bündelt der Container lediglich eine Anwendung inklusive ihrer Abhängigkeiten und der Konfiguration. Docker begründete damit die sogenannte Applikationsvirtualisierung.

Wichtiger für den Erfolg von Docker war aber sicherlich der Zeitpunkt. Das Docker-Modell war zur richtigen Zeit am richtigen Ort. Denn Softwarearchitekturmodelle wie Continuous Delivery (CD), Continuous Integration (CI) und der generelle Trend hin zu Microservices profitieren stark von den Möglichkeiten, die Docker mit der Containerisierung bietet. Anwendungen können in definierten, wiederverwendbaren Containern verpackt und anschließend verteilt werden.

Docker greift dabei auf die vom Linux-Kernel bekannten Funktionen zur Isolierung von Anwendungen zurück. Die in den Containern stattfindenden Prozesse laufen weitgehend isoliert voneinander ab, sie teilen sich lediglich die Kernel-Ressourcen des Host. Ohne den massiven Overhead einer VM lassen sich die Docker-Container zudem sehr schnell starten und benötigen im Vergleich zu einer VM auch nur einen Bruchteil der Ressourcen. Mit allen diesen Vorzügen hat Docker die Softwareentwicklung, die Installation und Roll-outs von Anwendungen bis hin zu den kontinuierlichen Upgrades beflügelt.

Der Hype um die Containertechnologie scheint daher nicht enden zu wollen. Nahezu jede namhafte IT-Firma macht heute "irgendwas mit Docker" und bietet unterschiedliche Werkzeuge und Dienstleistungen an. Das Ökosystem rund um Docker ist gigantisch, ein kaum zu durchblickender Dschungel. Fast für jeden Anwendungsfall hat irgendwer schon das passende Werkzeug parat – man muss es eben nur finden. Vielfalt sagen die einen, Unübersichtlichkeit die anderen.

Docker: In 5 Jahren zum Quasi-Standard in der Anwendungsvirtualisierung

(Bild: Docker)

Genauso schnelllebig wie das Ökosystem ist auch die Entwicklung von Docker selbst. Erst im vergangenen Jahr hat Docker das Projekt Moby gestartet und sorgte damit zunächst für große Verwirrung hinsichtlich der strategischen Ausrichtung der Containerisierungstechnik. Die Erfinder von Docker mussten daraufhin klarstellen, dass sie mit Moby lediglich den monolithischen Ansatz des Docker-Repository hinter sich lassen wollen, und Open-Source-Kollaborationen nach Moby verschieben wollen. Sie traten damit außerdem wachsenden Befürchtungen entgegen, Docker könne im Container-Ökosystem eine Monopolstellung einnehmen, die Anwender mit der Gefahr eines Vendor-Lock-in bedrohe.

Allerdings muss auch Docker sich an anderen Stellen den Gegebenheiten fügen. Wenn allgemein in der Softwareentwicklung kein Weg mehr an Containern vorbeiführt, dann führt in puncto Orchestrierung eben kein Weg mehr an Kubernetes vorbei. Docker, Inc. hat zwar lange Zeit versucht, mit dem hauseigenen Docker Swarm eine Alternative anzubieten, musste sich aber Ende letzten Jahres doch beugen. Die Orchestrierung mit Kubernetes ist jetzt sogar fest in Docker integriert. Docker Swarm existiert zwar noch und kann parallel dazu eingesetzt werden, Kubernetes hat aber insgesamt die Nase vorn – vor allem auch weil sich das Tool als Ablaufumgebung für Microservices einen festen Platz erobert hat.

Docker wird zwar erst fünf Jahre alt, erwachsen geworden ist es aber schon lange. Docker ist für viele Entwickler interessant, Unternehmen haben sich auf das Arbeiten mit Containern spezialisiert und verdienen Geld damit. Aber auch kritische Stimmen sind hörbar. Docker gibt es noch nicht allzu lange, der "Tod von Docker" beziehungsweise der Firma Docker, Inc. wird trotzdem mit einer gewissen Regelmäßigkeit heraufbeschworen. Bisher scheinen die Prognosen allerdings übertrieben. Docker ist sicherlich kein Allheilmittel, das jedes Problem in der Softwareentwicklung lösen kann – aber das muss es auch nicht. Docker ist eben genau wie zahlreiche andere Projekte ein Werkzeug, dass Entwicklern in vielerlei Hinsicht von Nutzen sein kann. Deshalb heißt es heute: Alles Gute zum Geburtstag, Docker! (map)