Slide 1

Slide 1 text

© 2025 NTT DATA Group Corporation 2025/10/27 Observability Conference Tokyo 2025 外接に惑わされない自システムの処理時間SLIを OpenTelemetryで実現した話 株式会社NTTデータグループ 技術革新統括本部 新 浩太朗

Slide 2

Slide 2 text

© 2025 NTT DATA Group Corporation 2 アジェンダ 1. はじめに 2. 本事例の課題意識 3. SLI設計の見直し 4. SLI実現への技術的チャレンジ 5. OpenTelemetry活用によるチャレンジ克服 6. 組織はどう変わったか?

Slide 3

Slide 3 text

© 2025 NTT DATA Group Corporation 3 アジェンダ 1. はじめに 2. 本事例の課題意識 3. SLI設計の見直し 4. SLI実現への技術的チャレンジ 5. OpenTelemetry活用によるチャレンジ克服 6. 組織はどう変わったか?

Slide 4

Slide 4 text

© 2025 NTT DATA Group Corporation 4 自己紹介 プロフィール SREエンジニア @ 株式会社NTTデータグループ 趣味 • ラーメン巡り • 宅鯖 • 週末プログラミング 好きな技術領域 • コンテナ・Kubernetes • (もちろん)Observability Observabilityとの関わり • きっかけはSREとして性能調査をする中で必要性を痛感したこと • PJ内でO11yの拡充をしたりO11yエンジニアとして参画中 • 宅鯖にOtelパイプラインを導入中…! Kotaro7750 @Kotaro7750 個人ブログ Linked icons created by Smashicons - Flaticon 新 浩太朗 Kotaro Arata

Slide 5

Slide 5 text

© 2025 NTT DATA Group Corporation 5 会社紹介 自分の立ち位置 「NTTデータ」社内技術支援組織において 性能を中心とした非機能を横断的に支援する部隊に所属 その名も… まかせいのう 気になる方はご気軽にお問い合わせください 公式サイトより引用 技術支援を実施

Slide 6

Slide 6 text

© 2025 NTT DATA Group Corporation 6 Omni Payment Gateway®について 消費者 Omni Payment Gateway ①決済中継 ②決済代行機能 チャージバック業務 精算/入金 包括契約 加盟店審査 ③デジタルオペレーション 管理画面/ダッシュボード web申込 加盟店 多様な決済手段・ チャネルへの柔軟な対応 加盟店(管理業務) • 取引/精算情報管理 • 取引データ集計/傾向分析 • 不正関連業務 • 券種追加等手続き オンライン決済 対面決済 クレジット決済 コード決済 コンビニ決済 電子マネー決済 ペイジー決済 後払い決済 ・・・ カード会社 銀行 QR事業者 Web API 端末 CX EX チャネルを意識しない シームレスな購買体験 業務の煩雑さを解消したス トレスフリーな従業員体験 双方の価値を高める AP P あらゆる決済シーン/ 業務にご利用いただけるチャネル統合型PSP サービス「Omni Payment Gateway」により 店舗・EC双方の顧客体験、従業員体験を向上、お客様事業の成長を支援しています。 お問い合わせはこちら

Slide 7

Slide 7 text

© 2025 NTT DATA Group Corporation 7 システムアーキテクチャ Google Cloudを中心としたマルチクラウドにおけるKubernetesベースのマイクロサービスアーキテクチャ

Slide 8

Slide 8 text

© 2025 NTT DATA Group Corporation 8 Observabilityアーキテクチャ パブリッククラウドのObservability製品とOSSを組み合わせて利用 OSSを積極的に採用していた歴史的経緯により メトリクスのみOSSを利用

Slide 9

Slide 9 text

© 2025 NTT DATA Group Corporation 9 SLI・SLOについて サービスレベル(サービス品質の尺度)を具体的に運用するための2つの概念 オブザーバビリティ・エンジニアリング SRE サイトリライアビリティエンジニアリング Goal icons created by Freepik - Flaticon Performance icons created by IYIKON - Flaticon

