Amazons Bottlerocket ist ein kleiner Container-Host (Grafik: Amazon)

Amazons Cloud-Sparte AWS (Amazon Web Services) hat mit "Bottlerocket" ein Linux-System vorgestellt, das für den Einsatz als Container-Host gedacht ist. Gemäss Mitteilung soll das System die jahrelangen Erfahrungen Amazons im Container-Ökosystem widerspiegeln. Bottlerocket setzt auf einem minimalen Linux-Kernel auf, nutzt die Glibc sowie auch Grub. Als Init-System wird Systemd verwendet, für Netzwerkverbindungen baut man auf Wicked, das von Suse erstellt wird. Für die Container-Laufzeitumgebung sollen Containerd von Docker sorgen.

Zwar unterscheidet sich das System von Amazon damit nicht grundlegend von denjenigen der kommerziellen Linux-Distributoren wie Suses MicroOS oder Red Hats CoreOS, das aus dem Atomic Host und Core OS Container Linux zusammengeführt wurde. Aber Bottlerocket nutzt zudem auch die Paketdefinition von RPM und verzichtet in der Distribution selbst aber auf eine Paketverwaltung. Vielmehr werden Abbilder erzeugt, die nur lesend eingehängt werden sollen. Zum Update wird dann auf eine neue Partition mit neuem Abbild gewechselt, was mittels TUF (The Update Framework) erfolgt. TUF stammt aus dem Kubernetes-Umfeld. Desweiteren dazu legt Amazon viel Wert auf eigene Techniken, die sich vor allem durch ihre Sicherheit auszeichnen sollen. So nutzt Bottlerocket das Werkzeug DM-Verity, um die Integrität der unveränderbaren Partitionen zu überprüfen.

Das System verzichtet auf SSH, eine Shell und Interpreter, so dass etwa Python nicht verfügbar ist. Kompiliert werden die Binärdateien zudem mit vielen Hardening-Optionen. Die Konfiguration und der Zugriff von aussen geschehen ausschliesslich über APIs und Clients sowie einen speziellen Admin-Container im Kubernetes-Cluster. Die eigenen Anwendungen und API-Dienste von Bottlerocket haben die Entwickler von AWS zudem komplett in Rust geschrieben, wodurch die von C bekannten typischen Speicherfehler verhindert werden sollen. Auch das Build-System der Pakete ist in Rust neu geschrieben worden. Weitere Battlerocket-Infos sind auf Github abrufbar.