Logo der Open Container Initiative

Logo der Open Container Initiative

Open-Source-Software basiert auf herstellerunabhängigen Standards, man darf sie aber nach Belieben weiterentwickeln. Trotzdem entsteht nicht gleich ein Wildwuchs inkompatibler Systeme, sondern stärkere Standardisierung. Von Ludger Schmitz*

Inzwischen sind Container dermaßen populär in der IT, dass sich mit ihnen ein Softwaregeschäft aufziehen lässt. Man verkaufe nicht mehr Softwarepakete, sondern entsprechende Container. Das Modell funktioniert allerdings nur dann, wenn die Container auch die gleichen Grundlagen haben und mit anderen „können“. Nicht von ungefähr ist Integration das halbe IT-Geschäft.

Nun ist Docker Open Source, nachvollziehbar und quasi Standard in Sachen Container. Aber das heißt noch lange nicht, dass diese gleiche Formate hätten und interoperabel wären. Das wird zum Beispiel immer dann ein Hindernis, wenn mehrere Container in einem Prozess zusammenarbeiten sollen. Das lässt sich machen, beeinträchtigt aber das Zeitverhalten von Prozessen; direkt statt über Brücken geht‘s halt schneller.

Außerdem ist die Administration von Containern in großer Zahl und mit unterschiedlichen Formaten und Laufzeitumgebungen nicht eben einfach. Dafür gibt es wiederum diverse Tools, Kubernetes ist das bekannteste. Ein Nebeneffekt der zunehmenden Container-Unterschiede dürfte auch sein, dass Kubernetes eines der größten Projekte auf Github ist.

Die aktivsten Open-Source-Projekte sind immer dort zu finden, wo der Schuh am meisten drückt.

Ein anderes Projekt setzt noch tiefer an, nämlich bei den internen Unterschieden von Containern. Es ist die vor zwei Jahren gegründete Open Container Initiative (OCI). Sie hieß anfangs Open Container Projekt und wurde von den Unternehmen Docker Inc. und CoreOS Inc. gegründet. Neben den Gründern traten sehr schnell Firmen wie Amazon Web Services, Facebook, Google, IBM, Intel, Microsoft, Oracle, Red Hat, Suse und VMware bei. Die OCI arbeitet unter dem Dach der Linux Foundation.

Das Ziel war von Anfang an, offene und herstellerunabhängige Standards zu schaffen. Die technischen Grundlagen brachten Docker und CoreOS ein. Von Docker kommt das Container-Format und die Runtime. CoreOS ist ein kleines Linux-basiertes Betriebssystem, und von der Firma kommt die Docker-Alternative rkt (auch „Rocket“), die ein Format für Applikations-Container-Images mit sich bringt.

Das Ergebnis der Zusammenarbeit und der Beiträge anderer beteiligter Firmen ist genau zwei Jahre nach der OCI-Gründung und nach diversen Vor-Releases die Version 1.0 von zwei zentralen Spezifikationen erschienen. Die „Runtime Specification“ und die „Image Format Specification“ sind hier genauer beschrieben. Dies sind Schritte, um Anwender von Details der Laufzeitumgebungen und von den Tools zur Erstellung der Images unabhängig zu machen.

Das sind sicher noch nicht alle Standards, die nötig sein dürften, um den Trend zu Containern in Bahnen zu lenken, die Anwendern maximale Flexibilität bieten. Was hier geschehen ist, wird nicht nur interessant sein, wenn eines Tages die Geschichte der Container geschrieben wird. Es ist darüber hinaus ein Beispiel par excellence, wie Open Source eine Konkurrenz der Innovationen antreibt, zu verschiedenen Lösungen führt und schon sehr bald doch wieder in einer Konsensbildung in Form von Standards mündet.

*Ludger Schmitz ist freiberuflicher Journalist in Kelheim.