Microsoft hat am 10. September 2019 gemeinsam mit Docker, Pivotal, Datadog und Intel die Finalisierung der CNAB-Core-Spezifikation in Version 1.0 bekanntgegeben. Das Format Cloud Native Application Bundles beschreibt komplette verteilte Anwendungen als einzelnes OCI-Image und überführt den Deployment-Prozess ganzer Anwendungen in den bekannten Container-Workflow. Parallel wurde das Projekt in die Joint Development Foundation überführt.
Microsoft und Docker hatten CNAB 2018 auf der Microsoft Connect und der DockerCon EU zusammen mit HashiCorp und Bitnami vorgestellt. Seitdem wuchs die Mitwirkergemeinde laut Microsoft auf 28 Beitragende an. CNAB dokumentiert nicht nur die Artefakte einer Anwendung, sondern auch die Schritte für Installation, Upgrade und Deinstallation. Ein Bundle lässt sich in derselben Registry ablegen, pullen und starten wie ein individuelles Docker-Image.
Werkzeuge: Porter, Duffle und Docker App
Zum 1.0-Stand stellte Microsoft auf der HashiConf das überarbeitete Porter vor. Der Bundle-Builder arbeitet mit einer deklarierenden YAML-Beschreibung und neuen Mixins für Terraform und Kubernetes, wodurch sich Infrastruktur-Code mit weiteren Deployment-Werkzeugen kombinieren lässt. Duffle bleibt die Referenzimplementierung der Spezifikation und kann Bundles im dicken Format für abgeschottete Umgebungen exportieren. Docker App nutzt das Compose-Format als Grundlage und gehört seit Docker Enterprise 3.0 zum offiziellen Docker-Umfang. Der Pivotal Build Service befindet sich als Alpha in Entwicklung und nutzt CNAB für die Bereitstellung auf Kubernetes-Clustern.
Neben dem Core-Standard arbeiten die Gremien an zwei weiteren Spezifikationen. Die Registry-Spezifikation regelt das verteilte Ablegen von Bundles und den verlässlichen Export in Offline-Umgebungen. Die Security-Spezifikation kombiniert die Standards The Update Framework und in toto, um OCI-Registries gegen Manipulationen in der Lieferkette abzusichern. Datadog setzt beide Verfahren bereits für die Agent-Integrationen des eigenen Dienstes ein. Eine Übersicht aller Arbeitsstände bietet die offizielle CNAB-Projektseite.
Eigenständige Trägerschaft unter dem Dach der Linux Foundation
Als Gründungsmitglieder Docker, Pivotal, Datadog, Intel und Microsoft überführten das Projekt am 10. September 2019 in die Joint Development Foundation, die rechtliche Standardsäule der Linux Foundation. Matt Butcher von Microsoft und Chris Crone von Docker übernahmen die Aufgabe der ersten Executive Directors. Zwei Arbeitsgruppen kümmern sich um die Spezifikationsarbeit und die Referenzimplementierung Duffle. Für Microsoft ist das ein weiterer Schritt im Kubernetes-Umfeld, das bereits über die Übernahme des Kubernetes-Spezialisten Deis früh Teil der Cloud-Strategie war.
Für Betriebsteams und Spieleentwicklung liefert CNAB einen gemeinsamen Verpackungsweg für Anwendungen mit veelen beweglichen Teilen. Vergleichbare Ansätze entstanden zuvor in der Spielebranche selbst: Google und Ubisoft starteten 2018 mit Agones eine Kubernetes-basierte Verwaltung dedizierter Spielserver. CNAB adressiert dieselben Betreiber, deckt aber beliebige verteilte Anwendungen ab, unabhängig von der Laufzeitumgebung.

