ブログ | CTO オフィス

Apache Arrow と OpenTelemetry: オープンソースが可観測性を高める方法

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2023年4月19日公開

あらゆる業界の企業にオープン ソース ソフトウェアがどれだけ普及しているかを示す統計は無数にあります。 アプリは80%以上がオープンソースコンポーネントで構成されており、インターネットは基本的にオープン ソース ソフトウェアであるNGINX上で動作しています

しかし、オープンスタンダードも同様に数多く存在します。 オープンソースのコミュニティ アプローチを使用して開発および改良された標準により、製品、プロジェクト、インフラストラクチャをサポートする素晴らしいエコシステムが実現します。

OpenTelemetry はそうした取り組みの 1 つであり、運用データ (テレメトリとも呼ばれます) の生成、取り込み、処理の標準となっています。 2023 年観測性イノベーション レポートの回答者のほぼ 3 分の 1 (32%) が「OpenTelemetry のサポートは必須」と回答し、50% がベンダー製品においてそれが非常に重要であると述べています。 回答者の3分の1強(36%)が組織内でOpenTelemetryを使用しています。」

可観測性は IT スタック全体のデータ ポイントに依存するため、テレメトリの標準化は非常に重要です。 つまり、ネットワーク メトリック、サーバー ログ、トレースなど、すべてがまったく異なる種類のインフラストラクチャとシステムから取得されます。 単純なapplicationであっても可動部分が多すぎるため、特定の時点でのアプリの状態を観察するために必要なすべてのデータを確実に収集できないため、真実を示す単一の情報源は存在しません。 テレメトリの生成方法を標準化することは、デジタル信号を正規化し、分析で適切なデータ ポイントをすべて活用して正確で実用的な洞察を提供できるようにするための 1 つの方法です。

しかし、テレメトリを標準化しても、フルスタックの可観測性という究極の目標に到達することに関連するすべての課題が解決されるわけではありません。

運用データを扱う上での大きな問題の 1 つは、その量です。 組織がパフォーマンスに関する潜在的な問題や攻撃の試みについて最新情報を把握するために頼りにしているデジタル信号は、他の種類のデータよりも高速かつ激しく生成されます。 F5 では、ポートフォリオ全体で OpenTelemetry を標準として採用しているため、私たちはこれを身近に、個人的に知っています。 BIG-IP や NGINX などの当社製品は、applicationsやデジタル サービスを提供、保護する上でその性質と役割を担っており、さまざまな理由から、メトリックやログなどの大量のデータが生成されます。 そのデータの転送と処理は、テレメトリ パイプラインに関連するコストのかなりの部分を占めます。

この課題に対処するため、著名なエンジニアである Laurent Quérel 氏はApache Arrowに参加し、大量のテレメトリの効率を高めるために OpenTelemetry プロジェクトに取り組み始めました。

ベンチマーク結果によると、Apache Arrow は、テレメトリ データを数百以上のエンティティのバッチにグループ化できる場合に特に、テレメトリ データの転送と処理に大きな利点をもたらします。 データの列構成により圧縮性が向上し、このメモリ レイアウトにより、さまざまなキャッシュ レベルと SIMD 命令の使用が最適化され、処理速度が大幅に向上します。 さらに、Arrow エコシステムは OpenTelemetry を補完する優れた機能として機能し、クエリ エンジン、ストリーム処理パイプライン、特殊な分析ファイル形式との統合を強化します。

Apache Arrow と Laurent の取り組みの詳細については、Apache Arrow サイトでのテクノロジーに関する私たちの経験に関する 2 つの記事のうちの最初の記事をお読みください。