こんにちは!Webアプリケーションエンジニアの 川本 です!
この記事は Enigmo Advent Calendar 2024 の 23日目の記事です。
2024年12月18日に開催された Datadog Live Tokyo 2024 Reprise へ参加してきました。
10月に行われた Datadog Summit Tokyo 2024 にも参加したのですが、イベント内容の充実度とそこから得た学びが多かったことから今回のイベントにも参加を決めました。
Datadog Summit Tokyo 2024 へ参加した際のレポートを 2日目のAdventCalenderに投稿しているので、気になった方はこちらも合わせてご覧ください。
印象に残ったトピック
今回のイベントを通して以下のトピックが印象に残りました。
ボトルネック特定までの流れ
サイバーエージェント社の赤野さんの講演で紹介されていた、APIパフォーマンス改善を行なった際に APM Trace Queries を使ってボトルネック特定の流れが非常に参考になりました。
APM Trace Queriesは Span の関係に基づいて Trace の検索、集計ができる機能です。
例えば ServiceA から直接呼び出されている ServiceB または ServiceC の Span を含むトレースを検索する場合、トレースクエリ演算子を用いて以下のように表現することができます。
ServiceA => ServiceB | ServiceC
APM Trace Queries についての詳細
ボトルネック特定までの流れは以下にように紹介されておりました。
- APM Trace Queries を使って BFF のレイテンシに対して処理時間の割合が大きいマイクロサービスAPIを可視化
- APIごとに APM Trace を確認して怪しい Span がないかを探す
- Continuous Profiler でボトルネックになっている関数を特定
私もパフォーマンス改善の際に同じような手順で改善を試みたことがあるのですが、APM Trace Queriesについてはここまで活用できていなあったので非常に参考になりました。
また Datadog を使ったボトルネック特定の手順は属人化しないと思うので、手順としてチームに共有することもできるのでとてもいいなと思いました。
オブザーバビリティツールの統一
サービスによっては歴史的経緯やマイクロサービス化等によってオブザーバビリティツールが統一されていない状況があるかと思います。
しかし、このような状況ですとツールの管理者は事情を把握しているので臨機応変に使いわけられるかと思いますが、利用者は最初どれを使えばよいのか混乱を招く可能性があります。
他にもWantedly社の田中さんの講演ではツールを統一することには以下のようなメリットがあると紹介されており非常に参考になりました。
- 計装ライブラリへの依存が減りパフォーマンス向上
- 計装ライブラリ同士の競合による不具合の解消
- サービス利用費用の圧縮
弊社では Datadog が主に使われていますが、完全には統一されておらず他のツールと併用している状況です。私自身も入社当初どのツールを見れば良いのか迷って質問した経験があります。社内の誰でもオブザーバビリティを活用できるようにツールは統一していきたいです。
コスト管理
コスト管理に関する興味深い点として、オブザーバビリティツールが従量課金モデルかユーザー数課金モデルかで大きく違ってくるということです。
従量課金の場合はコスト管理は難しいが、コストコントロールはしやすい。 ユーザー数課金の場合はコスト管理はしやすいが、コストコントロールは難しい。
これらは組織によってツール選定の基準に大きく関わってきそうです。
従量課金のDatadog www.datadoghq.com
ユーザー数課金のNew Relic newrelic.com
エンドポイントごとの担当者(Owner)を可視化
大規模なモノリシックなサービスでエンドポイントが多数ある場合、どのエンドポイントが自分のチームが管理しているのものなのか把握するのが難しいことがあると思います。
リクルート社の小檜山さんの講演で、エンドポイントのOwner一覧をダッシュボードで見れるようにしたという事例が非常に参考になりました。
以下の資料で紹介されております↓ speakerdeck.com
弊社も大規模なRailsのモノリスが存在しており、お問い合わせ対応の際にすぐにエンドポイントのOwnerがどこかわからずに混乱するといったことがあります。この事例は弊社でも適用できそうだと感じました。
おわりに
様々な会社のオブザーバビリティ、Datadogの活用事例が聞けてとても勉強になりました。
また Datadog をエンジニア組織に普及することの難しさはどの会社でも語られていましたが、まずは興味を持ってもらう機会を作りだし、ちょっと便利だから使ってみようかなと思ってもらうことが大切なのかなと思いました。
イベント最後に、Datadogのキャップやステッカーをいただきました。
運営の皆様素晴らしいイベントをありがとうございました!
明日の記事の担当は SC本部 の 平澤さんです。お楽しみに。