BLOG

F5 arbeitet mit Microsoft an Phase 2 von OpenTelemetry mit Apache Arrow.

Laurent Querel Miniaturbild
Laurent Querel
Veröffentlicht am 9. Juni 2025

F5 arbeitet mit Microsoft an Phase 2 des Open-Source-Projekts OpenTelemetry mit Apache Arrow (OTAP). Im Rahmen dieses Projekts werden OpenTelemetry-Daten mithilfe von Apache Arrow-Datensatzstapeln vom SDK an den Agenten, den Collector und das Backend verwendet, verarbeitet und exportiert. Aufbauend auf dem Erfolg von Phase 1, in der die Komprimierungsraten von Telemetriedaten dramatisch verbessert wurden, zielt dieses nächste Kapitel darauf ab, die Grenzen von OpenTelemetry mit einer Rust-basierten, Arrow-nativen Datenverarbeitungspipeline noch weiter zu verschieben. 

Im Rahmen der Zusammenarbeit von F5 und Microsoft in Phase 2 des Projekts „OpenTelemetry with Apache Arrow“ wird eine leistungsstarke Telemetrie-Pipeline entwickelt, die in das Apache Arrow-Ökosystem integriert ist und eine Reihe von Applications für kleine und große Einsätze bietet. Wir erstellen neue Telemetrie-Pipeline-Bibliotheken in der Sprache Rust und möchten diese Funktionalität durch die Integration mit dem vorhandenen OpenTelemetry Collector bereitstellen.

Diese Zusammenarbeit soll innovative Leistungsverbesserungen für Telemetriesysteme liefern und stellt einen bedeutenden Meilenstein nicht nur für OpenTelemetry, sondern auch für die breiteren Ökosysteme von Apache Arrow und Rust dar. Wir sind von unserem Ansatz überzeugt und implementieren diese neue Rust-basierte Pipeline jetzt aktiv. Außerdem führen wir umfangreiche Leistungsbenchmarks durch, um die Fortschritte deutlich zu demonstrieren.  

Ein Rückblick: Erfolg in Phase 1

Phase 1 von OpenTelemetry mit Apache Arrow wurde mit ehrgeizigen Zielen begonnen. Durch die Einführung von Neuerungen im OpenTelemetry Protocol (OTLP) wurde in dieser Phase der Transport von Telemetriedaten wie nie zuvor optimiert. Die Komprimierungsraten verbesserten sich im Vergleich zum Standard-OTLP-Protokoll um 30–70 %, eine bemerkenswerte Leistung, die den Grundstein für die bevorstehende Arbeit legte.

Aber Phase 1 war nur die Spitze des Eisbergs. Es stellte die Leistungsfähigkeit der Kombination von OpenTelemetry und Apache Arrow unter Beweis und bereitete den Weg für eine noch größere Mission: die Umwandlung der gesamten OpenTelemetry-Pipeline in ein leistungsstarkes Kraftwerk zur spaltenbasierten Datenverarbeitung.

Phase 2: Auftritt von Rust und Arrow

In Phase 2 tauchen F5 und Microsoft tiefer in die Leistungsoptimierung ein, indem sie eine vollständig native OpenTelemetry-Pipeline entwickeln, die von Rust und Apache Arrow unterstützt wird, mit dem Ziel, Rust-Pipelines für den Golang-Collector zu erstellen. Dies führt zu dramatischen Verbesserungen bei der CPU-Auslastung, der Speichereffizienz, dem Durchsatz und der Latenz – was alles zu einem effizienteren Ökosystem der Datenverarbeitung beiträgt.

Unser Ziel ist es außerdem, optimale Datenkomprimierung, beschleunigte Datenverarbeitung und effiziente Integration mit moderner, spaltenorientierter Beobachtbarkeit in Einklang zu bringen, wodurch sich diese Initiative von anderen Projekten wie STEF abhebt, die sich hauptsächlich auf die Komprimierung allein konzentrieren. 

Die Entscheidung, voll auf Rust zu setzen, hat in der technischen Community für Aufregung – und auch ein wenig Kontroverse – gesorgt. Schließlich wird das Collector-Projekt von OpenTelemetry traditionell mit Golang erstellt. Warum also Rust?

Warum Rust und Apache Arrow das perfekte Paar sind

Rust und Apache Arrow sind wie beste Freunde in der Welt der Datenverarbeitung. Beide Technologien ergänzen sich in tiefgreifender Weise, was Rust zur idealen Wahl für die Entwicklung der Phase 2 macht. Hier sind nur einige Gründe: 

  • Speichersicherheit und Leistung ohne Garbage Collector: Rusts starkes Engagement für Speichersicherheit gewährleistet, dass Datenpipelines sowohl robust als auch sicher sind und Risiken wie Datenbeschädigung oder Segmentierungsfehler minimiert werden. Kombinieren Sie dies mit den Leistungsmerkmalen von Rust – geringer Overhead, kostenlose Abstraktionen – und Sie erhalten eine perfekte Lösung für die effiziente Verarbeitung der von Apache Arrow genutzten Telemetriedaten mit hoher Geschwindigkeit und großem Volumen.
  • Spaltenbasierte Datenverarbeitung: Apache Arrow ist das De-facto-Framework für die kopierfreie, spaltenorientierte Datenverarbeitung. Es wird in modernen Datenseen häufig eingesetzt und unterstützt Systeme wie Parquet, Delta Lake und Iceberg. Durch die native Integration mit Arrow können Sie Daten nahtlos und effizient mit leistungsstarken Analyse-Engines wie Apache DataFusion und Arrow-fähigen Data Lakes austauschen.
  • Zero-Copy-Design: Das Zero-Copy-Paradigma von Apache Arrow passt wunderbar zu Rusts Schwerpunkt auf direktem Speicherzugriff. Zusammen eliminieren diese Technologien den Serialisierungs- und Deserialisierungsaufwand und ermöglichen so die effiziente Verarbeitung großer Datenströme ohne Verschwendung von CPU-Zyklen.
  • Ein florierendes Ökosystem: Das Rust-Ökosystem rund um Apache Arrow floriert. Durch die Wahl von Rust für Phase 2 erschließen F5 und Microsoft den Zugang zu dieser lebendigen Community und ermöglichen Integrationen mit leistungsstarken Bibliotheken und Frameworks wie Apache DataFusion. Diese Verbindungen öffnen Türen zu neuen Applications, insbesondere Integrationen mit großen Datenseen, die für Analysen und maschinelles Lernen verwendet werden. Obwohl sich dieses Projekt noch in der Anfangsphase befindet, haben wir bereits das Interesse mehrerer Unternehmen geweckt, die auf Datenbanken mit Schwerpunkt auf Beobachtbarkeit spezialisiert sind.

