Docker Swarm oder Kubernetes?

Wenn es um den Betrieb vieler Cloud-Anwendungen geht, stellt sich die Frage nach der Hosting Umgebung. VMs waren hipp in den Nuller Jahren, Docker in den Zehner und Kubernetes in den Zwanzigern. Bei fairkom haben wir auch bereits 2020 die Weichen Richtung Kubernetes gestellt und einen eigenen Cluster auf Bare Metal auf- und mehrfach umgebaut. Heute laufen dort auf 6 Storage Nodes, 3 Master Nodes und 12 Worker Nodes, die 80% der Arbeitslast für fairapps.net und Kunden stemmen. 

Ein Kunde, der seine eigene Infrastruktur selbst betreibt, hat mit Kubernetes experimentiert, möchte aber eine einfachere Lösung für eine handvoll Anwendungen. Da haben wir den Slogan "Docker swarm is dead" nochmal näher untersucht. Dabei bin ich über das Softwareprojekt Sutty (ein CMS für das Fediverse) auf eine Hosting-Plattform gestoßen, die Docker Swarm intensiv nutzt. Also doch nicht tot?

Co-op Cloud stellt für mehr als 50 Anwendungen "Recipes" parat, die über deren in GO geschriebenes tool "abra" in eine Docker Swarm Umgebung eingespielt werden können. Nicht alle Recipes sind "produktionsreif", aber bei vielen sind auch die update Mechanismen mitgedacht. 

Die Betreiber von coopcloud haben sich um 2022 ausführlich Gedanken gemacht, ob sie auf Docker Swarm setzen wollen. Sie verweisen dabei auf die Anstrengungen von Mirantis, die ja eine kompatible Nachfolgelösung anbietet.  Mirantis hat ihren SWARM Orchestrator mittlerweile für Swarm und Kubernetes ausgebaut. Da steht dann dass sie "support Swarm as an integral part of Mirantis Kubernetes Engine MKE" als ein eigenes Produkt anbieten - das dann aber auf einem k0s läuft. Aha.  

Die Entwicklung bei Mirantis erinnert mich an Portainer, das zunächst auch nur Orchestrierungen von "Stacks" auf Docker (Swarm) ermöglichte aber sich auch rasch zu einem Management Tool für kubernetes entwickelte.  Auch für Portainer gibt es mehr als 50 Stacks, also vorkonfigurierte Anwendungen. Die ethibox.fr Hosting Plattform hat eine eigene Serie entwickelt - ich habe vor einem Jahr einige davon getestet und festgestellt, dass updates dort durchaus mühsam sind.

Es scheint also ob beide Welten Swarm und kubernetes näher zusammen rücken - zumindest aus der Sicht der Orchestrierung. Mit k3s oder k0s lassen sich mittlerweile kubernetes Umgebungen relativ rasch hochziehen und auch warten. Ich muss mich dem Chor jener anschliessen, die sagen dass Docker Swarm "feature complete" ist, also alles kann was es soll, aber es wird dafür künftig weniger Support geben. Denn der Kubernetes Zug düst längst mit Hochgeschwindigkeit und selbst einige Orchestrierungstools für Swarm setzen kubernetes voraus. Da führt also wohl ken Weg vorbei.

(Dieser Blogbeitrag wurde gänzlich ohne KI geschrieben)

Umfeld: