Inferred Service dependenciesを試してみた

6.9K Views

November 19, 24

スライド概要

2024/11/20開催の「Japan Datadog User Group Meetup#6」で話したスライドです。
https://datadog-jp.connpass.com/event/334594/

profile-image

SRE/テックリード 過去のスライドはこちら https://speakerdeck.com/tatsuo48

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Inferred Service dependenciesを試してみた 2024/11/20 Japan Datadog User Group Meetup#6 横山達男/tatsuo48

2.

横山 達男(@tatsuo48) Money Forward ・SRE/テックリード SRE NEXT ・コアスタッフ AWSとDatadogが得意です。 家計簿歴:10年

3.

Datadogの事例インタビュー Datadogを活用しプロダクト開発チームによる 自律的なシステム運用を推進

4.

DatadogとかSREとか スライドリンク https://www.docswell.com/user/tatsuo48

5.

知ってもらいたいこと ● ● Datadog APMを使っていてService Mapがわかりづらいなと感じたら Inferred Service dependenciesがおすすめ!

6.

お話すること ● ● ● ● ● Datadog APMについて APMを使う上での困りごと Inferred Service dependencies 試してみた 今後の展望&まとめ

7.

Datadog APMについて

8.

Datadog APMについて ● Datadogが提供するApplication Performance Monitoring ○ ● Datadog APM 皆さんも使っていると思います

9.

Datadog APMについて ● Datadogが提供するApplication Performance Monitoring ○ ● Datadog APM 皆さんも使っていると思います

10.

とても便利

11.

APMを使う上での困りごと

12.

Service Mapがみづらい ● あなたの会社のService Mapは見やすいですか?

13.

Service Mapがみづらい ● こんな感じだったりしませんか?

14.

Service Mapがみづらい ● ● こんな感じだったりしませんか? 実際はこんな構造が何個もあったり

15.

Service Mapがみづらい

16.

Service Mapがみづらい なんかいっぱいあ るサービス群

17.

なんかいっぱいあるサービス群 ● Datadogのデフォルト挙動 ○ ○ ● 結果 ○ ○ ● DBも1サービス httpリクエストのトレースも 1サービス 1つのコードベースに APMを入れると何倍ものサービス に 直感的ではない挙動 みづらい ○ ちょっととっつきづらさを感じる人も なんかいっぱいあ るサービス群

18.

なんかいっぱいあるサービス群 ● Service Catalog機能を使う上でもこの挙動は不 便 ○ アプリとそのアプリの DB、httpリクエストを表すサービス がそれぞれService Catalogに別として存在 なんかいっぱいあ るサービス群

19.

なんかいっぱいあるサービス群 ● よく聞かれる質問として認識済み ○ APM Troubleshooting

20.

Service Mapがみづらい

21.

Service Mapがみづらい 複数サービスから 依存が集中した サービス

22.

複数サービスから依存が集中したサービス ● 例えばRuby ○ ○ ● DB接続にmysql2 gemを利用 初期設定では mysql2というサービス名を利用 弊社では複数プロダクトがRuby製 複数サービスから 依存が集中した サービス

23.

複数サービスから依存が集中したサービス ● 結果 ○ ○ mysql2サービスに依存が集中する 確かにmysql2みんなつかっているし正しい ■ けど別にそれを Service Mapで表したくはない 複数サービスから 依存が集中した サービス

24.

ちょっと不便

25.

Inferred Service dependencies

26.

Inferred Service dependencies ● 分割されているサービスを統合 ○ ○ ● 󰢃DBで1サービス、httpリクエストで1サービス 󰢐1つのサービスとして表示 オペレーションの単位では分かれたまま ○ オペレーション単位で処理を確認できる利便性は維 持

27.

導入方法 ● ● 詳細は以下をご参照ください ○ Inferred Service dependencies ポイントは3つ ○ ○ ○ AgentのバージョンUP ■ 環境変数も何個か追加必要、バージョンによって必要なものが微妙に違う アプリ側にも環境変数追加 ■ こちらは1個追加するのみ コード内で明示的にインテグレーションのサービス名を設定している箇所を削除 ■ これがあると、上記 2つを有効化してもサービスが統合されないので注意 ■ refs: Service Overrides

28.

試してみた

29.

試してみた ● 3パターン ○ ○ 有効化前 ■ 各サービスへの明示的なサービス名の指定あり ■ 各サービスへの明示的なサービス名の指定なし 有効化後 ■ 各サービスへの明示的なサービス名の指定なし

30.

試してみた ● 有効化前 ○ 各サービスへの明示的なサービス名の指定あり なんかいっぱいあ るサービス群

31.

試してみた ● 有効化前 ○ 各サービスへの明示的なサービス名の指定なし 複数サービスから 依存が集中した サービス

32.

試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし DB,HTTPリクエ スト含め、単一の サービスとして表 示 通信先は推定 サービス (Inferred Service)として表 示

33.

試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし 複数サービスから 依存が集中した サービスなし

34.

試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし アプリケーション 内で www.google.c omへのアクセス を送っていること もわかってうれし い

35.

試してみた ● 有効化後 ○ 各サービスへの明示的なサービス名の指定なし DB,HTTPリクエ スト含め、単一の サービスとして表 示 通信先は推定 サービス (Inferred Service)として表 示 複数サービスから 依存が集中した サービスなし アプリケーション 内で www.google.c omへのアクセス を送っていること もわかってうれし い

36.

見やすくなって解決!

37.

まとめ

38.

まとめ ● ● ServiceMapがもっと便利になる機能のご紹介でした! まだプライベートベータなのでこちらから申し込み! ○ Private Beta Link

39.

宣伝

40.

宣伝(Datadog) ● Datadog Live Tokyo 2024 Reprise 12/18 ○ パネルディスカッションに参加させていただきます 🎉 複数サービスから 依存が集中した サービス

41.

宣伝(弊社) ● 熱烈大歓迎! ○ ○ ● 今日のお話のような Datadogなどのツールの利用改善に全社横断で取り組んでみたい方 SREとして特定のプロダクトの改善に力入れたい方 エンジニアは英語が標準語でグローバルな環境 ○ ○ ○ 3ヶ月間の英語研修で TOEICスコア 665 → 890 になった話 私は500点前後 -> 790点へ 英語を話さないといけない環境があなたを成長させます ■ 多くの人がこの状況をポジティブに捉え、楽しく英語を学んでいます 💪

42.

宣伝(SRE NEXT) ● 🎉SRE NEXT 2025開催決定🎉 ○ SRE NEXT 2025を開催します

43.

おわり ~Fin~