Mehr als nur Leistung: Erweiterte Horizonte

Unter der Führung von Rust und Apache Arrow befasst sich OpenTelemetry mit Apache Arrow nicht nur mit Leistungsmetriken, sondern schafft auch die Voraussetzungen für eine breitere Akzeptanz in Telemetrie- und Datenökosystemen.

Stellen Sie sich eine Welt vor, in der Telemetrie-Pipelines nahtlos in Datenseen eingebettet werden können und direkte Verbindungen zu spaltenorientierten Analyseplattformen bieten. Diese durchgängige Zero-Copy-Pipeline ermöglicht den nahtlosen Fluss von Telemetriedaten von der Produktion zu nachgelagerten Systemen und ermöglicht Integrationen, die innerhalb von OpenTelemetry bisher undenkbar waren.

Durch die Sicherung der Einbettbarkeit, die Priorisierung strenger Speicherkontrollen und die Aktivierung der Thread-pro-Core-Laufzeitunterstützung stellt Phase 2 sicher, dass dieses auf Rust basierende Paradigma nicht nur die Erwartungen übertrifft, sondern auch für Entwickler und Unternehmen gleichermaßen zugänglich bleibt.

Ein einheitlicher Ansatz: Rust trifft auf Go

Trotz des Hypes um Rust bedeutet Phase 2 nicht, Golang hinter sich zu lassen. Tatsächlich unternehmen F5 und Microsoft sorgfältige Schritte, um die Kompatibilität zwischen Go- und Rust-Pipelines sicherzustellen. Adapter und vorhandene OpenTelemetry Collector-Komponenten, die in Golang geschrieben sind, werden weiterhin unterstützt und gewartet. Dadurch wird die Interoperabilität sichergestellt, sodass Unternehmen das beste Toolset für ihre Arbeitsabläufe auswählen können, ohne auf eine einzige Sprache festgelegt zu sein.

Dieser einheitliche Ansatz steht im Einklang mit dem Engagement von OpenTelemetry, das Ökosystem zu erweitern und nicht zu zerstören. Durch die Überbrückung von Rust- und Go-Pipelines als Teil eines vernetzten Workflows stellt die Zusammenarbeit sicher, dass OpenTelemetry für seine vielfältige Benutzerbasis zugänglich bleibt.

Unterstützung und Beiträge der Branche

Das OpenTelemetry Governance Committee hat Phase 2 gebilligt und dabei die Bedeutung der Erforschung von Rust-basierten Innovationen bei gleichzeitiger Wahrung der Harmonie innerhalb des breiteren OpenTelemetry-Ökosystems anerkannt. Beiträge von F5, wie die Bibliothek „Beaubourg“, haben bereits eine solide Grundlage geschaffen, auf der aufgebaut werden kann.

Durch die Zusammenarbeit von F5 und Microsoft bei diesem Vorhaben optimieren sie nicht nur die Leistung – sie öffnen Türen zu spannenden Möglichkeiten für die Welt der Telemetrie. Diese Investition in Innovationen spricht Bände über das Engagement von OpenTelemetry, an der Spitze der Open-Source-Telemetriesysteme zu bleiben.

Wie geht es weiter?

Für diejenigen, die den Fortschritt von OpenTelemetry mit Apache Arrow verfolgen, stellt Phase 2 einen großen Sprung nach vorn in Bezug auf Effizienz, Skalierbarkeit und Flexibilität dar. Durch die optimale Nutzung des Potenzials von Rust und Apache Arrow hat diese Zusammenarbeit das Potenzial, die Art und Weise, wie Telemetriedaten erstellt, verarbeitet und genutzt werden, neu zu definieren.

Während die technische Community auf die Ergebnisse dieser ehrgeizigen Phase wartet, ist eines klar: OpenTelemetry mit Apache Arrow trägt dazu bei, die Zukunft verteilter Observability-Systeme zu gestalten.

Bleiben Sie auf dem Laufenden, um weitere Einblicke in die Entwicklungen der Phase 2 zu erhalten und zu erfahren, wie dieses Projekt den Weg in eine leistungsstarke, spaltenbasierte Datenzukunft ebnet. Lassen Sie uns Großes bauen – und zwar schnell.

Die Zusammenarbeit von F5 und Microsoft verkörpert den Geist der Open-Source-Innovation und wir sind gespannt, wie diese Bemühungen OpenTelemetry für uns alle verbessern. Gemeinsam übernehmen wir nicht nur moderne Tools – wir definieren neu, was möglich ist. Weitere Informationen finden Sie im Blogbeitrag von Microsoft