うちにも入れたいDatadog
by
Recruit
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
うちにも入れたい Datadog うちにも入れたい Datadog @mopp Datadog Live Tokyo 2024 Reprise 2024-12-18
Slide 2
Slide 2 text
うちにも入れたい Datadog 自己紹介 (1/2) 2017.04 株式会社ドワンゴへ入社 2019.06 Quipperへ転職 (スタディサプリにJoin) 2021.10 株式会社リクルートへ転籍 ソフトウェアエンジニア 小檜山 裕太 / mopp Yuta Kobiyama 株式会社リクルート プロダクト統括本部 プロダクト開発統括室 プロダクトディベロップメント室 販促領域プロダクトディベロップメント5ユニット (まなび) 教育支援小中高プロダクト開発部 学習支援開発グループ JDDUG Member Japan Datadog User Group
Slide 3
Slide 3 text
うちにも入れたい Datadog 自己紹介 (2/2) ⚫ 社内ではWeb devs ◆ フルスタックエンジニアが近い概念 ◆ Ruby/Rails, Go, Elixir, Kubernetes manifest, React, Terraform, etc… 基本的になんでもやる ⚫ mopp は ◆ バックエンドが得意 ◆ チームリードも務める
Slide 4
Slide 4 text
うちにも入れたい Datadog About スタディサプリ こちらの領域の お話をします。
Slide 5
Slide 5 text
うちにも入れたい Datadog Agenda | 前半戦 後半戦 アンサーソング for 「みんな Datadog を使ってくれない...」 Datadog で何見てる? 〜弊組織の Dashboard 紹介〜
Slide 6
Slide 6 text
うちにも入れたい Datadog お悩み 「みんな Datadog を使ってくれない...」
Slide 7
Slide 7 text
うちにも入れたい Datadog 「みんな Datadog を使ってくれない...」 ⚫ JDDUG Meetup の懇親会にてよく耳にする 自分しかメンテしてない SREよりも、アプリ実装する 開発者にもっと見て欲しい Datadog 最高! 弊社でもっと使っていきたい でも、どうすれば…
Slide 8
Slide 8 text
うちにも入れたい Datadog Datadog 普及は如何に? 御組織で Datadog は 普及していますか?
Slide 9
Slide 9 text
うちにも入れたい Datadog Datadog 普及は如何に? 御組織で Datadog は 普及していますか? Yes! (点数を付けるなら75点くらい?) ※個人の定性的感想です (統計を取る余裕がなかった…)
Slide 10
Slide 10 text
うちにも入れたい Datadog Monitoring/Observability 構成 Amazon CloudWatch Logs Dashboard Monitors, SLO APM Error Tracking Log
Slide 11
Slide 11 text
うちにも入れたい Datadog 弊組織の Datadog 普及状況 サービス、チームの単位で Dashboard, Monitor, SLO が作成されている Dashboard (Integrations抜き) は約400個あった そろそろ棚卸しが必要かも? APM はほぼ全サービスに導入済み Events に Kubernetes 関連イベントを投入
Slide 12
Slide 12 text
うちにも入れたい Datadog 以前はどうだったか? 一部の Web dev や SRE が Dashboard や Monitor を利用 SLO や APM の活用度合い 低 他社の類似ツールと二重化していた 2019年 (mopp 入社当時)
Slide 13
Slide 13 text
うちにも入れたい Datadog アンサーソング for 「みんな Datadog を使ってくれない...」
Slide 14
Slide 14 text
うちにも入れたい Datadog 弊組織での道のりを振り返る ⚫ 「普及している」を明確にする ⚫ 弊組織で Datadog が普及したポイントを振り返る ⚫ 直近半年での事例
Slide 15
Slide 15 text
うちにも入れたい Datadog 普及しているとは? (1/2) チームとして Datadog が使えること (いま出来ていなくてもやったらできると思えていること)
Slide 16
Slide 16 text
うちにも入れたい Datadog 普及しているとは? (2/2) ⚫ 「みんな」を少し分解 ◆ 例: 5/30人が使えるとき ⚫ メンバ単位 ◆ 普及率は16.7% ⚫ チーム単位 ◆ 6チーム有り、5人は全員別チームなら? ◆ 普及率は 5/6 = 83.3% 使えます 使ったこと無い うちの犬種はポメラニアン (よくわかってない)
Slide 17
Slide 17 text
うちにも入れたい Datadog まずはチームで普及すれば OK (1/3) ⚫ チームの得意/苦手を 把握する手法 ⚫ Skill であれば何でも OK ⚫ 全員分をまとめたものが チームの Skill となる Xさん Yさん Zさん とあるチームの Skill Star Map Datadog ☆ Ruby ☆ - まかせな、聞かれたら(調べて)答えられる ◯ - 調べたら出来るよ ✗ - ほぼ未経験、やるときは HELP 欲しい 注意: 「社内で」という枕詞と共にマークすること 世界レベルの人と比べても仕方がない ✗ ✗ Go ◯ ☆ Kubernetes ☆ ◯ ✗ ☆ ◯ ☆ ✗ チームとして ☆ ☆ ☆ ◯ Skill Star Map
Slide 18
Slide 18 text
うちにも入れたい Datadog まずはチームで普及すれば OK (2/3) ⚫ このチームは 「Datadogを使える」! ⚫ 潜む問題 ◆ Datadog の属人化 ◆ Go が少し苦手 Xさん Yさん Zさん Datadog ☆ Ruby ☆ - まかせな、聞かれたら(調べて)答えられる ◯ - 調べたら出来るよ ✗ - ほぼ未経験、やるときは HELP 欲しい 注意: 「社内で」という枕詞と共にマークすること 世界レベルの人と比べても仕方がない ✗ ✗ Go ◯ ☆ Kubernetes ☆ ◯ ✗ ☆ ◯ ☆ ✗ チームとして ☆ ☆ ☆ ◯ とあるチームの Skill Star Map
Slide 19
Slide 19 text
うちにも入れたい Datadog まずはチームで普及すれば OK (3/3) ⚫ さらなる普及は チームの問題事として扱う ⚫ 自分がXさんなら ◆ シレッと Dashboard を 作って見せびらかす ⚫ チーム外なら ◆ Xさんと仲良くなって支援する Xさん Yさん Zさん Datadog ☆ Ruby ☆ - まかせな、聞かれたら(調べて)答えられる ◯ - 調べたら出来るよ ✗ - ほぼ未経験、やるときは HELP 欲しい 注意: 「社内で」という枕詞と共にマークすること 世界レベルの人と比べても仕方がない ✗ ✗ Go ◯ ☆ Kubernetes ☆ ◯ ✗ ☆ ◯ ☆ ✗ チームとして ☆ ☆ ☆ ◯ とあるチームの Skill Star Map
Slide 20
Slide 20 text
うちにも入れたい Datadog 弊組織での道のりを振り返る ⚫ 「普及している」を明確にする ⚫ 弊組織で Datadog が普及したポイントを振り返る ⚫ 直近半年での事例
Slide 21
Slide 21 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る 1. チェックリストに追加 2. 社内勉強会 3. Monitor/SLO の推進 4. APM の導入 自己完結チーム Supported by SRE エンジニアの雑談場 下支えする文化的要素
Slide 22
Slide 22 text
うちにも入れたい Datadog 下支えする文化的要素: エンジニアの雑談場 ⚫ 毎週火曜日に1時間 ⚫ 任意参加 ◆ 意思決定は無し ⚫ 技術的な雑談を繰り広げる ⚫ 連載コーナーもある ◆ 例: 月間SRE、Datadog歯磨き random-tech-talk 〇〇を試したら最高便利だった件について ラジオ代わりに耳だけ 登壇資料の壁打ちして欲しい
Slide 23
Slide 23 text
うちにも入れたい Datadog 下支えする文化的要素: 自己完結チーム (1/4) ⚫ 多くのことがほかチームと連携不要に遂行可能であること ⚫ 弊社組織の SRE により強く推進 ⚫ 自己完結ではない例 かしこまり〜 SRE Web dev S3の作成 お願いします!
Slide 24
Slide 24 text
うちにも入れたい Datadog 下支えする文化的要素: 自己完結チーム (2/4) SRE Web dev 要件とか 聞かないと… 今すぐS3使った コード書きたい… 欠点 ブロッカー コミュニケーションコスト 知識のサイロ化 SREの作業を待つ 時間や精神力が必要 S3の知識が広まらない
Slide 25
Slide 25 text
うちにも入れたい Datadog チーム内 下支えする文化的要素: 自己完結チーム (3/4) ⚫ 自己完結な例 Web dev SRE Terraform 環境と ドキュメントの整備はするよ わからないことがあったら 呼んでね Web dev S3 作成PR を作った レビューお願い よさそう マージする (デプロイされる)
Slide 26
Slide 26 text
うちにも入れたい Datadog 下支えする文化的要素: 自己完結チーム (4/4) ⚫ 設計、実装、デプロイ、監視などを一貫してチームで行える ◆ SRE チームや QA チームなどの専門チームの支援を受け Web dev チームが主体的に行う ◆ 例: Kubernetes 自体の運用保守は SRE が行うが manifest 記述などは Web devs が行う Datadog 活用でも この原則を適用していく
Slide 27
Slide 27 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る 2. 社内勉強会 1. チェックリストに追加 3. Monitor/SLO の推進 4. APM の導入
Slide 28
Slide 28 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (1/7) ⚫ 3つは同時並行、かつ、漸進的に行われていた 2. 社内勉強会 (2020/01, 2021/06, など) 1. チェックリストに追加 (2019/02) 3. Monitor/SLO の推進 (2019/04~2020/01)
Slide 29
Slide 29 text
うちにも入れたい 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)
Slide 30
Slide 30 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (3/7) ⚫ 社内勉強会にて Dashboard の活用支援 ◆ 「関心の高い同志」を見つけるいい機会 (当時そのような振る舞いをしたか不明) 2. 社内勉強会 (2020/01, 2021/06, など) 1. チェックリストに追加 (2019/02) 3. Monitor/SLO の推進 (2019/04~2020/01)
Slide 31
Slide 31 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (4/7) ⚫ Web devs に対して SLO が推進され その手段として Datadog を利用 ぬくもり運用が Datadog を活用した運用へと置換 2. 社内勉強会 (2020/01, 2021/06, など) 1. チェックリストに追加 (2019/02) 3. Monitor/SLO の推進 (2019/04~2020/01)
Slide 32
Slide 32 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (5/7) ⚫ APM を別製品から乗り換えた ◆ 料金、2製品利用する手間、が問題だった ◆ Dashboard がもっと便利になる期待もあった 4. APM 導入 (2022/06~2022/09, など)
Slide 33
Slide 33 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (6/7) ⚫ マイクロサービス間の SLI が APM に置き換えられた 4. APM 導入 (2022/06~2022/09, など) サービスA サービスB New リクエストTrace から SLI を計算 Old サービスB自身の計測値を利用 サービス間ネットワークが 考慮されていなかった
Slide 34
Slide 34 text
うちにも入れたい Datadog 弊組織での普及したポイントを振り返る (7/7) ⚫ 導入には有志が一時的に集まり全チームの移行を支援した ◆ 2,3名のワーキンググループ方式 4. APM 導入 (2022/06~2022/09, など)
Slide 35
Slide 35 text
うちにも入れたい Datadog 弊組織での道のりを振り返る ⚫ 「普及している」を明確にする ⚫ 弊組織で Datadog が普及したポイントを振り返る ⚫ 直近半年での事例
Slide 36
Slide 36 text
うちにも入れたい Datadog Dashboard 磨き込み会 社内通称は Datadog 歯磨き
Slide 37
Slide 37 text
うちにも入れたい Datadog Dashboard 磨き込み会 (1/4) 背景 とあるモノリスサービス Ruby による1つの HTTP サーバ エンドポイントは 約240個 関係チームは 15チーム Dashboardは 1つ スキーマ定義 一部のみ
Slide 38
Slide 38 text
うちにも入れたい Datadog Dashboard 磨き込み会 (2/4) チームXが Owner アプリケーション エンドポイント郡A 1つのダッシュボードを15チームで利用のため お見合い状態が発生 チームY チームX このグラフいらない 気がするけど誰か 見てるかも… 勝手にグラフ追 加してもいいのか なこれ… チームYが Owner エンドポイント郡B チームZが Owner エンドポイント郡C 問題 お互いのやさしさが仇に… モノリスサービスの Ownership 概略
Slide 39
Slide 39 text
うちにも入れたい Datadog Dashboard 磨き込み会 (3/4) 勉強会を開催 打ち手 Ownership を大切に モノリスサービス全体の Owner チームから一人は参加を依頼 モブプロで知見共有 random-tech-talk の場を利用 誰でも参加可能 勉強会の声を掛けてみると みんなうっすらと問題意識を 持っていたことが判明
Slide 40
Slide 40 text
うちにも入れたい Datadog Dashboard 磨き込み会 (4/4) 成果 エンドポイントのOwner 一覧が Dashboard で見られるようになった 既存の施策 • エンドポイントの Owner 一覧を Spreadsheet で手動管理していた • エンドポイント実装全てに CODEOWNER が設定された • Ruby 実行時に Owner を判定 社内ライブラリが作られた 勉強会にて うまいこと噛み合い 既存の施策の全てが偉業すぎる 勉強会開催のタイミングがよかった
Slide 41
Slide 41 text
うちにも入れたい Datadog シン・エンドポイント一蘭 仕組み 1. GitHub CODEOWNER から エンドポイントの Owner を判定 2. Trace に owner tag を付与 3. Generated Metrics で永続化 Generated Metrics がポイント! 標準では直近15分しか Traces は保存されない 利用頻度低のエンドポイントが見え なくなってしまう Traces から Custom Metrics にする ことで長期間維持されるように 一蘭はユーモア
Slide 42
Slide 42 text
うちにも入れたい Datadog 弊組織の普及ポイントまとめ 自己完結で開発・運用をする という文化 SREチームに感謝 多くをチームに閉じて遂行していくほうが 中長期的に効率がよいはず 徐々に組み込まれるような仕組み やはり一気に広める難しさがある 新しいものから徐々に浸透させていく手法が 効果的 チームで使ってもらう 個人ではなくチームを対象にする これにより属人化の問題に帰着させる 巻き込み力、会話の場 乗っていき手 本業で手が回らないことはとても多い それでも、声を上げたり、時間を工面するこ と、組織を巻き込んでいくこと、が大切 4つが組み合わさり 今があると痛感
Slide 43
Slide 43 text
うちにも入れたい Datadog お悩み 「Dashboard どう作ってます?」
Slide 44
Slide 44 text
うちにも入れたい Datadog 「 Dashboard どう作ってます? 」 ⚫ JDDUG Meetup の懇親会でたまに耳にする XYZ の監視どうしてます? Dashboard を かっこよくしたい (スライドを見て) そのグラフいい感じ だけどどうやっているの?
Slide 45
Slide 45 text
うちにも入れたい Datadog Datadog で何見てる? 〜弊組織の Dashboard 紹介〜
Slide 46
Slide 46 text
うちにも入れたい Datadog CI/CD 分析 GitHub Actions を計測 (コスト都合でCI/CD Pipeline Visibilityは未利用…) Owner 技術戦略 DevOps チーム
Slide 47
Slide 47 text
うちにも入れたい Datadog CI/CD 分析 CI/CD とテストの改善に利用 Workflow 単位で集計 Workflow実行時間, Test実行時間, Failedしたテスト, Flakyなテスト, Slowest遅いテストケース, …
Slide 48
Slide 48 text
うちにも入れたい Datadog Code Metrics (1/2) 弊組織は monorepo を採用 1つの Git Repo に全コードを格納 歴史深いため負債も多い 古い書き方、古いライブラリ 曖昧な Ownership Owner 技術戦略 DevOps チーム
Slide 49
Slide 49 text
うちにも入れたい Datadog Code Metrics (1/2) 取得メトリクス例 React の古い書き方 Ruby, Gem のバージョン Obsolete な Gem数 GitHub の CODEOWNER の設定有無 可視化すると直したくなる (ふしぎ) 時系列表示することで 成果として可視化できる
Slide 50
Slide 50 text
うちにも入れたい Datadog Kubernetes Pod 分析 SRE が Devs から 問い合わせ対応などで利用 Owner SRE チーム OOM killed や Spot interruption は 起きていないか? Pod や Node 状態や想定通りか? などなどを見られる
Slide 51
Slide 51 text
うちにも入れたい Datadog 本番環境 Live Watch
Slide 52
Slide 52 text
うちにも入れたい Datadog お断り 撮影や録画はしないよう お願い申し上げます。
Slide 53
Slide 53 text
うちにも入れたい Datadog まとめ ⚫ 弊組織で Datadog がどのように推進されたのかを紹介 ◆ 振り返ると長い時間をかけて 多くの devs の尽力によって普及していた ⚫ 具体の Dashboard をご紹介 ◆ 見ている観点、作り方、など参考になれば幸いです
Slide 54
Slide 54 text
うちにも入れたい Datadog ご清聴ありがとうございました