Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サービスと共にチームも成長する 〜New Relicを利用したサービスとチームの定量化〜

サービスと共にチームも成長する 〜New Relicを利用したサービスとチームの定量化〜

Hiroki Otsuka

March 24, 2023
Tweet

More Decks by Hiroki Otsuka

Other Decks in Technology

Transcript

  1. https://www.dip-net.co.jp/
    1
    サービスと共にチームも成長する
    〜New Relicを利用したサービスとチームの定量化〜
    大塚ひろき / @ohiro88

    View Slide

  2. https://www.dip-net.co.jp/
    2
    • ディップ株式会社
    • PHP/Laravel
    • 2020年9月入社
    • PHPer歴もうすぐ6年目
    • 好きなこと
    • 車
    • バイク
    • キャンプ
    大塚ひろき(@ohiro88)

    View Slide

  3. https://www.dip-net.co.jp/
    3
    ディップについて

    View Slide

  4. https://www.dip-net.co.jp/
    4
    ディップについて
    人材サービス事業 DX事業

    View Slide

  5. https://www.dip-net.co.jp/
    5

    View Slide

  6. https://www.dip-net.co.jp/
    6
    アジェンダ
    • New Relic導入の経緯
    • New Relicで見えてきたもの
    • サービスのパフォーマンス
    • 開発チームのパフォーマンス
    • 今後の展望

    View Slide

  7. https://www.dip-net.co.jp/
    7
    New Relic導入の経緯

    View Slide

  8. https://www.dip-net.co.jp/
    8
    New Relicとは
    【出典:New Relic様提供資料】

    View Slide

  9. https://www.dip-net.co.jp/
    9
    オブザーバビリティとは
    オブザーバビリティは、メトリクス、イベント、ログ、トレースすべてを能動的に
    収集、可視化し、インテリジェンスを適用して、複雑なデジタルシステムの動
    態を把握できるようにします。
    【出典:オブザーバビリティとは? | New Relic(https://newrelic.com/jp/topics/what-is-observability)】

    View Slide

  10. https://www.dip-net.co.jp/
    10
    内製化を進めるためガンガン開発できる
    200人体制の構築を目指す

    View Slide

  11. https://www.dip-net.co.jp/
    11
    解決したい3つのポイント
    現状はシステム全体が監視が
    できておらず、専任のエンジニ
    アが問題の特定を手作業で行
    う負担あり
    調査のための人的コスト
    01
    組織の成長が数値として推移
    が追いかけにくい、エンジニア
    組織内製化の効果や成果が見
    えにくい状態
    エンジニア貢献度が定性的に
    なりがち
    02
    全てのエンジニアが利活用で
    きる状態に至っておらず、ツー
    ルに関するサポートもあまりで
    きていない。
    ツールが複数だと運用しにくい
    監視ツールの浸透
    03

    View Slide

  12. https://www.dip-net.co.jp/
    12
    解決したい3つのポイント
    現状はシステム全体が監視が
    できておらず、専任のエンジニ
    アが問題の特定を手作業で行
    う負担あり
    調査のための人的コスト
    01
    組織の成長が数値として推移
    が追いかけにくい、エンジニア
    組織内製化の効果や成果が見
    えにくい状態
    エンジニア貢献度が定性的に
    なりがち
    02
    全てのエンジニアが利活用で
    きる状態に至っておらず、ツー
    ルに関するサポートもあまりで
    きていない。
    ツールが複数だと運用しにくい
    監視ツールの浸透
    03
    New Relicを導入することにより
    これらを解決したい!

    View Slide

  13. https://www.dip-net.co.jp/
    13
    New Relicで見えてきたもの

    View Slide

  14. https://www.dip-net.co.jp/
    14
    サービスのパフォーマンス

    View Slide

  15. https://www.dip-net.co.jp/
    15
    APM

    View Slide

  16. https://www.dip-net.co.jp/
    16
    • 「トランザクションタイム」「Apdexスコア」などを可視化
    → サービスの基本的な数値を確認することで、アプリケーションの動態
    を把握
    • 各指標にアラートを柔軟に設定可能
    → NRQLを用いることで、柔軟なアラート設定が可能
    → 急な数値の変動を検知
    APM

    View Slide

  17. https://www.dip-net.co.jp/
    17
    • はたらこねっとではデイリースクラムで確認することで、サービスに異常
    が無いかを確認
    • 異常が確認されたら、分散トレーシングやログなどを確認し、必要があ
    れば修正のチケットを作成して対応
    • デプロイメントマーカーという機能で、デプロイがサービスのメトリクスに
    影響を与えていないかを確認
    APM

    View Slide

  18. https://www.dip-net.co.jp/
    18
    分散トレーシング
    • 異常があったトランザクションの処理を追うことが可能
    • APIなど複数のサービスを経由している場合も、1トランザクションとして
    確認することが可能

    View Slide

  19. https://www.dip-net.co.jp/
    19
    Key Transactions
    • サービス上重要な画面であったりパフォーマンスの悪いページのトラン
    ザクションをモニタリングすることが可能
    • 指定したトランザクションの一覧をみることができるので、特定の画面で
    の障害時などの調査も迅速に行うことが可能
    • アラートやApdexスコアの閾値も個別に設定することが可能

    View Slide

  20. https://www.dip-net.co.jp/
    20
    Key Transactions
    • transaction timeやApdexスコアを画面毎に確認

    View Slide

  21. https://www.dip-net.co.jp/
    21
    Key Transactions
    • はたらこねっとでは、お仕事一覧や応募関係の画面を設定

    View Slide

  22. https://www.dip-net.co.jp/
    22
    Service Levels
    • SLI/SLOを用いてサービスの品質を観測できる機能

    View Slide

  23. https://www.dip-net.co.jp/
    23
    独自の活用方法

    View Slide

  24. https://www.dip-net.co.jp/
    24
    ダッシュボードの活用
    • New Relicの各指標を独自のダッシュボードにまとめることが可能

    View Slide

  25. https://www.dip-net.co.jp/
    25
    ダッシュボードの活用
    • CWVなどユーザーの体験を可視化

    View Slide

  26. https://www.dip-net.co.jp/
    26
    New Relicアプリケーションの活用
    • New Relic上で独自のアプリケーションを作成することが可能
    • 入力欄を設けたり、独自のチャートなどを作成することが可能

    View Slide

  27. https://www.dip-net.co.jp/
    27
    New Relicアプリケーションの活用
    • 入力に応じてダッシュボードの内容を変更するアプリケーションを作成
    • 「dip newrelic 独自App」で検索

    View Slide

  28. https://www.dip-net.co.jp/
    28
    • 「newrelic_add_custom_parameter」という関数でトランザクションに独自
    のパラメータを付与することが可能
    カスタム属性の付与

    View Slide

  29. https://www.dip-net.co.jp/
    29
    • APMなどの様々な機能を利用しサービスの状態を可視化
    → サービスの動きを把握しそのまま調査を行えるのでよりシームレスな
    動きが可能に
    • 特定の機能や画面毎のデータの可視化・分析
    → 機能や画面毎の問題の切り分けが可能に
    • 様々なカスタマイズが可能
    → 痒い所に手が届く!
    サービスのパフォーマンスまとめ

    View Slide

  30. https://www.dip-net.co.jp/
    30
    開発チームのパフォーマンス

    View Slide

  31. https://www.dip-net.co.jp/
    31
    DevOps 4Keysの可視化
    • 開発チーム用ダッシュボードを作成
    • 「デプロイ頻度」「リードタイム」「変更障害率」「復旧時間」

    View Slide

  32. https://www.dip-net.co.jp/
    32
    Pull Requestの可視化
    • PR、PRのレビュー数を表示

    View Slide

  33. https://www.dip-net.co.jp/
    33
    開発チームのパフォーマンスデータの収集
    • GitHubからActionsを使用してNew Relicにデータを送信

    View Slide

  34. https://www.dip-net.co.jp/
    34
    開発チームのパフォーマンスまとめ
    • DevOps 4KeysとPRのデータを可視化
    → 4Keysの各指標とPRの関連性が見えるように
    • サービスのパフォーマンスと開発チームのパフォーマンスの関連性を可
    視化する土台に
    → サービスとチームのパフォーマンスを結びつけることで、エンジニア
    貢献度の定量化に近付いた

    View Slide

  35. https://www.dip-net.co.jp/
    35
    今後の展望

    View Slide

  36. https://www.dip-net.co.jp/
    36
    サービス品質基盤の構築
    • New Relicで可視化できる指標をKPIとして設定
    → 目標を設定しサービスの品質を上げるために改善を繰り返す
    • 各指標にアラートを設定し、異常値を検知
    → 現状はNew Relicを見て動きを見ているが自動で検知出来る様に
    • 他システムに分散したデータを統合
    → 企画部門・SEO部門などのデータをNew Relicに統合することで同じ
    データで会話を出来る様に

    View Slide

  37. https://www.dip-net.co.jp/
    37
    開発チームのパフォーマンス向上
    • 開発チームの各指標をKPIとして設定
    → 目指すべき姿を明確にし改善を繰り返す
    • 開発チームのパフォーマンスを測る指標を追加
    → エンジニアの行動を可視化する材料を増やしより分析しやすく
    • 他チームにドヤれる様になりたい
    → 開発チームの成果をアピール

    View Slide

  38. https://www.dip-net.co.jp/
    38
    New Relicをより活用するために
    • 他プロダクトへ横展開
    → バイトルなどの開発チームとNew Relicのノウハウを共有し、ディップ
    として活用を加速
    • New Relic勉強会・利用推進チームの発足
    → New Relicの知識を増やし、出来ることを増やす

    View Slide

  39. https://www.dip-net.co.jp/
    39
    解決したい3つのポイント
    現状はシステム全体が監視が
    できておらず、専任のエンジニ
    アが問題の特定を手作業で行
    う負担あり
    調査のための人的コスト
    01
    組織の成長が数値として推移
    が追いかけにくい、エンジニア
    組織内製化の効果や成果が見
    えにくい状態
    エンジニア貢献度が定性的に
    なりがち
    02
    全てのエンジニアが利活用で
    きる状態に至っておらず、ツー
    ルに関するサポートもあまりで
    きていない。
    ツールが複数だと運用しにくい
    監視ツールの浸透
    03

    View Slide

  40. https://www.dip-net.co.jp/
    40
    最後に
    • 調査のための人的コスト
    → New Relic上で見れるデータが増え、New Relicだけで調査が完結す
    るケースが増えた
    • 監視ツールの浸透
    → ツール統合に向けて頑張ってます
    • エンジニア貢献度が定性的になりがち
    → DevOps 4Keysの可視化などで定量的に見れるようになってきた

    View Slide

  41. https://www.dip-net.co.jp/
    41
    カジュアル面談やってます
    • 選考ではないので、お気軽にご応募ください!
    • 3/25にはブースもありますので、
    お話ししましょう!

    View Slide

  42. https://www.dip-net.co.jp/
    42
    ご清聴頂きありがとうございました

    View Slide