Transparenz schafft Vertrauen
Woher weiß ein Softwareentwickler zu jedem Zeitpunkt, was seine Software macht? Wie können Developer einen Bug schon bemerken, bevor er dem Kunden auffällt? Wie wird Software transparenter? Auf diese drei Fragen hat Softwareentwickler Felix eine Antwort: Observability. Mit den Tools der Open-Source-Initiative OpenTelemetry lässt sich Observability einfach umsetzen.
Was ist Observability überhaupt?
Stellen wir uns vor, du entwickelst eine hochkomplexe Anwendung und plötzlich tauchen unerklärliche Probleme auf. Du möchtest wissen, was genau schiefgelaufen ist, aber du stehst vor einem Meer von Logs, die einzeln für sich gesehen wenig aussagen. Traces und Metrics geben hier zusammen schon mehr Hinweise. „Observability umfasst nicht nur das Monitoring, sondern auch die Analyse aller dieser Daten“, erklärt Felix, der sich seit einiger Zeit intensiv mit dem Thema befasst. „Das heißt: Dein System sagt dir zuerst, wenn ein Problem auftritt – nicht dein Kunde muss dich drauf hinweisen.“ Observability ermöglicht es, das Verhalten unserer Systeme in Echtzeit zu verstehen, indem es tiefe Einblicke in deren Zustand und Funktionsweise gewährt.
OpenTelemetry: Ein Game-Changer für Observability
Und wie kommen wir nun von der Theorie zur Praxis? Hier betritt OpenTelemetry die Bühne. Die Open-Source-Initiative stellt ein Set von Tools und Software Development Kits und Richtlinien, die es dir erlauben, Observability praktisch einzubauen. Dies vereinfacht die Instrumentation von Anwendungen für Observability. Seit dem Erstantrag im Jahr 2019 ist es Ziel der Cloud Native Computing Foundation, dass ihr OpenTelemetry-Projekt Observability möglichst einfach macht, so dass es in möglichst vielen Kontexten verwendet wird.
Ausgehend von Logs, Metrics und Traces, die ein Programm produziert, werden diese vom OpenTelemetry Collector gesammelt, bearbeitet, gefiltert und exportiert. Als vendor-agnostisches Tool bereitet der Collector Daten so auf, dass sie je nach Vorlieben zum Beispiel bei Grafana, DataDog oder Honeycomb analysiert werden können.
Bei cyan.it sind wir fest davon überzeugt, dass Observability und OpenTelemetry nicht nur Technologien sind, sondern ein Mindset, das den Unterschied zwischen erfolgreichen und weniger erfolgreichen Softwareprojekten ausmacht. „Wir haben schon vor einiger Zeit die Wichtigkeit erkannt und uns das Ziel gesetzt, dies in alle große Projekten zu integrieren“, sagt Felix. Indem wir transparenter werden und tiefer in die Funktionsweise unserer Systeme eintauchen, legen wir den Grundstein für eine zukunftsorientierte und robuste Softwareentwicklung.