Slide 1

Slide 1 text

逆井(さかさい) @ k6s4i53rx Jagu'e'r Observability-SRE分科会 Meetup#7 オブザーバビリティを民主化してコア分析ループを加速したい話

Slide 2

Slide 2 text

自己紹介 ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー 逆 井 啓 佑 さかさい intro_po.yaml 1 2 3 4 5 6 7 8 9 10 11 Kind: Datadog <- 今週頭にジョインしました Community: - OpenTelemetry Meetup スタッフ - Google Cloud Champion Innovators コミュニティ 逆井(さかさい) @ k6s4i53rx

Slide 3

Slide 3 text

仰々しいタイトルですが、 テレメトリーを関連付けてオブザーバビリティを高めようぜ! & 🥰 Google Cloud Observability を使って、 コア分析ループを加速していこうぜ!という話です。 ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー 本日の内容の要約

Slide 4

Slide 4 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー イントロダクション (オブザーバビリティ) ● オブザーバビリティ? ○ 外部シグナルから推測されるシステムの状態を推論する能力 ● 何が嬉しいのか? ○ 例えば、障害モード時(デバッグの観点) ※ 低頻度でサービスの応答時間が長くなるメトリクスがあるケース

Slide 5

Slide 5 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー イントロダクション (オブザーバビリティ) ● オブザーバビリティ? ○ 外部シグナルから推測されるシステムの状態を推論する能力 ● 何が嬉しいのか? ○ 例えば、障害モード時(デバッグの観点) ※ 低頻度でサービスの応答時間が長くなるメトリクスがあるケース 経験豊富なベテランメンバー (仙人) (経験から) サービス A の 処理 B 辺りがくさいな

Slide 6

Slide 6 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー イントロダクション (オブザーバビリティ) ● オブザーバビリティ? ○ 外部シグナルから推測されるシステムの状態を推論する能力 ● 何が嬉しいのか? ○ 例えば、障害モード時(デバッグの観点) ※ 低頻度でサービスの応答時間が長くなるメトリクスがあるケース 経験豊富なベテランメンバー (仙人) (経験から) サービス A の 処理 B 辺りがくさいな 問題のあるメトリクスを検知 よりカーディナリティの高い (情報量の多い)関連するトレースにジャンプ システムに 精通しきっていない メンバー トレースからボトルネックのサービス A 特定 スパンから処理 B で遅延しているか特定

Slide 7

Slide 7 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー イントロダクション (オブザーバビリティ) ● オブザーバビリティ? ○ 外部シグナルから推測されるシステムの状態を推論する能力 ● 何が嬉しいのか? ○ 例えば、障害モード時(デバッグの観点) ※ 低頻度でサービスの応答時間が長くなるメトリクスがあるケース 経験豊富なベテランメンバー (仙人) (経験から) サービス A の 処理 B 辺りがくさいな 問題のあるメトリクスを検知 よりカーディナリティの高い (情報量の多い)関連するトレースにジャンプ システムに 精通しきっていない メンバー トレースからボトルネックのサービス A 特定 スパンから処理 B で遅延しているか特定 コア分析 ループ (の一例) 直感ではなく 事実が起点 (第一原理からデバッグ) 参考:オブザーバビリティ・エンジニアリング Charity Majors, Liz Fong-Jones, and George Miranda

Slide 8

Slide 8 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー 参考 ※※※ 参考 第一原理からのデバッグや、コア分析ループについては、 オブザーバビリティエンジニアリング第8章で具体的に語られていて参考になります。 そのような環境においては "好奇心の強いエンジニアが最高のデバッガーになり得る" 参考:オブザーバビリティ・エンジニアリング Charity Majors, Liz Fong-Jones, and George Miranda

Slide 9

Slide 9 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー オブザーバビリティの民主化と SRE コア分析ループを回すために以下が重要な要素 ● 回すために、情報量の高いテレメトリーを収集するための計装 をサービスに行う ● 素早く回すために、"テレメトリー同士の関連付け" をして計測する ● (使っているオブザーバビリティツールを使い倒して、コア分析を自動化する)

Slide 10

Slide 10 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー オブザーバビリティの民主化と SRE コア分析ループを回すために以下が重要な要素 ● 回すために、情報量の高いテレメトリーを収集するための計装 をサービスに行う ● 素早く回すために、"テレメトリー同士の関連付け" をして計測する ● (使っているオブザーバビリティツールを使い倒して、コア分析を自動化する) しかし、大規模 PJ や 複数チームにおいて、チーム間のオブザーバビリティ格差が課題 になりがち... ● マイクロサービスの途中で 分散トレースが途切れている ● テレメトリーの 属性情報 / ラベル(ビジネス上重要な顧客や店舗 ID なども含む)に濃淡 がある ● サービスによって メトリクスやプロファイル 取得していたり、いなかったり ● テレメトリー同士の関連付け がなされていたり、なされていなかったり ● e.t.c...

Slide 11

