vegefox.com - stock.adobe.com

OpenTelemetry: Die Vorteile der Open-Source-Telemetrie

In verteilten Anwendungen mit zahlreichen Microservices ist Observability eine Herausforderung. OpenTelemetry soll mit offenen Standards Ordnung in dieses Chaos bringen.

Bei modernen Apps teilt jeder Microservice seine Aktivitäten auf eigene Weise mit. Für eine schnelle Fehlerbehebung ist es jedoch notwendig, die Verarbeitung einer Anfrage von Anfang bis Ende zu verfolgen. Ein multifunktionales Observability-Tool für OpenTelemetry sammelt und korreliert alle nötigen Telemetriedaten.

Transparenz ist der Schlüssel für den effizienten Betrieb nativer Cloud-Anwendungen, bei denen eine große Anzahl von Microservices miteinander interagiert. Denn ohne ein Tool, das die Telemetriedaten an den verschiedenen Standorten abruft und auswertet, lassen sich Fehler nicht zeitnah korrigieren. Eine praktische Lösung dafür bietet OpenTelemetry.

OpenTelemetry für Observability 2.0

OpenTelemetry wurde erstmals auf der KubeCon 2019 in Barcelona vorgestellt. Inzwischen ist es das zweitbeliebteste Projekt der Cloud Native Computing Foundation (CNCF), gemessen an der Anzahl der Beiträge. Der Ansatz konzentriert sich insbesondere auf die Daten und Datenströme (Telemetrie), die notwendig sind, um Anwendungen zu verbessern und Probleme zu beheben. Dazu müssen die Daten in großem Umfang aggregiert, analysiert und visualisiert werden.

Die Fähigkeit von OpenTelemetry, Ereignisse über verschiedene Anwendungen hinweg zu korrelieren, bekommen Anwender durch Observability 2.0 – den nächsten Schritt zur Messung von Anwendungsaktivitäten in der Cloud. Damit wissen Verantwortliche nicht nur, ob die Applikation läuft, sondern können auch den Weg jeder Anfrage durch die Anwendungen nachvollziehen.

Der neue Ansatz vereint zwei Open-Source-Projekte: OpenTracing (OT) und OpenCensus (OC). Sie standardisieren zusammen das Format von Trace-Daten. Im März 2019 gaben beide Projekte ihren Zusammenschluss zu OpenTelemetry bekannt, um die Erzeugung und Formatierung von Trace-Daten zu vereinheitlichen.

Das OpenTelemetry-Projekt definiert außerdem Standards für das Erfassen weiterer Observability-Daten wie Metriken und Protokolle über die gleichen Telemetriekanäle wie Traces. Die Kombination der Signale ermöglicht es, Probleme schnell zu beheben und eine hohe Produktionsqualität der Anwendungen zu gewährleisten. Denn sie beantworten folgende Fragen:

Metriken: Gibt es ein Problem?

Traces: Wo liegt das Problem?

Protokolle: Was ist das Problem?

Verteiltes Tracing in modernen App-Architekturen

Zu den wichtigsten Funktionen von OpenTelemetry gehören verteiltes Tracing und Anwendungsintelligenz. Verteiltes Tracing ist zwar nicht neu, aber das Wachstum von Cloud-Umgebungen wie Amazon Web Services (AWS) und Microsoft Azure hat den Bedarf deutlich erhöht. Mit der zusätzlichen Containerorchestrierung, meist auf Basis von Kubernetes, kommt es zu chaotischem Verhalten, da sich die Anzahl und der Standort der Ressourcen schnell verändern.

So ist die Datenlast in einer modernen Architektur mit vielen separaten Teilen zur Überwachung und Wartung der Anwendungen enorm komplex. Dies erfordert eine Technologie, mit der sich alle Aktivitäten und die damit verbundenen Elemente verfolgen lassen. Genau hier kommt OpenTelemetry ins Spiel.

Damit können alle Anwendungen die von ihnen erzeugten Metriken über eine Telemetrie-(Übertragungs-)Schicht an einen gemeinsamen Sammelpunkt senden. Das ermöglicht den Datenabgleich zwischen den lose gekoppelten Diensten und der zugrunde liegenden Infrastruktur. Mit verteiltem Tracing lassen sich auch neue Metriken verfolgen, vor allem in Bezug auf die Anzahl von Anfragen und Fehlern pro Zeiteinheit sowie die Dauer der Bearbeitung einer aggregierten Anfrage.

