Christian Lindecke

Docker, Container-Infrastrukturen und die IT im Wandel

Skalierbare Container-Infrastrukturen
Das Handbuch für Administratoren, von Oliver Liebel, 1071 Seiten, 2017, gebunden, ISBN 978-3-8362-4366-7

Wie es schon Bob Dylan in seinem Song „Don’t look back“ besang: Die Zeiten ändern sich. Und das tun sie, so oder so. Wir ändern uns, die Technik, die uns umgibt, ändert sich. Wir ändern uns mit ihr, durch sie, und umgekehrt.  Kein langes, pseudophilosophisches Geschwafel. Nur eine kurze, klare Erkenntnis, die jeden Menschen auf diesem Planeten, der wenigstens drei Murmeln im Hirn hat, irgendwann einmal erreichen sollte.

Und nun: Container

Mittlerweile ist der Hype bei jedem noch so kleinen (IT-)Unternehmen angekommen: Container – sie scheinen das neue Allheilmittel, der Voodoo zu sein, mit dem jede IT-Infrastruktur von Null auf Erfolg gepimpt werden kann. Aber dem ist nicht so.  Auch wenn die Containerisierung, die Umstellung auf Microservices, eine mit Sicherheit so große, wenn nicht sogar größere, Umstellung und Veränderung zu sein scheint, als vor etlichen Jahren die Einführung der Virtualisierung  .

Aber Container … Was soll der Mist? Alte Kamellen in neuen Kleidern?, fragte ich mich vor etwa drei Jahren.

Für mich, als altgedienter IT-Veteran, haben die Zeiten in „meinen“ Bereichen viel Veränderung gebracht: Verzeichnisdienste von links nach rechts in allen Variationen, immer intelligentere HA-Cluster, und Storage Cluster, aus denen Software Defined Storage wurde. Und nun: Container.

In den nun fast fünfundzwanzig Jahren, seitdem die IT in mein Leben getreten ist, gab es Veränderungen, wieder und wieder. Muss ja auch so sein.

Saubere Modellpflege, neue und gute Konzepte. Aber auch jede Menge Nonsens. Künstlich getriggerte Hypes um fragwürdige Produkte und Konzepte, die angeblich alles revolutionieren sollten. Hypes, die oft schnell genug wieder in der dunklen Versenkung verschwanden, aus der sie von praxisfremden Marketing-Strategen geworfen worden waren. Wo sie hingehörten.

Aber Container – nochmal ernsthaft: Was soll der Mist?, fragte ich mich wieder und wieder.

Gut abgehangene und schwer angestaubte IT-Konzepte, aufbereitet für ein paar schmerzfreie Entwickler, die sich hinter verschlossenen Türen verbissen durch unzählige Code-Zeilen einer Applikation kämpfen, bis der – nur für sie befreiende, und für alle anderen inhaltlich meist schwer Kopfschmerz erzeugende – „It Works for me!“(‚For me‘ ist der Kopfschmerz-Teil) Ur-Schrei durch die nächtlich verlassene Firma hallt?

(Docker) Container. So flexibel wie ein Backstein zu konfigurieren. Kein Init. Jede **-Änderung committen. Ein Service pro Container. Herum-gescripte wie in der Torvalds-/Stallmann-Steinzeit. Gott, gütiger… Wir haben Highend-VMs. Brauchen keine Container. Wieder ein überflüssiger, blöder Hype, und wieder eine neue Gelddruckmaschine für endlose Buzzword-Schlangen ausspuckende Beratungsfirmen und Hersteller.

Aber dann erinnerte ich mich an diese Borg-Geschichte.

An das Produkt, das mich mit seinen Fähigkeiten letztlich auf die dunkle Container-Seite gezogen hat. Ja, es ist ein Borg. Googles „Borg“. Googles alles assimilierende Allzweckwaffe, die die Steuerung etlicher Milliarden kleiner Helferlein für unsere täglichen Bedürfnisse schon längst zuverlässig und skalierbar befriedigt.

Maps, Drive & Co. Alles Containerisiert, Orchestriert .

Und Googles Borg ist längst in den Unternehmen angekommen, auch wenn sich sein Name geändert hat. Nun ist es Kubernetes, der „Helmsman“, der Steuermann, oder abgekürzt einfach: K8s’. Aber es ist immer noch ein Borg, war seine interne Codebezeichnung doch zuvor „Seven of Nine“.

Christian Lindecke
Container, Container, Container, CC BY-SA 3.0, Christian Lindecke

Und nun… Resistance is futile?

Ja.

Denn seine Fähigkeiten sind beeindruckend. Scale-Out. Load Balancing. Ressourcen-Limitierungen. Self-Healing. Rolling Upgrades. Und mehr.

Orchestrierer. Die mutierten Urenkel der Linux Cluster. Mit Turbo, Kompressor – und auf Steroiden. Ohne Borg und seine Nachkommen und Verwandten sind (Docker-) Container nichts – nur isolierte Inseln im Nirwana der Bits und Bytes, festgezurrt an einen dedizierten Host.

Borg. Kubernetes. DC/OS. Letztlich waren sie genau die Schraube, die mir, dem Mechaniker, noch in meinem Maschinenpuzzle rund um Container gefehlt hat. Sie haben den Container-Apparat aus meiner Sicht wirklich in Gang gesetzt, ihn effizient gemacht.

