Am Puls des Zeitalters der Container

containerd 1.0 ist da: Das Herzstück von Docker wird erwachsen
Kommentare

Fast exakt ein Jahr nach der Ankündigung seitens Docker, dass sie das Herzstück ihrer Engine an die Cloud Native Computing Foundation (CNCF) spenden werden, erreicht das Projekt containerd Version 1.0 und damit einen wichtigen Meilenstein. Wir haben uns angesehen, was sich seit März, als containerd tatsächlich bei der CNCF eine neue Heimat fand, getan hat.

Erstens kommt es anders und zweitens als man denkt. Dies scheint in vielen Softwareprojekten tatsächlich der Leitspruch zu sein, denn es kommt immer wieder zu großen Verzögerungen. Prominentestes Beispiel dürfte hierbei Java sein, dessen Major Releases quasi immer mit höflicher Verspätung erscheinen. Aber auch die Planer von Angular, Spring Boot und anderen Tools liegen oft bei der Planung daneben.

Anders war es auch nicht bei containerd: Die Container-Runtime von Docker, die im März initial der Cloud Native Computing Foundation (CNCF) gespendet wurde, sollte bereits im Juni in Version 1.0 erscheinen. Nun aber ist es soweit, kürzlich verkündete Patrick Chanezon auf dem Blog von Docker die Verfügbarkeit von containerd 1.0 – dem ersten großen Meilenstein der Runtime nach Industriestandard für das Erstellen von Containerlösungen.

Was ist neu in containerd 1.0?

Die Container Runtime containerd konnte bereits direkt nach der Loslösung aus der Docker-Plattform genutzt werden, um Container-Images zu transferieren sowie um Container auszuführen und zu überwachen. Das funktioniert schon seit jeher über Linux, Windows und andere Plattformen, außerdem enthält containerd schon immer Methoden für ein lokales low-level Storagesystem und Netzwerk-Interfaces. Kurzum: Containerd hält alles für die nahtlose Containerimplementierung bereit.

Architektur von containerd / Quelle: The containerd authors

In den letzten Wochen und Monaten wurde viel Arbeit in ein vollständiges Speicher- und Verteilungssystem gesteckt, das die Image-Formate von OCI und Docker gleichermaßen unterstützt. Außerdem enthält containerd 1.0 ein robusteres Eventsystem und ein verbessertes Snapshot-Modell. Letzteres soll dabei für eine Erleichterung bei der Verwaltung von Container-Dateisystemen sorgen.

Das Team, das hinter containerd steht, testete die Vorabversionen in aller Gründlichkeit, sodass es möglich war, viele Verbesserungen im Bereich der Performance umzusetzen. Dazu wurde unter anderem auch ein Stresstest-System entwickelt und die Garbage Collection sowie der SHIM-Speicherverbrauch verbessert. Insgesamt wurde die Menge an nötigem Code durch die oben genannten Änderungen reduziert, was auch die Wartung in Zukunft erleichtern dürfte.

In 2017 key functionality has been added containerd to address the needs of modern container platforms like Docker and orchestration systems like Kubernetes. Since our announcement in December, we have been progressing the design of the project with the goal of making it easily embeddable in higher level systems to provide core container capabilities. We will continue to work with the community to create a runtime that’s lightweight yet powerful, balancing new functionality with the desire for code that is easy to support and maintain.

Michael Crosby, containerd Maintainer & Engineer bei Docker Inc.

containerd kann übrigens seit Kubernetes 1.8 als Basis-Runtime für das Orchestrierungswerkzeug genutzt werden. Auch mit anderen CNCF-Projekten kann es problemlos verknüpft werden, dazu wird über gRPC ein entsprechendes API verfügbar gemacht, Metriken werden automatisch im Prometheus-Format angefertigt.

Zahlen und Fakten

Die Zahlen sprechen für containerd: knapp 2000 Sterne auf GitHub, über 400 Forks und 108 Mitarbeiter unterstreichen die Wichtigkeit des Projektes. Involviert sind neben Docker und Google unter anderem auch Entwickler von ZTE und IBM, die mittlerweile für über 3000 Commits und 26 Releases verantwortlich zeichnen. Und natürlich darf nicht unerwähnt bleiben an dieser Stelle, dass containerd Millionen von Nutzern hat.

Weitere Informationen zu containerd 1.0 gibt es im Blog-Beitrag von Patrick Chanezon. Allgemeine Informationen zu containerd finden sich auf der offiziellen Homepage der Runtime und natürlich auf GitHub.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -