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

New Relicを活用したシステム監視の強化とオブザーバビリティ向上

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for sugoto911 sugoto911
October 04, 2024

New Relicを活用したシステム監視の強化とオブザーバビリティ向上

NRUG (New Relic User Group) 名古屋 Vol.0(https://nrug-nagoya.connpass.com/event/327257/) の登壇資料です。

Avatar for sugoto911

sugoto911

October 04, 2024
Tweet

Other Decks in Technology

Transcript

  1. © 2024 Ateam Inc. 2 ⽬次 • ⾃⼰紹介 • 会社紹介

    • 本⽇の発表内容について • 「これまで」やってきたこと • 「これから」やっていきたいこと
  2. © 2024 Ateam Inc. • ⾃⼰紹介 • 会社紹介 • 本⽇の発表内容について

    • 「これまで」やってきたこと • 「これから」やっていきたいこと 3 ⽬次
  3. © 2024 Ateam Inc. ⾃⼰紹介 • 所属:基盤技術グループ • 役割:インフラや監視、O11yをいい感じにする •

    興味/関⼼:SRE, O11y, Monitoring, IaC, Cloud • ひとこと:5年ぶりの社外登壇で震えてます 4 後藤 卓(ごとう すぐる) 株式会社エイチームライフデザイン Webエンジニア
  4. © 2024 Ateam Inc. • ⾃⼰紹介 • 会社紹介 • 本⽇の発表内容について

    • 「これまで」やってきたこと • 「これから」やっていきたいこと 5 ⽬次
  5. © 2024 Ateam Inc. • ⾃⼰紹介 • 会社紹介 • 本⽇の発表内容について

    • 「これまで」やってきたこと • 「これから」やっていきたいこと 10 ⽬次
  6. © 2024 Ateam Inc. 11 本⽇の発表内容について • 「組織やシステムの課題をどう解決してきたか∕していくか」が中⼼の内容です ◦ システム監視の強化に向けて取り組んだできたこと

    ◦ オブザーバビリティを向上させるために取り組んでいきたいこと(予定) ◦ また、それらに取り組むための専任チームの⽴ち上げ • 取り組み中⼼にはNew Relicがありますが、New Relic⾃体の機能や技術的な要素は薄めです 󰢛 • 時間の都合上、⽤語の解説は最低限にしています󰢛
  7. © 2024 Ateam Inc. • ⾃⼰紹介 • 会社紹介 • 本⽇の発表内容について

    • 「これまで」やってきたこと • 「これから」やっていきたいこと 12 ⽬次
  8. © 2024 Ateam Inc. 「これまで」やってきたこと まずは体制を整える:(1)「基盤技術グループ」の設⽴ • ストリームアラインドチーム(開発チーム)の⽀援を⽬的に設⽴ ◦ チームトポロジーにおけるイネイブリングチーム

    ◦ ファシリテーションモードをベースとして活動 ◦ 複数の開発チームを組織横断的に⽀援する ◦ インフラ技術、システム監視に関する⽀援が主な役割領域 ◦ 役割領域において、⼿薄な開発チームから⽀援していく • 背景/狙い ◦ 解決には中⻑期的な取り組みが必要な課題が多く存在 ◦ チームを⽴ち上げ、中⻑期的に取り組むための体制を構築 14
  9. © 2024 Ateam Inc. 「これまで」やってきたこと まずは体制を整える:(1)「基盤技術グループ」の設⽴ • ストリームアラインドチーム(開発チーム)の⽀援を⽬的に設⽴ ◦ チームトポロジーにおけるイネイブリングチーム

    ◦ ファシリテーションモードをベースとして活動 ◦ 複数の開発チームを組織横断的に⽀援する ◦ インフラ技術、システム監視に関する⽀援が主な役割領域 ◦ 役割領域において、⼿薄な開発チームから⽀援していく • 背景/狙い ◦ 解決には中⻑期的な取り組みが必要な課題が多く存在 ◦ チームを⽴ち上げ、中⻑期的に取り組むための体制を構築 15 【補⾜】 • チーム⽴ち上げ時、開発チームに 対してヒアリングを実施 • 発⾒した課題の多くがインフラ技術、シ ステム監視に関連するものだった
  10. © 2024 Ateam Inc. 「これまで」やってきたこと まずは体制を整える:(1)「基盤技術グループ」の設⽴ • ストリームアラインドチーム(開発チーム)の⽀援を⽬的に設⽴ ◦ チームトポロジーにおけるイネイブリングチーム

    ◦ ファシリテーションモードをベースとして活動 ◦ 複数の開発チームを組織横断的に⽀援する ◦ インフラ技術、システム監視に関する⽀援が主な役割領域 ◦ 役割領域において、⼿薄な開発チームから⽀援していく • 背景/狙い ◦ 解決には中⻑期的な取り組みが必要な課題が多く存在 ◦ チームを⽴ち上げ、中⻑期的に取り組むための体制を構築 16 【背景】 • 2022年に⼦会社統合(3社→1社) • ⼦会社時代のスタイルや⽂化、 その後の⼈事異動等により、 チーム間で能⼒ギャップが⽣じていた
  11. © 2024 Ateam Inc. Appendix チームトポロジーの⽤語解説 17 • ストリームアラインドチーム ◦

    ビジネスの主な変更フロー(ストリーム)に沿って配置される、いわゆる開発チーム • イネイブリングチーム ◦ 他のチームが新しい技術やスキルを⾝につけるのを⽀援するチーム ◦ ストリームアラインドチームの認知負荷を下げるために存在する • ファシリテーションモード ◦ ⼀⽅のチームが他⽅のチームが新しい技術を⾝につけたり学習したりするためにファシ リテーションする ◦ 他のチームの障害を取り除く 引⽤元: https://www.ryuzee.com/contents/blog/14566
  12. © 2024 Ateam Inc. 「これまで」やってきたこと 何ごとも基礎から:(2)「システム監視」の基礎知識を習得 18 • 知識習得のために「⼊⾨ 監視」の輪読会を開催

    ◦ 基盤技術グループが主催、⽀援対象の開発チームが参加 ◦ 全員参加型、ディスカッションを中⼼とした進め⽅ ◦ New Relicを活⽤するための前準備的な取り組み • 背景/狙い ◦ ⽀援対象のチームはシステム監視の知識が不⾜しており、 システム監視の不備による検知の遅れが多発していた ◦ 効果的な監視の実装、アンチパターンを踏まないためにも、 多少時間はかかるが基礎知識の習得に注⼒
  13. © 2024 Ateam Inc. 【補⾜】 • 基盤技術グループは輪読会のファシリ テーション役 • 開発チームが独り⽴ちできるよう、

    リード、アシストを⾏う 「これまで」やってきたこと 何ごとも基礎から:(2)「システム監視」の基礎知識を習得 • 知識習得のために「⼊⾨ 監視」の輪読会を開催 ◦ 基盤技術グループが主催、⽀援対象の開発チームが参加 ◦ 全員参加型、ディスカッションを中⼼とした進め⽅ ◦ New Relicを活⽤するための前準備的な取り組み • 背景/狙い ◦ ⽀援対象のチームはシステム監視の知識が不⾜しており、 システム監視の不備による検知の遅れが多発していた ◦ 効果的な監視の実装、アンチパターンを踏まないためにも、 多少時間はかかるが基礎知識の習得に注⼒ 19
  14. © 2024 Ateam Inc. 【補⾜】 • 「全員参加」はあくまでスタンス • 実際には、開発チームから選抜メン バーのみ参加

    • 参加メンバーは得た知識を持ち帰り、 開発チーム内に伝搬させる 「これまで」やってきたこと 何ごとも基礎から:(2)「システム監視」の基礎知識を習得 • 知識習得のために「⼊⾨ 監視」の輪読会を開催 ◦ 基盤技術グループが主催、⽀援対象の開発チームが参加 ◦ 全員参加型、ディスカッションを中⼼とした進め⽅ ◦ New Relicを活⽤するための前準備的な取り組み • 背景/狙い ◦ ⽀援対象のチームはシステム監視の知識が不⾜しており、 システム監視の不備による検知の遅れが多発していた ◦ 効果的な監視の実装、アンチパターンを踏まないためにも、 多少時間はかかるが基礎知識の習得に注⼒ 20
  15. © 2024 Ateam Inc. 「これまで」やってきたこと 素早く効果を出す:(3) 既存の監視を⾒直し • 既存の監視を⾒直すためSynthetic Monitor(外形監視)を整備

    ◦ 「ユーザーがWebサイトを利⽤できない」といった症状を監視、検知することが⽬的 ▪ Synthetic Monitorはその症状を監視するための⼿っ取り早い⼿段(お⼿軽) ▪ 「原因ではなく ”ビジネス上の機会損失に繋がる症状” を監視しよう」 ◦ TerraformによるIaCの整備も同時に実施 ▪ IaCやTerraformのオンボーディングを⾏いつつ実施、開発チームの⾃⾛を⽀援 • 背景/狙い ◦ べき論をいえば、もっと効果的な監視の⼿法や⼿段はある ◦ 開発チームの⼯数は有限...事業開発を優先しつつ取り組むため、導⼊しやすい⼿段を選択 21
  16. © 2024 Ateam Inc. • 「基盤技術グループ」の設⽴ ◦ Good :特定領域の課題解決において集中して取り組める体制を作れた、取り組めた ◦

    Bad :開発チームの状況次第では技術⽀援の時間を確保できず、思うように進まない • 「システム監視」の基礎知識を習得 ◦ Good :開発チーム⾃ら解決⽅法を考えられるようになり、⽂化醸成にも繋がった ◦ Bad :輪読会の特性上、進⾏のスピードは遅め • 既存の監視を⾒直し ◦ Good :早い段階でIaCを整備したこともあり、素早く効果的な監視を整備できた ◦ Bad :⼿軽さを優先した⾒直しに留まっているため、改善の余地は残っている状態 22 「これまで」やってきたこと “やってきたこと” による結果、効果
  17. © 2024 Ateam Inc. • ⾃⼰紹介 • 会社紹介 • 本⽇の発表内容について

    • 「これまで」やってきたこと • 「これから」やっていきたいこと 23 ⽬次
  18. © 2024 Ateam Inc. “システムがどのような状態になったとしても、それがどんなに 斬新で奇妙なものであっても、どれだけ理解し説明できるかの 尺度です。(中略) もし、新しいコードをデプロイする必要がなく、どんなに斬新 で奇妙な状態でも理解できるなら、オブザーバビリティがある と⾔えます。”

    「これから」やっていきたいこと 「オブザーバビリティ」「オブザーバビリティが⾼い状態」とは 25 引⽤元: 「オブザーバビリティ‧エンジニアリング - 1章 オブザーバビリティとは?」 「システムの内部状態を外部から観測可能にする能⼒」のこと
  19. © 2024 Ateam Inc. 「これから」やっていきたいこと (1) トラブルシュートしづらい、属⼈化してしまう問題 • 事業成⻑と共に肥⼤化してきたレガシーシステム •

    システム全体の⾒通しが悪く、トラブル発⽣時に原因箇所の特定がしづらい • トラブルシュートが経験豊富なベテランエンジニア頼りになりがち(属⼈性) • ベテランエンジニアだとしても特定が難しい、時間を要してしまう場合も 27 引⽤元: https://www.businessinsider.jp/post-1652 ? ? ? ? ? ?
  20. © 2024 Ateam Inc. 「これから」やっていきたいこと (1) トラブルシュートしづらい、属⼈化してしまう問題 28 • 事業成⻑と共に肥⼤化してきたレガシーシステム

    • システム全体の⾒通しが悪く、トラブル発⽣時に原因箇所の特定がしづらい • トラブルシュートが経験豊富なベテランエンジニア頼りになりがち(属⼈性) • ベテランエンジニアだとしても特定が難しい、時間を要してしまう場合も システム⾃体の問題もあるが‧‧‧ オブザーバビリティが低いことも要因としてあるのでは? 従来のモニタリングでは、対応しきれない💦 O11y
  21. © 2024 Ateam Inc. • システム全体の⾒通しが悪く、トラブル発⽣時に原因箇所の特定がしづらい 「これから」やっていきたいこと こうしていきたい 29 •

    オブザーバビリティを向上させ、システムの動作状態を探索可能にする • ex. ◦ 動作状態を把握するためのデータの取得(計装) ◦ Service Mapによるシステム全体の俯瞰 ◦ Distributed Tracing(分散トレーシング)による追跡
  22. © 2024 Ateam Inc. Appendix: “Service Mapによるシステム全体の俯瞰” のイメージ 30 引⽤元:

    https://docs.newrelic.com/jp/docs/new-relic-solutions/new-relic-one/ui-data/service-maps/service-maps/
  23. © 2024 Ateam Inc. 「これから」やっていきたいこと こうしていきたい 31 • トラブルシュートが経験豊富なベテランエンジニア頼りになりがち •

    ベテランエンジニアだとしても特定が難しい、時間を要してしまう場合も • オブザーバビリティを向上させ、経験の浅いエンジニアでも探索、問題の 診断を可能な状態にする ◦ トラブルシュートの⺠主化 ◦ ⼈に依存させない、組織的にスケール可能な状態にする • 問題の早期解決に貢献し、MTTR/MTTIの削減に繋げる
  24. © 2024 Ateam Inc. 「これから」やっていきたいこと こうしていきたい “モニタリングベースのアプローチでは、年功序列が知識への鍵である という考えに基づいて、チームが⽅向づけられることがよくありま す。チームに最も⻑く在籍しているエンジニアが、チーム最⾼の デバッガーであり、最後の砦のデバッガーとなることが多いのです。

    (中略) 逆に、オブザーバビリティを実践しているチームは、根本的に違う⽅ 向に傾きます。オブザーバビリティツールでは、チーム内の最⾼の デバッガーは、通常、最も好奇⼼の強いエンジニアです。” 32 引⽤元: 「オブザーバビリティ‧エンジニアリング - 2章 オブザーバビリティとモニタリングにおけるデバッグ⽅法の違い」
  25. © 2024 Ateam Inc. 「これから」やっていきたいこと (2) 監視システムが分散している問題 • ログ、トレース、メトリクスといった、オブザーバビリティを⽀えるPrimary Signalsが

    複数の監視システムに分散している • 複雑なシステムに加えて、Primary Signalsが分散して保存されており、 トラブルシュートがしづらい(探索しづらい)、時間が掛かってしまう 33 ログ トレース メトリクス
  26. © 2024 Ateam Inc. • ログ、トレース、メトリクスといった、オブザーバビリティを⽀えるPrimary Signalsが 複数の監視システムに分散している 「これから」やっていきたいこと こうしていきたい

    34 • New Relicに集め、関連付けることで、オブザーバビリティを向上させる • (将来的には)監視システムをNew Relicに統合 トレース ログ メトリクス メトリクス トレース ログ
  27. © 2024 Ateam Inc. 「これから」やっていきたいこと 「オブザーバビリティの向上」をどう進めていくか • 基本⽅針 ◦ ⼩さく始めて、⼤きくしていく

    ▪ 計装 → New Relic上での⾒え⽅を確認 → 計装を追加 ‧‧‧の繰り返し • その理由 ◦ 計装に関する知識、ノウハウが薄い ▪ New Relicの機能で?OpenTelemetryで? ◦ 我々が求める「オブザーバビリティの⾼さ」「向上させるための道のり」が不明確 ▪ 求める状態を模索しつつ、コストも気にしながら、探索的に進めていく ▪ なんにせよ “オブザーバビリティにはお⾦がかかる” 問題もある 36