はじめに
現代の企業において、システムの信頼性とパフォーマンスはビジネスの成功に直結します。特に金融サービス業では、膨大なデータ処理と高可用性が求められ、可観測性(Observability)の重要性は日に日に増しています。本記事では、MSCIが遺留供給商ツールからOpenTelemetryへ移行し、可観測性を拡張した実踐を紹介します。OpenTelemetryの特徴、技術的アーキテクチャ、実裝の成果、および今後の展望について詳しく解説します。
OpenTelemetryとは?
OpenTelemetryは、CNCF(Cloud Native Computing Foundation)が主導するオープンソースプロジェクトで、アプリケーションの可観測性を実現するための標準化されたフレームワークです。このプロジェクトは、**トレース(Tracing)、メトリクス(Metrics)、ログ(Logs)**の3つの主要な信號を統合的に収集・処理し、システム全體の狀態を把握するための基盤を提供します。
主な特徴
- 柔軟性:アプリケーションの種類や環境にかかわらず、さまざまな信號を収集可能です。
- オープンスタンダード:特定の供給商に依存せず、Elasticsearch、Prometheus、Jaegerなどの既存ツールと互換性を持ちます。
- 統一抽象層:既存のツールやインフラと連攜し、システムの再構築を最小限に抑えながら統合可能です。
- 拡張性:クラウドネイティブ環境でのスケーラビリティを確保し、今後の技術変化に迅速に対応できます。
MSCIにおける実裝と技術的アーキテクチャ
MSCIは、440億ドル規模の金融サービス企業で、投資決定支援ツールを提供しています。技術的に、Azure、GCP、AWSなどの多クラウド環境を採用しており、6,000人のエンジニアが運用しています。しかし、55年の自然な成長と買収の積み重ねにより、ツールのフラグメンテーションとチーム間の孤島化が深刻な課題となっていました。
実裝のステップ
- 探索段階(2021年):Javaベースのテストアプリケーションを用いて、OpenTelemetryのJVMメトリクス収集能力を検証し、開発チームと協力してアプリケーションの儀表化を開始。
- 推進と統合(2022年):標準化されたオンボーディングプロセス(Onboarding Scorecard)を導入し、80%のアプリケーションを儀表化。チーム間の協力體制を強化。
- 最適化と拡張(2023年):ローカリティ原則(Locality Principle)を導入し、クラウドデータストレージの最適化を実施。自動化された儀表化パイプラインを構築。
技術スタック
- OpenTelemetry Collector:統一データ同期レイヤーとして、アプリケーションからの信號を収集。
- Elasticsearch:秒単位で1GBのデータを処理し、ログ、メトリクス、トレースを統合。
- Jaeger:分散型トレースツールとして、Elasticsearchと連攜。
- Prometheus:メトリクスのリアルタイム監視とアラート。
- Grafana:統一視覚化レイヤーとして、ログ、トレース、メトリクスを1つのインターフェースで表示。
- Kubernetes:OpenTelemetry Collectorのデプロイに使用し、Helmchartを活用したバージョン管理を実現。
成果と業務への影響
技術的成果
- 高スケーラビリティ:秒単位で1GBのデータ処理を実現し、複雑なシステムの監視を可能に。
- コスト削減:CNCFエコシステムを活用し、供給商依存とライセンス費用を削減。
- 統一データレイヤー:維持コストの削減とチーム間の協業効率の向上。
業務的成果
- 問題検出時間(MTD)の30%削減:OpenTelemetryの統合により、障害の早期発見が可能に。
- 自動化パイプライン:新アプリケーションの儀表化を自動化し、即時での監視を実現。
- 可観測性カバレッジ率80%:アプリケーション全體の監視を可能にし、業務の安定性を確保。
面臨する課題と解決策
主な課題
- 遺留システムの統合:データ同期や開発者の抵抗(コード変更の必要性)。
- 儀表化の再構築:既存のダッシュボード(舊言語A)の再設計。
- オープンソースツールの運用:OpenTelemetryの安定性と拡張性を確保するためのチーム責任。
- データ規模管理:日均2TB以上のデータ処理に向けた異常検出メカニズムの導入。
解決策
- 抽象レイヤー設計:OpenTelemetryを基盤に、既存のデータ孤島を保持しつつ段階的に統合。
- 儀表化優先:アプリケーションの儀表化を優先し、次にデータ処理と可視化の最適化。
- 自動化パイプライン:KubernetesとHelmchartを活用した迅速なデプロイとバージョン管理。
- ドキュメントとトレーニング:技術ドキュメントと簡易な學習資料を提供し、學習曲線を低減。
- 継続的な進化:eBPFなどの新技術への探索を継続し、可観測性アーキテクチャの柔軟性を強化。
今後の方向性と技術的展望
- eBPF技術の活用:Kubernetesクラスタ內での端到端依存分析を実現。
- 顧客洞察の統合:ユーザーのニーズを予測し、アプリケーションのパフォーマンス問題を早期に発見。
- 多観測アーキテクチャの実験:LGTMシナリオを評価し、複數の観測スタックを並行してテスト。
- 生成AIの支援:技術問題の解決をAIで支援し、開発効率を向上。
結論
OpenTelemetryは、MSCIが遺留供給商ツールから移行し、可観測性を拡張するための中心的な技術となりました。このアプローチにより、システムの安定性と障害対応能力が向上し、今後の技術革新にも柔軟に対応できる基盤が築かれました。技術と組織の変革を通じて、OpenTelemetryの導入は、長期的な価値をもたらす戦略的な選択です。