Hinweis
- Dieser Artikel wurde ursprünglich in englischer Sprache verfasst
- Alle Links in diesem Artikel führen auf die Seite github.com
Haben Sie sich auch schon gefragt, wie ein grosses Finanzinstitut wie PostFinance dafür sorgt, dass seine digitalen Geschäfte reibungslos und effizient laufen? Tauchen Sie ein in die Welt von Kubernetes bei PostFinance und erfahren Sie, wie wir mit der Komplexität von Cloud-Orchestrierung und den selbst entwickelten, innovativen Lösungen wie dem Open-Source-Überwachungstool kubenurse umgehen und wie diese Tools nicht nur unsere eigenen digitalen Abläufe verbessern, sondern auch der globalen Tech-Community zugutekommen.
Kubernetes ist in der Branche der De-facto-Standard der Orchestrierungsplattformen. Sie ermöglicht es PostFinance, Workloads des Bankbetriebs je nach Kundenbedürfnissen über zahlreiche Datenzentren dynamisch und verlässlich zu skalieren. Weil Kubernetes eine inzwischen weit verbreitete Open-Source-Plattform ist, profitieren wir auch von den jüngsten Entwicklungen der Cloud-Orchestrierungstechnologien. Wir haben sogar die Chance, in der Kubernetes-Community eine führende Rolle zu übernehmen, indem wir selbst Open-Source-Software zur Verfügung stellen und so zur Weiterentwicklung der Plattform beitragen.
Wir betreiben rund 30 gemeinsam genutzte Kubernetes-Cluster in verschiedenen Netzwerkzonen und -umgebungen, die auf der Vanilla/Open-Source-Distribution von Kubernetes basieren. Im Gegensatz zu vielen anderen Unternehmen verwenden wir Open-Source-Tools wie kubeadm und ansible (zukünftig Cluster API), um die Cluster zur Verfügung zu stellen und zu verwalten. Dies verschafft uns viel Freiheit und ermöglicht es uns, in kurzen Abständen Updates durchzuführen und von den neusten Releases zu profitieren.
Kubernetes ist eine hochdynamische und skalierte Plattform, auf der sich Applikationen über mehrere Server (Kubernetes-Nodes) erstrecken und auch verschoben werden können. Eine gute Netzwerk-Performance und Latenz zwischen allen Nodes sicherzustellen, ist eine schwierige Aufgabe. Umso wichtiger ist dies für Applikationen, die auf Kubernetes laufen und bei denen das geringste Netzwerkproblem zu grossen Verzögerungen bei Kartenzahlungen oder Geldabhebungen führen kann.
Der Link öffnet sich in einem neuen Fenster Kubenurse ist eine Open-Source-Applikation zur Überwachung von Netzwerken, die von PostFinance geschrieben und betreut wird. Sie läuft auf all unseren Kubernetes-Nodes und führt laufend eine Reihe von Netzwerkprüfungen bei benachbarten Nodes, beim http(s)-Eingangspunkt des Clusters und an anderen Orten durch. Dies hilft uns, die Stabilität und Latenz des Netzwerks zu überwachen, sodass wir Nodes mit suboptimaler Performance oder solche, die Netzwerkpakete verlieren, schnell erkennen.
Wir profitieren sehr stark davon, dass Kubernetes Open Source ist. Deshalb ist es für uns wichtig, dass auch wir zur Weiterentwicklung der Community beitragen, indem wir allen anderen Users ein Netzwerk-Überwachungstool zur Verfügung stellen – vor allem auch, weil es keine vertraulichen Daten oder Business-Logik enthält.
Dies hat auch zum Vorteil, dass das Tool von Users aus der ganzen Welt verbessert wird, wie am Beispiel Der Link öffnet sich in einem neuen Fenster dieser Verbesserung, Der Link öffnet sich in einem neuen Fenster dieser Korrektur oder Der Link öffnet sich in einem neuen Fenster dieses behobenen Schönheitsfehlers ersichtlich wird. Zudem werden auch Diskussionen zu Themen angestossen, mit denen wir (noch) nichts zu tun hatten, wie zum Beispiel diese Der Link öffnet sich in einem neuen Fenster Diskussion über die Optimierung des Tools für sehr grosse Cluster. Ein Austausch von Engineers verschiedener Unternehmen führte hier zu einer optimalen Lösung.
Dass kubenurse Open Source ist, bedeutet, dass sein Quellcode für alle lesbar ist und dass alle Users etwas zum Projekt beitragen, auf ein Problem aufmerksam machen oder eine Diskussion eröffnen können.
Es bedeutet auch, dass das Projekt öffentlich und für alle Users zugänglich gemacht wird. Das Tool wird weiterhin von PostFinance betreut, d. h. sie aktualisiert es, implementiert neue Funktionen und behebt potenzielle Fehler und Probleme.
Das Tool ist über alle Nodes im Cluster verteilt und führt eine Reihe von Prüfungen durch, um sicherzustellen, dass alle Netzwerkpfade zu den Nodes gültig sind. kubernurse sammelt zudem präzise Latenzmessungen und exportiert diese Daten als Metriken, die es uns später ermöglichen, Visualisierungen bzw. Dashboards zu erstellen und Alerts zu generieren, wenn eine bestimmte Metrik unsere SLO verletzt.
Im Open Source Code Repository des Projekts wird ein Der Link öffnet sich in einem neuen Fenster Grafana-Dashboard zur Verfügung gestellt. kubenurse-Users können es in ihre Grafana-Instanz importieren und sich so die von kubenurse durchgeführten Messungen ansehen und interpretieren.
Sobald dies geschehen ist, steht normalerweise innert Minuten ein Dashboard zur Verfügung, wie es unten abgebildet ist. Es enthält detaillierte Echtzeitinformationen zur allgemeinen Netzwerkgesundheit des Clusters.
PostFinance profitiert von Open-Source-Projekten wie Kubernetes und seiner Plattform zur Cloud-Orchestrierung und trägt ihren Teil zum Ökosystem bei, indem sie der Community verschiedene Projekte, darunter das Netzwerk-Überwachungstool kubenurse, zur Verfügung stellt.
Dank solcher bidirektionaler und Unternehmensübergreifender Zusammenarbeit können PostFinance und andere modernste Software nutzen und bei komplexen Themen zusammenarbeiten, was schliesslich zu einer Cloud-Plattform führt, die auf dem neusten Stand der Technik ist, deren Performance und Zuverlässigkeit ein ungetrübtes Nutzer- und Entwicklererlebnis ermöglichen.