Modernes Monitoring als Schlüssel zu Qualität und Kundenzufriedenheit
Monitoring ist in der Softwareentwicklung aktuell ein heisses Thema und das aus gutem Grund. Gutes Monitoring ermöglicht es, Unregelmässigkeiten in einer Software frühzeitig zu erkennen, Fehler effizient zu analysieren und damit nicht nur Zeit, sondern auch Kosten zu sparen. Beim ISCeco haben wir in den letzten Jahren ein State-of-the-Art Monitoring aufgebaut, das auf standardisierten, cloud-nativen Open-Source-Tools basiert und sich in Kundenprojekten bewährt hat. In diesem Beitrag zeigen wir, was modernes Monitoring heute bedeutet und warum herkömmliche Lösungen an ihre Grenzen stossen.
Einschränkungen des herkömmlichen Monitoring
Früher war Monitoring stark auf den Betrieb ausgerichtet. Es zeigte lediglich, ob ein Server oder eine Anwendung lief. Trat ein Problem auf, konnte man das System neu starten die Anwendung selbst blieb jedoch eine Blackbox. Man wusste, dass etwas nicht funktionierte, aber nicht warum. Um die Ursache eines Fehlers zu finden, war eine aufwändige und oft kostspielige Fehlersuche nötig, die meist spezielles Expertenwissen erforderte. Diese Einschränkungen führten dazu, dass sich das herkömmliche Monitoring weiterentwickelte und durch spezifisches softwareseitiges Monitoring ergänzt wurde.
Die drei Säulen des softwareseitigen Monitorings
Das softwareseitige Monitoring kann eine Vielzahl von Daten erfassen und so einen umfassenden Überblick über den Zustand einer Anwendung geben. Diese Daten werden in drei Kategorien unterteilt, weshalb man auch von den drei Säulen des softwareseitigen Monitorings spricht.
1. Metriken (Metrics)
Metriken sind kontinuierlich erhobene Kennzahlen, gewissermassen die Lebenszeichen einer Anwendung. Sie machen ungewöhnliches Verhalten sofort sichtbar. Ein einfaches Beispiel für Metriken: Eine Anwendung verarbeitet normalerweise rund 30 Formulareingaben pro Tag, plötzlich sind es 0. Diese Abweichung wird durch Metriken sofort erkannt.
2. Logs
Logs liefern zeitgenaue Informationen darüber, was konkret passiert ist. Fehlermeldungen, Warnungen und technische Details werden hier festgehalten und sind beim Troubleshooting unverzichtbar.
3. Traces
Traces zeigen den Weg eines Requests durch eine Anwendung oder sogar durch eine ganze Anwendungslandschaft. Sie helfen zu verstehen, wo ein Fehler entstanden ist und welche Services oder Komponenten beteiligt waren. Erst das Zusammenspiel dieser drei Säulen ermöglicht echtes Verständnis und schnelle Fehlerbehebung.
Die Grenzen von Softwareseitigem Monitoring
Herkömmliches softwareseitiges Monitoring ist zwar ein grosser Fortschritt, da es die Erfassung von Metriken, Logs und Traces ermöglicht. Das Problem dabei ist jedoch, dass gängige Tools diese Daten meist nur getrennt voneinander erfassen und auswerten. Folgende Nachteile entstehen dadurch:
- Mehrere Tools und Portale müssen parallel genutzt werden
- Logs sind in einem Tool, Metriken im nächsten, Traces in einem dritten
- Berechtigungen unterscheiden sich je Tool
- Das Zusammensetzen der Zusammenhänge erfordert viel Erfahrung
So hat man trotz detailliertem Monitoring immer noch hohe Zeitaufwände in der Fehlersuche. Ausserdem sind die Tools meist lizenzpflichtig und nicht standardisiert. Aufgrund der fehlenden Standardisierung ist ein späterer Toolwechsel aufwendig und kostspielig. Für das ISCeco ist klar, dass solche Abhängigkeiten und damit verbundenen Kosten nicht ideal für unsere Kunden sind.
Cloud-native Monitoring: eine neue Tür geht auf
Mit dem Aufkommen der Cloud haben sich neue cloud-native Monitoring-Tools etabliert. Cloud-native bedeutet:
- Sie laufen auf allen gängigen Cloud-Infrastrukturen
- Keine Bindung an einen bestimmtenGrossanbieter
- Nutzung offener Standards
Beim ISCeco setzen wir auf standardisierte Cloud native Tools, weil sie Open-Source- und lizenzfrei sind. Dank der Standardisierung sind die einzelnen Komponenten austauschbar wie Legosteine. Tools können ersetzt oder erweitert werden, ohne das gesamte Monitoring neu aufbauen zu müssen.
Basierend auf den Cloud native Tools haben wir eine eigene Monitoring-Oberfläche entwickelt. In dieser Oberfläche gibt es ein zentrales Dashboard, das den Status unsere zahlreichen Fachanwendungen mit roten und grünen Indikatoren übersichtlich darstellt. So sehen wir auf einen Blick, wo Handlungsbedarf besteht.
Jede Anwendung verfügt zusätzlich über ein eigenes Dashboard mit relevanten Metriken, Logs, Traces und kontextbezogenen Informationen zur Problembehebung. Tritt ein Fehler auf, sind die zeitlich relevanten Logs und Traces direkt verknüpft. Das ermöglicht schnelles, gezieltes Troubleshooting.
Mehrwert für Kunden
Dank unseres Monitorings erkennen wir Probleme häufig selbst und schneller, noch bevor eine Supportanfrage eingeht. Fehler lassen sich:
- präziser lokalisieren
- schneller beheben
- kostengünstiger lösen
Früher hiess es: «Diese Box läuft nicht.» Heute sehen wir exakt:
- wann ein Fehler begonnen hat
- welche Requests betroffen waren
- welche Logs in diesem Zeitraum entstanden sind
Im Vergleich zum Schweizer Markt verfügt das ISCeco über eine sehr weit entwickelte Monitoring Oberfläche, welche ausgezeichnetes Observability bietet. In rund 80 % unserer Projekte spielt Monitoring eine zentrale Rolle. In vielen Fällen ist es sogar eines der Hauptthemen, da gutes Monitoring eine schnelle Fehlerbehebung ermöglicht und somit wesentlich zu einem positiven Image beiträgt.
