Kieback & Peter – Aufbau des Cluster-Monitorings
Manchmal ist der Abschied von einem Cloud-Anbieter wie Azure ein wenig wie der Auszug aus dem Elternhaus: Man hat jahrelang bequem gewohnt, vieles wurde einem abgenommen, aber irgendwann merkt man – es ist Zeit, auf eigenen Beinen zu stehen. Vor allem, wenn die monatliche Rechnung immer dicker wird.
Ein Kunde von uns stand genau vor dieser Schwelle: Raus aus der Azure-Welt, rein in eine providerunabhängige Kubernetes-Infrastruktur. Und das mit einem Ziel, das so schlicht wie herausfordernd ist: eigenes, internes Cluster-Monitoring, das leistungsfähig, automatisiert und bezahlbar ist.
Klingt ambitioniert? Ist es auch. Aber wie so oft liegt der Schlüssel zum Erfolg in einer klaren Struktur – und einer gesunden Portion Pragmatismus.
Ausgangssituation
Der Kunde betrieb über mehrere Jahre seine produktiven Container-Workloads auf einem von Azure verwalteten Kubernetes-Service (AKS). Monitoring und Logging wurden über die Azure-typischen Tools wie Azure Monitor, Log Analytics und Application Insights realisiert – komfortabel, gut integriert, aber zunehmend teuer.
Was anfangs nach einem guten Deal aussah, wurde mit der Zeit zur Kostenfalle: Die Datenmengen stiegen, die Nutzerzahlen ebenso – und die Rechnungen wuchsen proportional. Gleichzeitig kam der Wunsch auf, die Architektur unabhängiger zu gestalten. Azure war bequem, aber eben auch eine technologische Sackgasse, was die Flexibilität anging.
Die Entscheidung fiel: raus aus der Komfortzone, rein in eine eigene Infrastruktur. Wichtigste Prämisse dabei – Monitoring und Logging sollen vollständig im Cluster laufen, ohne Abhängigkeiten zu externen Services.
Durchführung
Zunächst standen einige strategische Fragen im Raum: Welche Tools sind überhaupt sinnvoll? Wie komplex darf das Setup sein? Und wie lässt sich das Ganze so automatisieren, dass man nicht in ein paar Monaten wieder an der gleichen Stelle steht?
1
Tool-Evaluation
Wir starteten mit einer strukturierten Evaluation von möglichen Komponenten für ein internes Monitoring- und Logging-System. Zur Auswahl standen unter anderem Prometheus, Grafana, Loki, ElasticSearch, Kibana, KubeCost, Fluent Bit, Logstash und einige kommerzielle Angebote.
Nach mehreren Proof-of-Concepts und einem etwas hitzig geführten Workshop mit dem Titel „Wer braucht eigentlich noch Kibana?“ fiel die Wahl auf einen bewährten Stack:
Grafana für Dashboards und Visualisierung
ElasticSearch + Logstash für zentrales Logging und flexible Analyse
KubeCost für präzise Kostenerfassung im Cluster
Warum kein Prometheus? Weil der Fokus des Kunden nicht auf Metriken, sondern auf Logs, Finanzen und operativer Übersicht lag – und weil Grafana auch ohne Prometheus eine solide Figur macht.
2
Infrastruktur mit Terraform
Die komplette Infrastruktur wurde mit Terraform und modularen IaC-Prinzipien aufgebaut. Kein manuelles Klicken, kein „mal schnell testen“ im Web-Interface. Alles reproduzierbar, versionierbar und wartbar.
Wir erstellten eigene Terraform-Module für die nötigen Kubernetes-Ressourcen, Helm-Charts und Konfigurationen – inklusive:
ElasticSearch-Clustern mit persistentem Speicher
Logstash-Pipelines für system- und anwendungsspezifische Logs
Grafana mit LDAP-Anbindung und API-basierter Dashboard-Provisionierung
KubeCost-Integration für präzise Kostenaufschlüsselung je Namespace, Pod und Label
Ein besonderes Augenmerk lag auf dem Thema Alarming: Warnungen sollten nicht nur aufpoppen, sondern wirklich verwertbar sein. Daher wurden eigene Alert-Rules definiert, Slack- und E-Mail-Integrationen aufgebaut sowie Eskalationsstufen hinterlegt.
3
Dashboards und Alarmierung
Dashboards sind bekanntlich die Fenster zur Seele eines Systems. In enger Abstimmung mit dem Kunden wurden individuelle Panels für Betrieb, Sicherheit und Finanzen entwickelt. Einige Beispiele:
„Top Talkers“: Welche Pods verursachen den meisten Traffic?
„Cost per Team“: Wer verbrennt das Budget – und warum?
„Pod Flapping“: Welche Deployments sind instabil und warum?
Alarme wurden gezielt auf Schwellwerte gesetzt, bei denen wirklich Handlungsbedarf besteht – mit der Option, diese auch in der Nacht ignorieren zu dürfen. Denn: Ein Monitoring, das permanent schreit, wird irgendwann ignoriert.
4
Ergebnis
Am Ende stand ein komplett autonom laufender Monitoring-Stack – maßgeschneidert für den Bedarf des Kunden und vollständig unabhängig von Azure oder anderen Cloud-Diensten.
Was auf dem Papier gut klang, überzeugte auch in der Praxis:
Hohe Kundenzufriedenheit: Die Teams erhielten genau die Einblicke, die sie benötigten – ohne unnötigen Overhead.
Automatisierter Stack in wenigen Wochen: Durch den Einsatz von Terraform und Helm waren die Umsetzungszeiten erfreulich kurz. Die produktive Infrastruktur wurde innerhalb von drei Wochen ausgerollt.
Kosten drastisch reduziert: Im Vergleich zum vorherigen Azure-Setup konnten die monatlichen Kosten für Monitoring und Logging um mehr als 60 % gesenkt werden – bei gleichzeitig höherer Transparenz.
Unabhängigkeit wiederhergestellt: Der neue Stack läuft auf einer eigenen Kubernetes-Umgebung und ist portierbar auf jeden anderen Cloud- oder On-Premise-Anbieter. Die technologische Freiheit ist damit zurückgewonnen.
Auch aus technischer Sicht war das Projekt ein voller Erfolg: Durch klare Modularisierung, konsequente Automatisierung und enge Abstimmung mit dem Kunden entstand eine Infrastruktur, die nicht nur heute funktioniert, sondern auch morgen erweiterbar bleibt.
Fazit
Monitoring ist nicht nur eine technische Pflichtübung – es ist die Voraussetzung für Stabilität, Performance und letztlich auch Kundenzufriedenheit. Dieses Projekt zeigt, dass man auch ohne die Komfortzone großer Cloud-Anbieter stabile, leistungsfähige und kosteneffiziente Lösungen bauen kann. Man muss sich nur trauen, den ersten Schritt zu machen.
Und für alle, die sich selbst an ein solches Projekt wagen wollen: Investiert Zeit in die Planung, schaut euch die Tools in Ruhe an – und vergesst nicht, dass ein gutes Dashboard manchmal wichtiger ist als das beste Log-Level.
Wer neugierig geworden ist, kann sich die Tools hier genauer ansehen:
Der Rest ist – wie so oft – gutes Handwerk. Und ein bisschen Mut zur Unabhängigkeit.