Slide 10

Slide 10 text

© 2025 NTT DATA Group Corporation 10 アジェンダ 1. はじめに 2. 本事例の課題意識 3. SLI設計の見直し 4. SLI実現への技術的チャレンジ 5. OpenTelemetry活用によるチャレンジ克服 6. 組織はどう変わったか?

Slide 11

Slide 11 text

© 2025 NTT DATA Group Corporation 11 既存のSLI 決済APIのSLIとして最もクライアントに近い部分でゴールデンメトリクスを取得していた 決済APIでのSLI • リクエストレート • レスポンスタイム • エラー率

Slide 12

Slide 12 text

© 2025 NTT DATA Group Corporation 12 ふむふむ、教科書的なSLIは出ているのか… 性能のプロを謳うからには本番環境での実績値を見てみよう! 着任時の私

Slide 13

Slide 13 text

© 2025 NTT DATA Group Corporation 13 あれ、このSLIでは何もわからないぞ… しかも誰も見ていないようだ… 5分後の私

Slide 14

Slide 14 text

© 2025 NTT DATA Group Corporation 14 課題意識1 APIの処理分岐 利用者に統一したUXを提供するためにリクエストによって内部のロジックが大きく変わるAPI設計

Slide 15

Slide 15 text

© 2025 NTT DATA Group Corporation 15 課題意識1 APIの処理分岐 個々の処理ロジックの違いを無視したメトリクスとなっていたことで 個別機能の品質の判断に役立てられないSLIとなっていた Timer icons created by Freepik - Flaticon ※数値はあくまでも例であり本システムの実際の性能を表して いるわけではありません

Slide 16

Slide 16 text

© 2025 NTT DATA Group Corporation 16 課題意識2 外接品質の揺らぎ 品質に大きな影響を及ぼす外接システムは同じ決済手段内でも種類があり、品質にも揺らぎがある

Slide 17

Slide 17 text

© 2025 NTT DATA Group Corporation 17 課題意識2 外接品質の揺らぎ 品質に大きな影響を及ぼす外接システムは同じ決済手段内でも種類があり、品質にも揺らぎがある Timer icons created by Freepik - Flaticon ※数値はあくまでも例であり本システムの実際の性能を表して いるわけではありません

Slide 18

Slide 18 text

© 2025 NTT DATA Group Corporation 18 課題意識2 外接品質の揺らぎ ゆらぎのある外接の情報を含んでおり自システムの品質を判断できないSLIとなっていた Timer icons created by Freepik - Flaticon ※数値はあくまでも例であり本システムの実際の性能を表して いるわけではありません

Slide 19

Slide 19 text

© 2025 NTT DATA Group Corporation 19 課題意識のまとめ 見る人がどのような判断に使うのかを無視したSLIとなっていたため役に立たず誰にも見られなかった Cause icons created by Uniconlabs - Flaticon

Slide 20

Slide 20 text

© 2025 NTT DATA Group Corporation 20 アジェンダ 1. はじめに 2. 本事例の課題意識 3. SLI設計の見直し 4. SLI実現への技術的チャレンジ 5. OpenTelemetry活用によるチャレンジ克服 6. 組織はどう変わったか?

Slide 21

Slide 21 text

© 2025 NTT DATA Group Corporation 21 SLI設計見直しのゴール エンジニアからマネージャーまで全員が 「このシステムの品質はどのくらいか?」を 同じ言葉で確認でき意思決定に繋げられる指標 Goal icons created by Freepik - Flaticon

Slide 22

Slide 22 text

© 2025 NTT DATA Group Corporation 22 見直しの方針1 適切なグルーピングで集計する ラベリングを行い異なるロジックを識別できるようなグルーピングを行う Close icons created by Pixel perfect - Flaticon ※数値はあくまでも例であり本システムの実際の性能を表して いるわけではありません

Slide 23

