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.
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.
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?
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:
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.
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.
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.
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 .