Projekt OpenTelemetry von Dynatrace, Google und Microsoft Messstandard für Cloud-native Anwendungen

Autor / Redakteur: Dr. Dietmar Müller / Florian Karlstetter |

Dynatrace, Google und Microsoft planen im Rahmen des Projekts „OpenTelemetry“ ein Verfahren auf Basis offener Standards für die Performance-Messung von Anwendungen in der Cloud zu entwickeln.

Anbieter zum Thema

OpenTelemetry will zur Standardmethode werden, mit der Entwickler und Betreiber die Leistungsdaten ihrer Dienste erfassen.
OpenTelemetry will zur Standardmethode werden, mit der Entwickler und Betreiber die Leistungsdaten ihrer Dienste erfassen.
(Bild: gemeinfrei, jkdberna / Pixabay)

„Das Ziel von OpenTelemetry ist es, die Standardmethode zu werden, mit der Entwickler und Betreiber die Leistungsdaten ihrer Dienste erfassen“, berichtet Morgan McLean, Produktmanager bei Google. Aktuell setzt die Performance-Messung auf Telemetrie-Daten, als da sind Metriken, Traces und Logs, erläutert Daniel Khan, Lead Technology Strategist bei Dynatrace, gegenüber CloudComputing Insider.

  • Metriken sind Timeseries, also Dinge, die man üblicherweise in einem Chart anzeigt. Dies können Antwortzeiten sein, aber auch Speichernutzung, Anzahl der Aufrufe, etc.
  • Traces sind Informationen über Transaktionen. Distributed Tracing bedeutet, dass man nachvollziehen kann, welche Funktionen auf welchem Service aufgerufen wurden und auch welche Datenbankabfragen ausgeführt wurden, wenn ein Nutzer in einem Shop etwas in den Warenkorb legt. Dazu muss für jede Transaktion eine Transaktions-ID mitgeführt und übermittelt werden. Ein Distributed Trace wird oft als Gantt-Diagramm beziehungsweise Balkenplan visualisiert.
  • Logs sind zum größten Teil unstrukturierte Daten, die normalerweise mit Events - wie etwa einem Fehler - korreliert werden können.

„Ein Monitoring-System verwendet verschiedene Komponenten, um Metriken, Traces und Logs abzufragen und speichert diese möglich effizient in einem Backend“, so Kahn weiter. „Dabei fällt eine große Datenmenge an. Dynatrace kennt allein rund 3000 unterschiedliche Arten von Metriken.“

Daniel Khan, Lead Technology Strategist bei Dynatrace
Daniel Khan, Lead Technology Strategist bei Dynatrace
(Bild: Dynatrace)

Dynatrace analysiert diese Daten, also die Metriken, Traces, Logs und Topologie-Daten aus den Traces in Echtzeit und verwendet statistische Verfahren und die AI-Engine Davis, um Performanceprobleme und auch deren Ursache zu melden“, so Kahn weiter. „Dies ändert sich auch nicht durch OpenTelemetry, welches nur neue Wege zur Datenerfassung, aber nicht zur Speicherung und Analyse bereitstellt.“

So funktioniert OpenTelemetry

Was macht das Projekt nun so besonders? „OpenTelemetry bietet zuallererst einheitliche Schnittstellen, damit Applikationen und auch verwendete Bibliotheken Metriken, Traces und Logs reporten können“, erklärt Kahn. „Für die Übermittlung der Transaktions ID wird auf den neuen Trace Context-Standard gesetzt, der von Dynatrace maßgeblich mitentwickelt wurde. Aufbauend auf die OpenTelemetry API enthält das Projekt auch die automatische Instrumentierung von bekannten Bibliotheken wie Datenbanktreibern in verschiedenen Sprachen.“

Diese Instrumentierungen biete einen guten Einstieg in das Monitoring. Die Datenqualität und Stabilität dieser sogenannten Agenten sei aber noch nicht mit dem vergleichbar was Dynatrace heute schon biete. Man helfe jedoch mittels laufenden Contributions mit, auch diese Instrumentierungen zu verbessern. „Viel wichtiger ist aber, dass es ein einheitlicher Telemetriestandard ermöglicht, dass Cloudanbieter sowie Framework- und Treiberentwickler den Instrumentierungscode direkt in deren Lösungen einbauen“, so Kahn. „Solche ‚built-in Monitoring Hooks‘ sollten im Idealfall umfassende, hochwertige Daten liefern können.“

Ein Monitoringsystem muss dann nur die entsprechende API bereitstellen, um die Daten empfangen zu können. „Setzt sich dies durch, so wird es in Zukunft einfacher sein neue Technologien zu monitoren, da die teilweise sehr aufwändige Implementierung einer Instrumentierung wegfallen würde“, erläutert Kahn.

Cloud-native Anwendungen im Fadenkreuz

Bei OpenTelemetry geht es zusammengefasst also um die Bereitstellung standardisierter Transparenz auf Transaktionsebene durch die Erzeugung, Sammlung und Beschreibung von Telemetrie-Daten für verteilte Cloud-native Systeme. Aber gilt das nur für Cloud-nativen Anwendungen? Was ist mit Altanwendungen, die in die Cloud gehoben wurden?

„Bei Cloud Native Anwendungen ist Monitoring unerlässlich, da nur so komplexe, verteilte Systeme zur Laufzeit überwacht werden können“, berichtet Kahn weiter. „Durch Microservice-Architekturen und natürlich auch Plattformen wie Kubernetes ist das Bewusstsein dafür gestiegen. Grundsätzlich lässt sich mit OpenTelemetry aber jede Art von Applikation monitoren.“

Der Beitrag von Dynatrace

Dynatrace steuert als ausgewiesener Monitoring-Experte technisches Know-how, Personal und Code bei. Dazu gehören:

  • Instrumentierungs-APIs auf höherer Ebene. Sie bieten eine höhere Genauigkeit des Tracing-Codes. Damit können Entwickler Transparenz in ihre Cloud-nativen Anwendungen integrieren und blinde Flecken beim Monitoring reduzieren.
  • Integration von universellem Trace-Kontext unterstützt die Verfügbarkeit von transaktionalem Kontext über Multi Cloud-Umgebungen hinweg. Damit erhalten Unternehmen eine End-to-End-Transparenz ihrer Cloud-nativen Ökosysteme.
  • Laufzeit-Management gewährleistet die Verfügbarkeit der benötigten Ressourcen für die Transparenz in einzelne Komponenten und Softwarebibliotheken, die den Cloud-nativen Anwendungen zugrunde liegen.

„Die Initiative OpenTelemetry wird es Entwicklern von Cloud-nativen Anwendungen ermöglichen, standardisierte Transparenz in ihre Software einzubauen. Im Zuge dessen wird die Beobachtbarkeit zunehmend danach unterschieden, wofür sich die Daten nutzen lassen – statt wie viele Daten gesammelt werden. Deshalb freuen wir uns darauf, dass OpenTelemetry die Bandbreite der Daten und den Umfang des Cloud-Ökosystems, das Unternehmen beobachten können, vergrößert“, so Alois Reitbauer, Chief Technical Strategist und Leiter des Dynatrace Innovation Lab.

(ID:46319761)