Slide 23 text

© 2025 NTT DATA Group Corporation 23 見直しの方針2 純粋な自システム部分のみを集計する 外接を除いた純粋な自システム部分のみを集計できるようにする Close icons created by Pixel perfect - Flaticon ※数値はあくまでも例であり本システムの実際の性能を表して いるわけではありません

Slide 24

Slide 24 text

© 2025 NTT DATA Group Corporation 24 見直しでどう変わる? Cause icons created by Uniconlabs - Flaticon

Slide 25

Slide 25 text

© 2025 NTT DATA Group Corporation 25 見直しでどう変わる? 今度こそ見た人がアクションの判断を取れるようなSLIを実現できる! Cause icons created by Uniconlabs - Flaticon Solution icons created by Bartama Graphic - Flaticon

Slide 26

Slide 26 text

© 2025 NTT DATA Group Corporation 26 アジェンダ 1. はじめに 2. 本事例の課題意識 3. SLI設計の見直し 4. SLI実現への技術的チャレンジ 5. OpenTelemetry活用によるチャレンジ克服 6. 組織はどう変わったか?

Slide 27

Slide 27 text

© 2025 NTT DATA Group Corporation 27 SLI実装における技術的なチャレンジ カスタムメトリクス実装すればできそうと思っていたけど そこまで簡単な問題ではないぞ…? 検討中の私

Slide 28

Slide 28 text

© 2025 NTT DATA Group Corporation 28 SLI実装における技術的なチャレンジ SLIを収集したいコンポーネントとSLIに必要な情報が分かるコンポーネントが異なる

Slide 29

Slide 29 text

© 2025 NTT DATA Group Corporation 29 SLI実装における技術的なチャレンジ SLIを収集したいコンポーネントとSLIに必要な情報が分かるコンポーネントが異なる

Slide 30

Slide 30 text

© 2025 NTT DATA Group Corporation 30 SLI実装における技術的なチャレンジ SLIを収集したいコンポーネントとSLIに必要な情報が分かるコンポーネントが異なる

Slide 31

Slide 31 text

© 2025 NTT DATA Group Corporation 31 SLI実装における技術的なチャレンジ コンポーネントの間で情報を統合・伝達できるような仕組みがあればよさそうに見える 伝搬じゃない方法はないの?と思った方はAppendixへ

Slide 32

Slide 32 text

© 2025 NTT DATA Group Corporation 32 アジェンダ 1. はじめに 2. 本事例の課題意識 3. SLI設計の見直し 4. SLI実現への技術的チャレンジ 5. OpenTelemetry活用によるチャレンジ克服 6. 組織はどう変わったか?

Slide 33

Slide 33 text

© 2025 NTT DATA Group Corporation 33 OpenTelemetryとは? オープンソース・ベンダー非依存なObservabilityフレームワーク・仕様 OpenTelemetryに準拠していればツール・言語を問わずObservabilityを拡充できる

Slide 34

Slide 34 text

© 2025 NTT DATA Group Corporation 34 Baggage OpenTelemetryに準拠したサービス間でメタデータのやり取りを行うための機能 Baggageによって伝搬されたメタデータを付与する事でシグナルの情報量を高められる Luggage icons created by Freepik - Flaticon

Slide 35

Slide 35 text

© 2025 NTT DATA Group Corporation 35 Baggageによる伝搬の実装 gRPCのinterceptor(通信処理の前後に実行されるフック)でmetadataを利用したBaggageの伝搬を行う Luggage icons created by Freepik - Flaticon ※簡単のため、Interceptor用関数のシグネチャなど一部正 確でない表現をしています 実際のサーバーハンドラの内部でBaggageに値をセットできなくない? と思った方はAppendixへ

Slide 36

Slide 36 text

© 2025 NTT DATA Group Corporation 36 コンポーネント間の情報伝搬 各コンポーネントでBaggageによる伝搬を行うことでSLI実装に必要な情報を伝搬できる Luggage icons created by Freepik - Flaticon