Denn Container allein sind nur ein Baustein im Microservice-Mikrokosmos. Orchestrierung schafft den Makrokosmos, den die Container und Microservices brauchen.  Auch Docker Inc. hat die Zeichen der Zeit erkannt, und versucht mit seinem Datacenter den zwingend erforderlichen Orchestrierungs-Anforderungen gerecht zu werden, aber der Abstand hinter K8s ist groß. Umso mehr, wenn Red Hats OpenShift noch involviert ist, in dessen Unterbau Kubernetes werkelt, und das sich in breiter Plattform mehr und mehr in den Firmen etabliert.

Und dann ist da noch DC/OS. Der Godzilla unter den Orchestrieren. Ein echtes Cluster-Betriebssystem, dessen Fußstapfen viel zu groß für diesen kleinen Blog-Exkurs sind.

Orchestrierung – Container sind nichts ohne sie.

Und diese Botschaft kommt nach und nach endlich auch in den Unternehmen und in den Gehirnen der Entscheider an. Gottseidank. Denn das (über-) hypte Thema „Docker“ ist in Produktivumgebungen nichts ohne eine vernünftige Orchestrierung „on Top“.  Und auch wenn Container-Umgebungen Großes verheißen – sie lösen nicht alle Probleme. Ohne sorgfältige Planung und Überlegung im Vorfeld können sie sogar das Gegenteil bewirken.

Aber die Einführung dieser völlig neuen, CI (Continuous Integration / CD (Continuous Delivery) basierten, containerisierten, „mikroservifizierten“ IT-Landschaften bringt auch noch etwas anderes mit sich.

Jeder, der sich länger als eine Handvoll Jahre in der IT bewegt, hat es längst gespürt, gemerkt, auf dem Radar. Auch ohne, dass etliche Artikel, Blogs und sonstige Ergüsse das Phänomen auf den Punkt bringen.

Beschleunigung. Die gefühlte, reale, manchmal aufregende, manchmal nur noch enervierende Beschleunigung der Lebensgeschwindigkeit. Und die IT-Welt, die sich ihr anpasst. Oder genau diese Beschleunigung erst erzeugt.

Ich persönlich sehe in jedem Fall Letzteres als Grund.

Die technische Evolution unterliegt in keinem Bereich einer so starken Beschleunigung wie in der IT. Und Container bzw. Microservices tragen diesem Phänomen Rechnung, potenzieren es. Sie beschleunigen die Entwicklung neuer Produkte, verkürzen Release-Zyklen, pushen das Entstehen neuer Features, und letztlich beschleunigen sie sogar ihre eigene Evolution. Dennoch – Entschleunigung und hier und da mal einen Schritt zurückzutreten, um ein Konstrukt als Ganzes zu betrachten, kann manchmal hilfreich sein.

Denke ich zurück, war es früher einfacher, und ich meine damit nicht das übliche, blöde Alte-Männer-Geschwafel nach dem Motto „Früher war alles besser.“ Nein. Ich meine konkret: Produktzyklen von mehreren Jahren, mit konsequenter Modellpflege.

Natürlich bedingt eine Umwälzung alter Standards auch etwas Neues – eine in diesem Fall völlig neue, sich selbst permanent und immer schneller neu gebärende IT-Struktur. Aber in einigen Teilen leider mit einem anscheinend fest verdrahteten und oft herzlich sinnfreien „Hey Boys, don’t fix it – let’s build something completely new“-Mantra.

Die Entwicklung schreitet durch die neuen Konzepte und Technologien im Container-Bereich immer schneller voran, auch wenn die Kernbaugruppen, um sie vereinfacht so zu nennen, nun mit sehr großer Wahrscheinlichkeit nicht mehr komplett um-designt werden. Aber wenn ich den „Don’t fix it …“-Satz noch einmal betrachte …

Wie auch immer – die Beschleunigung bleibt.

Und daher wird auch, zumindest momentan, jeder Blick auf das Thema Container und Orchestrierung nichts anderes als ein Standbild, eine Momentaufnahme sein.

Vielleicht habe ich mich dennoch dazu entschieden, die Welt der Container und Orchestrierung zu betreten, ihr in den Kaninchenbau zu folgen, weil die Technologie schlichtweg faszinierend ist. Weil sie der Start in eine komplett neue IT-Welt ist. Und vielleicht habe ich genau deswegen auch versucht, mit meiner aktuellsten Publikation zum Thema „Skalierbare Container Infrastrukturen“ eine Brücke zwischen der alten HA-Welt und der neuen herzustellen und neben allen Praxisbeispielen auch einen tieferen Blick auf das zu werfen, was kommen wird. Wohin der Weg führen wird.

Container. Container Cluster. Microservices. Continuous Delivery. Puzzlestücke eines großen Ganzen, das unser Leben weiter beschleunigt. Vielleicht lohnt sich einmal ein kurzer Gedanke, abseits von agilen Methoden, optimalen Marktanpassungs-Feedbackschleifen und super effizienten, vollautomatischen, Container-basierten Entwicklungs-Pipelines, die im Minutentakt neue Releases ausspucken, ob uns das wirklich alles so guttut? Im Moment vielleicht noch.

Hoffen wir, dass es so bleibt.

Und dass nicht wir irgendwann von unserem eigenen Know-how überholt werden. Und dabei selbst auf der Strecke bleiben.