OpenTelemetry weist dazu jeder Anfrage eine TraceId zu. Aber in nativen Cloud-Architekturen entstehen Abweichungen durch unterschiedlich lange Berichtswege oder mangelnde Synchronisierung der Uhren auf verschiedenen Hosts. Durch die Verfolgung der Kommunikation zwischen den Komponenten während der Verarbeitung des Datenverkehrs ermöglicht OpenTelemetry die Messung einzelner Spans – die Arbeitseinheiten und Bausteine eines Trace. Dazu ist keine tiefe Instrumentierung der zugehörigen Anwendung erforderlich.

Dave McAllister, F5

„Indem es sich auf diejenigen Datenklassen konzentriert, die zu einem tiefen Verständnis der Anwendungen führen, ermöglicht OpenTelemetry genaue Einblicke sowohl in die Leistung als auch in die Probleme der komplexen modernen Applikationen.“

Dave McAllister, F5

Durch Observability 2.0 lässt sich sofort erkennen, welche Metriken mit welchem Trace übereinstimmen. Wenn die Metriken beispielsweise auf ein Problem hindeuten, können Verantwortliche mit dem verteilten Tracing bis zu der Anfrage zurückgehen, die das ursprüngliche Problem verursacht hat, und jeden weiteren Schritt verfolgen.

Anwendungsintelligenz mit KI und ML

Da alle benötigten Daten über alle Anwendungen hinweg verfügbar sind, ist es ein großer Vorteil von OpenTelemetry, dass es erlaubt, bei der Entwicklung und im Betrieb flexibel und automatisiert zu reagieren. Das macht Anwendungen intelligenter und adaptiver.

Denn ähnliche Metriken und die Nutzung etablierter semantischer Konventionen in OpenTelemetry vereinfachen das Korrelieren von Aktionen während der Verarbeitung von Anfragen und das Anschließende weiterleiten dieser Informationen an Machine-Learning- und Künstliche-Intelligenz-Algorithmen. So können sich Anwendungen und Infrastruktur dynamisch an Veränderungen in ihrer Umgebung anpassen.

Die Kodierung der Telemetrie ist sowohl für die Nutzer von OpenTelemetry als auch für die entsprechenden Anwendungen von Vorteil. Daten können aus verschiedenen Quellen gesammelt und an beliebige kompatible Aggregations- und Analysetools weitergeleitet werden. Darüber hinaus ist es durch den OpenTelemetry Collector nicht mehr nötig, selbst Kollektoren zu implementieren. Er kann mit nahezu jedem existierenden Format arbeiten und ist gleichzeitig zukunftsfähig – durch innovative Open Source.

Indem es sich auf diejenigen Datenklassen konzentriert, die zu einem tiefen Verständnis der Anwendungen führen, ermöglicht OpenTelemetry genaue Einblicke sowohl in die Leistung als auch in die Probleme der komplexen modernen Applikationen. Durch die Korrelation der Daten und die Anpassung an semantische und standardisierte Konventionen erleichtert OpenTelemetry die Einführung von Microservices-basierten Architekturen. Mit zunehmender Projektreife und Akzeptanz ermöglicht OpenTelemetry ein tiefes Verständnis und den Einsatz von KI- und ML-Techniken zum Bewältigen der steigenden Komplexität.

Über den Autor:
Dave McAllister ist Senior OSS Technical Evangelist, NGINX bei F5. In dieser Funktion hilft er Unternehmen, ihr Wachstum voranzutreiben, indem er Open-Source-Innovationen anführt und Teams für branchenübergreifende Organisationen aufbaut. Erfahrungen hat der Experte in leitenden Positionen, wo er die Kluft zwischen Technik, Technologie und Vertrieb für Start-ups und Fortune-500-Unternehmen überbrückt. Zu seinen Talenten gehört die Fähigkeit, sich schnell an wechselnde Markttrends und Kundenbedürfnisse anzupassen. Damit ist es ihm möglich, die organisatorische Flexibilität zu erhöhen und auf dem wettbewerbsintensiven globalen Markt Ansehen und Gewinne zu erzielen.

Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.

Erfahren Sie mehr über Cloud Computing