Slide 37

Slide 37 text

© 2025 NTT DATA Group Corporation 37 Baggageの効果 シグナルに対してBaggageで伝搬させた項目を付与することでSLIの他にもObservability全体が向上した

Slide 38

Slide 38 text

© 2025 NTT DATA Group Corporation 38 Baggageの注意点 Baggage自体は単なるKVストアでありスキーマはないため 自分勝手に入れてしまうと統制が効かなくなる 最大サイズや使用可能文字などが仕様によって決められている プロトコルによっては利用できない場合がある Ex. W3C Propagationでは利用可能だがB3では利用不可能 Baggage情報が外部に漏れないようにする必要がある Limitation icons created by GOWI - Flaticon No sugar icons created by Sudowoodo - Flaticon Rules icons created by Freepik - Flaticon Cyber security icons created by Graphix's Art - Flaticon

Slide 39

Slide 39 text

© 2025 NTT DATA Group Corporation 39 アジェンダ 1. はじめに 2. 本事例の課題意識 3. SLI設計の見直し 4. SLI実現への技術的チャレンジ 5. OpenTelemetry活用によるチャレンジ克服 6. 組織はどう変わったか?

Slide 40

Slide 40 text

© 2025 NTT DATA Group Corporation 40 組織はどう変わったか? エンジニアからマネージャーまで全員が 「このシステムの品質はどのくらいか?」を 同じ言葉で確認でき意思決定に繋げられる指標 マネージャーや開発・SREなど多くの人が 「自システムの処理時間」を元に会話するようになり 外接による見かけ上の遅延に惑わされないようになった Success icons created by hqrloveq - Flaticon Goal icons created by Freepik - Flaticon

Slide 41

Slide 41 text

© 2025 NTT DATA Group Corporation 41 今後の展望 今回実現できるようになったSLIを基にしてSLOを策定し より自信をもってサービス品質に向き合えるようにする Baggageで伝搬できるようになった項目を 処理時間以外の指標にも活用していく Goal icons created by Freepik - Flaticon

Slide 42

Slide 42 text

© 2025 NTT DATA Group Corporation 42 まとめ SLIを設計する際には「そのSLIは誰がどのような判断に活用するのか?」を 念頭において設計する必要がある OpenTelemetryのBaggageによってコンポーネント間で情報を伝搬させ 有用な情報をテレメトリシグナルに付与することができる Solution icons created by Bartama Graphic - Flaticon Luggage icons created by Freepik - Flaticon

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

© 2025 NTT DATA Group Corporation 44 Appendix

Slide 45

Slide 45 text

© 2025 NTT DATA Group Corporation 45 Baggage以外に考えられる方法 机上ではあるが使えるかも?と感じた方法 ◼ Span Metrics OpenTelemetry CollectorのSpan Metrics Connectorを用いるとスパンからREDメトリクスを生成することができる これを使って自システム処理部分のスパンをメトリクスにすれば良いのでは?というアイデア しかし、 • 「スパンAからスパンBを引いた部分のメトリクス化」のような複雑な処理はできない • スパンAのメトリクスからスパンBのメトリクスを引くことならできるが、厳密な計測ではない • SLI自体は作れるがログやトレースへの情報付与は完全にはできない • 本システムではそもそもOpenTelemetry Collectorが導入されていない などの理由から検証は実施せず

Slide 46

Slide 46 text

© 2025 NTT DATA Group Corporation 46 Golangでリクエストハンドラ内部からBaggageの項目を変更する方法 本編スライド中の例だとあくまでもinterceptor内部からしかBaggageを操作していない しかし実際のユースケースだと実際のリクエストハンドラ内部でBaggageの値を操作できる必要がある リクエストハンドラに渡すContext構造体はinterceptorからハンドラへの片方向であるため Contextに書き込み用のSyncMapを持たせてハンドラでの変更をinterceptorで取得できるようにする