Architecture Decision Record: Kubernetes-Container-Orchestrierung
Problemstellung
Wir müssen für unser wachsendes Portfolio an Cloud-nativen Anwendungen eine Container-Orchestrierungsplattform auswählen. Die aktuelle Bereitstellung unserer Altplattform ist zu langsam und nicht agil genug, um mit unserem wachsenden Bedarf Schritt zu halten. Wir suchen ein System, mit dem wir unsere Dienste so effizient wie möglich skalieren können, ohne Abstriche bei Agilität oder Benutzerfreundlichkeit zu machen.
Erwogene Alternativen
Docker Swarm
Kubernetes
Apache Mesos
Getroffene Entscheidung
Nach einer gründlichen Analyse jeder Container-Orchestrierungsplattform haben wir beschlossen, Kubernetes als beste Option für unsere Unternehmensanforderungen einzuführen. Unsere Gründe für die Wahl von Kubernetes sind folgende:
Skalierbarkeit: Das einzigartige Design von Kubernetes ist ideal für die Skalierung von Anwendungen, und wenn sich unsere Skalierbarkeitsanforderungen im Lauf der Zeit ändern, hat Kubernetes die eingebaute Fähigkeit, diese Änderungen problemlos zu bewältigen.
Dezentrale Architektur: Die Master-Worker-Topologie von Kubernetes sorgt für eine dezentrale Architektur, die sicherstellt, dass es keinen Single Point of Failure gibt.
Community-Unterstützung: Kubernetes hat die größte und aktivste Open-Source-Community, was bedeutet, dass es eine große Zahl an Mitwirkenden, Entwicklern und Anbietern gibt, wodurch es uns leichter fällt, Hilfe zu bekommen und Ressourcen zu finden.
Ökosystem-Unterstützung: Kubernetes hat ein wachsendes Ökosystem mit einer Vielzahl von Drittanbieterwerkzeugen, Integrationen mit Container-Registries, CI/CD-Pipelines, Datenspeicherung und mehr.
Daher haben wir beschlossen, Kubernetes als unsere Container-Orchestrierungsplattform für die Gegenwart und die unmittelbare Zukunft einzuführen.