Slide 11 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー オブザーバビリティの民主化と SRE コア分析ループを回すために以下が重要な要素 ● 回すために、情報量の高いテレメトリーを収集するための計装 をサービスに行う ● 素早く回すために、"テレメトリー同士の関連付け" をして計測する ● (使っているオブザーバビリティツールを使い倒して、コア分析を自動化する) しかし、大規模 PJ や 複数チームにおいて、チーム間のオブザーバビリティ格差が課題になりがち ● マイクロサービスの途中で分散トレースが途切れる ● テレメトリーに付与されるアトリビュート(ビジネス上重要な顧客や店舗 ID なども含む)に濃淡がある ● サービスによってメトリクスやプロファイル取得していたり、いなかったり ● テレメトリー同士が関連付けられていたり、られていなかったり ● e.t.c... このようなチーム横断的課題に対して、 横串で課題解決を行い格差是正を図っていくような動きを SRE として、 ● オブザーバビリティセットアップ方法の標準化 ● (それらモジュールの開発と配布)

Slide 12

Slide 12 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー オブザーバビリティの民主化と SRE このようなチーム横断的課題に対して、 横串で課題解決を行い格差是正を図っていくような動きを SRE として... ● オブザーバビリティセットアップ方法の標準化 ● それらモジュールの開発と配布 コア分析ループを回すために以下が重要な要素 ● 回すために、情報量の高いテレメトリーを収集するための計装 をサービスに行う ● 素早く回すために、"テレメトリー同士の関連付け" をして計測する ● (使っているオブザーバビリティツールを使い倒して、コア分析を自動化する) しかし、大規模 PJ や 複数チームにおいて、チーム間のオブザーバビリティ格差が課題 になりがち... ● マイクロサービスの途中で分散トレースが途切れる ● テレメトリーに付与されるアトリビュート(ビジネス上重要な顧客や店舗 ID なども含む)に濃淡がある ● サービスによってメトリクスやプロファイル取得していたり、いなかったり ● テレメトリー同士の関連付け がなされていたり、なされていなかったり ● e.t.c...

Slide 13

Slide 13 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー テレメトリー同士の関連付け テレメトリー同士の関連付けにより、コア分析ループを回す一助となる ❶ エラーログから、関連するスパンを特定する ❷ 異常なメトリクス値から、原因となるトレースを特定する ● オブザーバビリティ界隈でよく目にする "looking for a needle in a haystack" ( 膨大な情報から探しているものを目的を持って即座に見つける ) に通ずる ログ メトリクス ✔ Status OK ✔ Status OK ✔ Status OK ✔ Status OK ❌ ERROR トレース Trace Span A Span B Span C で ERROR & 遅延 ❶ ❷

Slide 14

Slide 14 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー テレメトリー同士の関連付け on Google Cloud Observability テレメトリー同士の関連付けにより、コア分析ループを回す一助となる ❶ エラーログから、関連するスパンを特定する ❷ 異常なメトリクス値から、原因となるトレースを特定する ● オブザーバビリティ界隈でよく目にする "looking for a needle in a haystack" ( 膨大な情報から探しているものを目的を持って即座に見つける ) に通ずる ログ メトリクス ✔ Status OK ✔ Status OK ✔ Status OK ✔ Status OK ❌ ERROR トレース Trace Span A Span B Span C で ERROR & 遅延 ❶ ❷ 🥰 Google Cloud Observability スタック を使うと関連付けたテレメトリーをいい感じに表示できる ( 今回は時間の都合上、ログとトレース )

Slide 15

Slide 15 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー デモ ● Google Cloud Stack: Cloud Logging / Cloud Trace ※ 細かい仕様はドキュメント参考:Cloud Logging との統合 ( https://cloud.google.com/trace/docs/trace-log-integration?hl=ja ) ● デモは GitHub に公開してるので興味のある方は確認してください https://github.com/keisukesakasai/jaguer-o11y-sre-07 アプリ Otel Collector ログ Cloud Trace トレース Trace ID Cloud Logging googlecloud exporter トレース ログ Trace ID ログフィールドに TraceID と Span ID を埋め込む 関連付け

Slide 16

Slide 16 text

デモ ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー

Slide 17

Slide 17 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー トレースとメトリクスも Google Cloud Observability でできるよ https://speakerdeck.com/k6s4i53rx/otel-trace-exemplar (宣伝) 先日 Findy さんのイベントでやりました

Slide 18

Slide 18 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー まとめ ● サービス / プロジェクト横断的な、 オブザーバビリティの課題に対する技術的な支援を SRE チームで実施 ● オブザーバビリティを高める上で、テレメトリー同士を関連付ける ことは重要。 そのようなノウハウを養うための計装技術を習得することはとても大事です ● 触れなかったけどプロファイルも Primary Signals としてあります。 今後 プロファイルと他のテレメトリーの関連付け などもできるようになってくると思うので注目

Slide 19

Slide 19 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー めちゃくちゃ楽しみです。北海道にとても行きたいです。 https://event.cloudnativedays.jp/cnds2024/proposals/650 みんなで行こうぜ!

Slide 20

Slide 20 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー 記念写真-1

Slide 21

Slide 21 text

ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー 記念写真-2

Slide 22

Slide 22 text

記載されている会社名、商品名、 またはサービス名は、各社の商標登録または商標です。 ー Jagu'e'r Observability-SRE分科会 Meetup#7 ー