Zweitag auf der dockercon|eu14
Außerdem propagiert Docker die Nutzung eines Black-Box-Ansatzes, bei dem sich Container nur durch ihre Schnittstellen definieren lassen. Zu diesen zählen unter anderem die verwendeten Ports und Verzeichnisse, die nach außen sichtbar sein sollen bzw. verwendet werden können.
Wer sich mit der Problematik befasst, wird schnell zum Schluss kommen, dass Docker und die damit verknüpften Technologien die Zukunft der Anwendungsentwicklung maßgeblich prägen werden. Zudem wird das Konzept der Containerisierung die Agilität sowohl in der Entwicklung als auch im Deployment drastisch verändern. Auch bei Zweitag setzen wir Docker bereits in der Entwicklung ein.
Mit der dockercon14|eu fand vom 4. bis 5.12. erstmalig eine Konferenz innerhalb Europas statt, nachdem die dockercon14 in San Francisco bereits im Sommer auf weltweite Resonanz gestoßen war. Als Austragungsort wurde das Nemo Science Center in Amsterdam gewählt. Eine ausgesprochen passende Wahl, denn sowohl von seiner Wal-artigen Gebäudeform als auch wegen seiner bunten Apparaturen, die Wissenschaftsexperimente näher bringen sollen, passte das Ambiente zu einer Technologie, die derzeit sehr im Fluss ist, und mit der in alle möglichen Richtungen experimentiert wird.
Case studies
Nach der Eröffnung durch CEO Ben Golub und CTO Solomon Hykes von Docker Inc., die die rasante Entwicklung von Docker innerhalb von knapp 1,5 Jahren rekapitulierten, gab es eine Reihe von Vorträgen mit Fallstudien. Große Unternehmen wie ING haben demnach ihre Entwicklungsprozesse und teilweise sogar ihre Firmenphilosophie drastisch verändert, um mit Hilfe von Docker ihre heterogenen Anwendungsarchitekturen, die über viele Jahre gewachsen sind, unkompliziert und agil durch den Einsatz neuer Technologien ersetzen zu können.
Microservices
Eines der Schlagwörter, welche immer wieder zu hören waren, ist Microservices. In seinem Vortrag „State of the Art in Microservices“ verglich beispielsweise Adrian Cockcroft, ehemals leitender „Cloud Architect“ bei Netflix, die Anwendungsarchitekturen von Internet-Größen wie Facebook und Twitter. Außerdem zeigte er Möglichkeiten auf, wie Docker und darauf aufbauende Orchestrierungslösungen die Nutzung solcher Architekturen weiter vereinfachen können.
##Continuous Delivery
Ein weiteres großes Thema war Continuous Delivery. Rafe Colton demonstrierte, wie Docker bei ModCloth genutzt wird, um eine Continuous Delivery Pipeline zu etablieren. Dieser Ansatz ermöglicht es, ausgehend von der Entwicklung auf dem Rechner des Entwicklers, über das automatische Testing auf dem Continuous Integration Server und das anschließende Ausliefern auf dem Production Server ein und dasselbe Container-Image mehr oder weniger unverändert zu verwenden. Da somit kaum Unterschiede zwischen Entwicklungs- und Produktivsystem bestehen, kommt es zu weniger Regressionen im Produktivbetrieb. Außerdem wird das Server-Setup stark vereinfacht und benötigt deutlich weniger Arbeit durch Ops-Engineers d.h. in Server-Administration geschulte Entwickler. Die Nutzung einer Docker Registry zur zentralen Speicherung der eigenen Container Images ist hierbei von zentraler Bedeutung.
Der Höhepunkt fand gegen Ende des ersten Tages auf der Keynote statt. In einer Reihe von kurzen Vorträgen wurden die neuen Projekte Compose, Machine und Swarm vorgestellt.
Compose integriert die Funktionalität des populären Tools fig in den Docker-Client. Da fig insbesondere zur Nutzung von Docker für Entwicklungsumgebungen für viele unverzichtbar geworden ist, war dieser Schritt absolut naheliegend und geradezu unerlässlich.
Während Machine es ermöglicht, eine virtuelle Maschine mithilfe eines Kommandozeilen-Tools binnen Sekunden sowohl auf einem Entwicklungsrechner als auch bei Cloud Providern wie Digital Ocean zu erstellen, kann mit Swarm eine Farm von Docker-Hostsystemen verwaltet und einzelne Container unter Berücksichtigung der zur Verfügung stehenden Ressourcen auf den passenden Servern ausgeliefert werden.
Alle drei Tools sind bereits nutzbar, befinden sich jedoch noch in der Entwicklung. Mit der Einführung dieser zusätzlichen Tools ermöglicht Docker nun die Orchestrierung größerer Mengen von Containern, einer Funktion, die bisher separaten Projekten wie Mesos oder Kubernetes überlassen wurde. Dies passt zur von Solomon Hykes formulierten Zielsetzung „batteries included“: Der 80%-Fall soll durch die mitgelieferten Tools abgedeckt werden, während bei komplexeren Anforderungen diese Funktionalitäten durch separate Projekte ersetzt werden können.
Afterparty am ersten Tag
Zum Ausklang des ersten Tages wurde zur Afterparty in die Skylounge des Hilton Doubletree geladen. Neben der beeindruckenden Aussicht auf die Amsterdamer Altstadt gab es kühle Drinks und das eine oder andere interessante Gespräch insbesondere mit Entwicklern, die auch im Operations-Bereich, d.h. der Server- und Netzwerk-Administration, zu Hause sind.
Keynote zur Projekt-Governance
Der zweite Tag der dockercon begann mit einer weiteren Keynote von CTO Solomon Hykes, in der er auf die Projektorganisation einging. Docker ist eines der Open-Source-Projekte mit der größten Zahl an Entwicklern )> 700). Obwohl es Open Source ist, wird es maßgeblich von der Docker Inc. vorangetrieben. Eines der Versprechen ist jedoch, die Weiterentwicklung unabhängig von einzelnen Firmeninteressen zu halten und stattdessen Nutzer und Entwickler-Community die Zukunft bestimmen zu lassen.
In diesem Zusammenhang stellte Hykes die aktuelle Projektorganisation vor, nach der es eine Reihe von Maintainern für die einzelnen Subprojekte gibt. Diese nehmen die Änderungsvorschläge in Form von Pull Requests durch die Community entgegen. Einen letztlichen Einspruch, ob eine Änderung übernommen wird, kann der BDFL (Benevolent Dictator for Life) erheben. Dabei handelt es sich um Hykes selbst, der somit globalen Fehlentwicklungen im Projekt entgegen wirken kann.
Zusätzlich wird das Projekt von einen Advisory Board beraten, welches mit verschiedenen Mitarbeitern aus Firmen besetzt ist, die maßgeblich an der Entwicklung von Docker beteiligt sind. Hykes betonte, dass die Docker Inc. selbst ebenfalls nur eine beratende Funktion einnimmt und somit zumindest keine direkte Möglichkeit der kommerziellen Einflussnahme besitzt.
Es war interessant zu sehen, wie ein Open-Source-Projekt dieser Größe und mit so vielen, auch kommerziellen, Interessentengruppen eine Balance findet, um eine Weiterentwicklung gewährleisten zu können, die die Interessen aller Nutzer berücksichtigt. In dieser Hinsicht wird mit dem Docker-Projekt Neuland betreten, da sich bisher (bis auf den Linux-Kernel) kein Open-Source-Projekt in einer solchen Situation befand. Dazu passend auch der Leitsatz von Hykes: “The real value of Docker is not technology. It's getting people to agree on something.”
##Breakout Sessions
Am zweiten Tag wurden außerdem die neuen Tools und Projekte, sowie das Projekt Trust and Image Governance, in separaten Breakout Sessions im Detail vorgestellt. In einer Birds of Feather Session konnte man mit dem jeweiligen Hauptentwickler direkt über die neuen Features sprechen.
Weitere Vorträge
In weiteren Vorträgen wurden IaaS-Projekte (Infrastructure as a Service) wie Mesos oder Clocker vorgestellt, auf denen Docker als Deployment-Lösung für Anwendungen nahtlos integriert wird bzw. werden soll. Außerdem wurde die Docker Enterprise Registry vorgestellt, die es als On-Premise-Lösung Firmen ermöglichen soll, ihre Container-Images innerhalb ihrer eigenen Firewall zu speichern und zu verwalten.
Hackathon
Nach den zwei Konferenztagen fand am Samstag ein eintägiger Hackathon statt, bei dem die Teilnehmer aufgerufen waren, eine spannende Anwendung oder Erweiterung auf Basis von Docker zu entwickeln. Pluspunkte gab es sowohl für neuartige Ideen als auch für Lösungen, die sich möglichst nahtlos in bestehende Tools integrieren lassen. Interessant war der Hackathon insbesondere, weil man am runden Tisch sowohl mit den Kern-Entwicklern von Docker ins Gespräch kommen als auch deren Meinung und Expertise kennenlernen konnte.
##Fazit
Die Konferenz bot insbesondere durch die Ankündigung der neuen Tools und Services, die das florierende Docker-Ökosystem weiter bereichern, Einblick in die spannende Entwicklung. Viele Vorträge, bei denen Anwendungsfälle aus Unternehmen vorgestellt wurden, blieben, wohl auch auf Grund der Komplexität des Themas, sehr an der Oberfläche, so dass man hier außer ein wenig Unternehmenswerbung nicht viel mitnehmen konnte.
Am interessantesten waren die Gespräche mit den Docker-Entwicklern und anderen Konferenzbesuchern abseits der Vorträge. Dort bot sich die Möglichkeit, Erfahrungen aus erster Hand auszutauschen und direkte Meinungen zu den neuen Technologien zu bekommen.