Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

うちにも入れたいDatadog

Recruit
December 11, 2024

 うちにも入れたいDatadog

moppのDatadog Live Tokyo 2024 Reprise発表資料になります。

Recruit

December 11, 2024
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. うちにも入れたい Datadog 自己紹介 (1/2) 2017.04 株式会社ドワンゴへ入社 2019.06 Quipperへ転職 (スタディサプリにJoin) 2021.10

    株式会社リクルートへ転籍 ソフトウェアエンジニア 小檜山 裕太 / mopp Yuta Kobiyama 株式会社リクルート プロダクト統括本部 プロダクト開発統括室 プロダクトディベロップメント室 販促領域プロダクトディベロップメント5ユニット (まなび) 教育支援小中高プロダクト開発部 学習支援開発グループ JDDUG Member Japan Datadog User Group
  2. うちにも入れたい Datadog 自己紹介 (2/2) ⚫ 社内ではWeb devs ◆ フルスタックエンジニアが近い概念 ◆

    Ruby/Rails, Go, Elixir, Kubernetes manifest, React, Terraform, etc… 基本的になんでもやる ⚫ mopp は ◆ バックエンドが得意 ◆ チームリードも務める
  3. うちにも入れたい Datadog Agenda | 前半戦 後半戦 アンサーソング for 「みんな Datadog

    を使ってくれない...」 Datadog で何見てる? 〜弊組織の Dashboard 紹介〜
  4. うちにも入れたい Datadog 「みんな Datadog を使ってくれない...」 ⚫ JDDUG Meetup の懇親会にてよく耳にする 自分しかメンテしてない

    SREよりも、アプリ実装する 開発者にもっと見て欲しい Datadog 最高! 弊社でもっと使っていきたい でも、どうすれば…
  5. うちにも入れたい Datadog 弊組織の Datadog 普及状況 サービス、チームの単位で Dashboard, Monitor, SLO が作成されている

    Dashboard (Integrations抜き) は約400個あった そろそろ棚卸しが必要かも? APM はほぼ全サービスに導入済み Events に Kubernetes 関連イベントを投入
  6. うちにも入れたい Datadog 以前はどうだったか? 一部の Web dev や SRE が Dashboard

    や Monitor を利用 SLO や APM の活用度合い 低 他社の類似ツールと二重化していた 2019年 (mopp 入社当時)
  7. うちにも入れたい Datadog 普及しているとは? (2/2) ⚫ 「みんな」を少し分解 ◆ 例: 5/30人が使えるとき ⚫

    メンバ単位 ◆ 普及率は16.7% ⚫ チーム単位 ◆ 6チーム有り、5人は全員別チームなら? ◆ 普及率は 5/6 = 83.3% 使えます 使ったこと無い うちの犬種はポメラニアン (よくわかってない)
  8. うちにも入れたい Datadog まずはチームで普及すれば OK (1/3) ⚫ チームの得意/苦手を 把握する手法 ⚫ Skill

    であれば何でも OK ⚫ 全員分をまとめたものが チームの Skill となる Xさん Yさん Zさん とあるチームの Skill Star Map Datadog ☆ Ruby ☆ - まかせな、聞かれたら(調べて)答えられる ◯ - 調べたら出来るよ ✗ - ほぼ未経験、やるときは HELP 欲しい 注意: 「社内で」という枕詞と共にマークすること 世界レベルの人と比べても仕方がない ✗ ✗ Go ◯ ☆ Kubernetes ☆ ◯ ✗ ☆ ◯ ☆ ✗ チームとして ☆ ☆ ☆ ◯ Skill Star Map
  9. うちにも入れたい Datadog まずはチームで普及すれば OK (2/3) ⚫ このチームは 「Datadogを使える」! ⚫ 潜む問題

    ◆ Datadog の属人化 ◆ Go が少し苦手 Xさん Yさん Zさん Datadog ☆ Ruby ☆ - まかせな、聞かれたら(調べて)答えられる ◯ - 調べたら出来るよ ✗ - ほぼ未経験、やるときは HELP 欲しい 注意: 「社内で」という枕詞と共にマークすること 世界レベルの人と比べても仕方がない ✗ ✗ Go ◯ ☆ Kubernetes ☆ ◯ ✗ ☆ ◯ ☆ ✗ チームとして ☆ ☆ ☆ ◯ とあるチームの Skill Star Map
  10. うちにも入れたい Datadog まずはチームで普及すれば OK (3/3) ⚫ さらなる普及は チームの問題事として扱う ⚫ 自分がXさんなら

    ◆ シレッと Dashboard を 作って見せびらかす ⚫ チーム外なら ◆ Xさんと仲良くなって支援する Xさん Yさん Zさん Datadog ☆ Ruby ☆ - まかせな、聞かれたら(調べて)答えられる ◯ - 調べたら出来るよ ✗ - ほぼ未経験、やるときは HELP 欲しい 注意: 「社内で」という枕詞と共にマークすること 世界レベルの人と比べても仕方がない ✗ ✗ Go ◯ ☆ Kubernetes ☆ ◯ ✗ ☆ ◯ ☆ ✗ チームとして ☆ ☆ ☆ ◯ とあるチームの Skill Star Map
  11. うちにも入れたい Datadog 弊組織での普及したポイントを振り返る 1. チェックリストに追加 2. 社内勉強会 3. Monitor/SLO の推進

    4. APM の導入 自己完結チーム Supported by SRE エンジニアの雑談場 下支えする文化的要素
  12. うちにも入れたい Datadog 下支えする文化的要素: エンジニアの雑談場 ⚫ 毎週火曜日に1時間 ⚫ 任意参加 ◆ 意思決定は無し

    ⚫ 技術的な雑談を繰り広げる ⚫ 連載コーナーもある ◆ 例: 月間SRE、Datadog歯磨き random-tech-talk 〇〇を試したら最高便利だった件について ラジオ代わりに耳だけ 登壇資料の壁打ちして欲しい
  13. うちにも入れたい Datadog 下支えする文化的要素: 自己完結チーム (2/4) SRE Web dev 要件とか 聞かないと…

    今すぐS3使った コード書きたい… 欠点 ブロッカー コミュニケーションコスト 知識のサイロ化 SREの作業を待つ 時間や精神力が必要 S3の知識が広まらない
  14. うちにも入れたい Datadog チーム内 下支えする文化的要素: 自己完結チーム (3/4) ⚫ 自己完結な例 Web dev

    SRE Terraform 環境と ドキュメントの整備はするよ わからないことがあったら 呼んでね Web dev S3 作成PR を作った レビューお願い よさそう マージする (デプロイされる)
  15. うちにも入れたい Datadog 下支えする文化的要素: 自己完結チーム (4/4) ⚫ 設計、実装、デプロイ、監視などを一貫してチームで行える ◆ SRE チームや

    QA チームなどの専門チームの支援を受け Web dev チームが主体的に行う ◆ 例: Kubernetes 自体の運用保守は SRE が行うが manifest 記述などは Web devs が行う Datadog 活用でも この原則を適用していく
  16. うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (2/7) ⚫ チェックリストとは Production Readiness Checklist (SRE作成)

    ◆ 本番リリースに抜け漏れはないかな?をチェックする ◆ ここで Web dev の手で 最低限の Dashboard が作成必須になった ◆ Ownership は作成したチームにある 2. 社内勉強会 (2020/01, 2021/06, など) 1. チェックリストに追加 (2019/02) 3. Monitor/SLO の推進 (2019/04~2020/01)
  17. うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (3/7) ⚫ 社内勉強会にて Dashboard の活用支援 ◆ 「関心の高い同志」を見つけるいい機会

    (当時そのような振る舞いをしたか不明) 2. 社内勉強会 (2020/01, 2021/06, など) 1. チェックリストに追加 (2019/02) 3. Monitor/SLO の推進 (2019/04~2020/01)
  18. うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (4/7) ⚫ Web devs に対して SLO が推進され

    その手段として Datadog を利用 ぬくもり運用が Datadog を活用した運用へと置換 2. 社内勉強会 (2020/01, 2021/06, など) 1. チェックリストに追加 (2019/02) 3. Monitor/SLO の推進 (2019/04~2020/01)
  19. うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (6/7) ⚫ マイクロサービス間の SLI が APM に置き換えられた

    4. APM 導入 (2022/06~2022/09, など) サービスA サービスB New リクエストTrace から SLI を計算 Old サービスB自身の計測値を利用 サービス間ネットワークが 考慮されていなかった
  20. うちにも入れたい Datadog Dashboard 磨き込み会 (1/4) 背景 とあるモノリスサービス Ruby による1つの HTTP

    サーバ エンドポイントは 約240個 関係チームは 15チーム Dashboardは 1つ スキーマ定義 一部のみ
  21. うちにも入れたい Datadog Dashboard 磨き込み会 (2/4) チームXが Owner アプリケーション エンドポイント郡A 1つのダッシュボードを15チームで利用のため

    お見合い状態が発生 チームY チームX このグラフいらない 気がするけど誰か 見てるかも… 勝手にグラフ追 加してもいいのか なこれ… チームYが Owner エンドポイント郡B チームZが Owner エンドポイント郡C 問題 お互いのやさしさが仇に… モノリスサービスの Ownership 概略
  22. うちにも入れたい Datadog Dashboard 磨き込み会 (3/4) 勉強会を開催 打ち手 Ownership を大切に モノリスサービス全体の

    Owner チームから一人は参加を依頼 モブプロで知見共有 random-tech-talk の場を利用 誰でも参加可能 勉強会の声を掛けてみると みんなうっすらと問題意識を 持っていたことが判明
  23. うちにも入れたい Datadog Dashboard 磨き込み会 (4/4) 成果 エンドポイントのOwner 一覧が Dashboard で見られるようになった

    既存の施策 • エンドポイントの Owner 一覧を Spreadsheet で手動管理していた • エンドポイント実装全てに CODEOWNER が設定された • Ruby 実行時に Owner を判定 社内ライブラリが作られた 勉強会にて うまいこと噛み合い 既存の施策の全てが偉業すぎる 勉強会開催のタイミングがよかった
  24. うちにも入れたい Datadog シン・エンドポイント一蘭 仕組み 1. GitHub CODEOWNER から エンドポイントの Owner

    を判定 2. Trace に owner tag を付与 3. Generated Metrics で永続化 Generated Metrics がポイント! 標準では直近15分しか Traces は保存されない 利用頻度低のエンドポイントが見え なくなってしまう Traces から Custom Metrics にする ことで長期間維持されるように 一蘭はユーモア
  25. うちにも入れたい Datadog 弊組織の普及ポイントまとめ 自己完結で開発・運用をする という文化 SREチームに感謝 多くをチームに閉じて遂行していくほうが 中長期的に効率がよいはず 徐々に組み込まれるような仕組み やはり一気に広める難しさがある

    新しいものから徐々に浸透させていく手法が 効果的 チームで使ってもらう 個人ではなくチームを対象にする これにより属人化の問題に帰着させる 巻き込み力、会話の場 乗っていき手 本業で手が回らないことはとても多い それでも、声を上げたり、時間を工面するこ と、組織を巻き込んでいくこと、が大切 4つが組み合わさり 今があると痛感
  26. うちにも入れたい Datadog 「 Dashboard どう作ってます? 」 ⚫ JDDUG Meetup の懇親会でたまに耳にする

    XYZ の監視どうしてます? Dashboard を かっこよくしたい (スライドを見て) そのグラフいい感じ だけどどうやっているの?
  27. うちにも入れたい Datadog Code Metrics (1/2) 弊組織は monorepo を採用 1つの Git

    Repo に全コードを格納 歴史深いため負債も多い 古い書き方、古いライブラリ 曖昧な Ownership Owner 技術戦略 DevOps チーム
  28. うちにも入れたい Datadog Code Metrics (1/2) 取得メトリクス例 React の古い書き方 Ruby, Gem

    のバージョン Obsolete な Gem数 GitHub の CODEOWNER の設定有無 可視化すると直したくなる (ふしぎ) 時系列表示することで 成果として可視化できる
  29. うちにも入れたい Datadog Kubernetes Pod 分析 SRE が Devs から 問い合わせ対応などで利用

    Owner SRE チーム OOM killed や Spot interruption は 起きていないか? Pod や Node 状態や想定通りか? などなどを見られる
  30. うちにも入れたい Datadog まとめ ⚫ 弊組織で Datadog がどのように推進されたのかを紹介 ◆ 振り返ると長い時間をかけて 多くの

    devs の尽力によって普及していた ⚫ 具体の Dashboard をご紹介 ◆ 見ている観点、作り方、など参考になれば幸いです