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

開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 20...

開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~

# Developers Summit 2024 Summer
23-B-3 07/23 11:50 ~ 12:20
https://event.shoeisha.jp/devsumi/20240723/session/5095

# 概要
“関係者全員の幸福を追求する”という企業理念の元、レバテックではITエンジニアと開発組織の挑戦と成長を加速させるための採用プラットフォームを展開し、「日本を、IT先進国に。」というビジョンを掲げ、多角的に事業拡大を続けています。
事業拡大を続ける中で必要となったのが「開発者がコア業務に集中できる環境」と「開発者体験の向上」です。
当セッションでは、オブザーバビリティを獲得することで、アラートの処理で開発に集中しにくい状況から脱し、エンジニア全員がビジネス視点を持ってサービス開発できるチームを実現した軌跡をお話しします。

本セッションは、New Relic株式会社様の提供でお送りいたします。

Tech Leverages

July 23, 2024
Tweet

More Decks by Tech Leverages

Other Decks in Technology

Transcript

  1. | © 2024 Levtech Co., Ltd. 2 1. NewRelicのご紹介 2. レバテックについて

    3. レバテックが抱える戦略と課題 4. 課題に対するSREからのアプローチ 5. O11yを実現していくまでの道のり 6. まとめ アジェンダ
  2. | © 2024 Levtech Co., Ltd. 3 レバテック開発部 蒲生 廣人 HIROTO

    GAMO • 所属:DevOps推進グループSREチーム/リーダー • コミュニティ:SRE NEXT運営 • 主な業務:監視体制の構築、AWS環境の運用保守、TiDBへの移行
  3. New Relic 技術統括コンサルティング部 ソリューションコンサルタント 高木 憲弥 兵庫県尼崎市出身 広島在住 ・経歴:日系 SIer フルスタックエンジニア

    金融業界を中心に開発・運用を担当 システム障害発生時には火消し隊長 ・得意領域 クエリチューニング、JVM分析
  4. © 2024 New Relic, Inc. All rights reserved New Relicの概要

    米国本社 New Relic, Inc. 事業内容 オブザーバビリティプラットフォームの提供 設立 2008年 CEO アシャン・ウィリー (Ashan Willy)  従業員数 約2,700人 拠点数 16拠点 日本法人 New Relic 株式会社 設立 2018年8月 代表取締役社長 小西 真一朗 出典:株式会社テクノ・システム・リサーチ
  5. © 2024 New Relic, Inc. All rights reserved オブザーバビリティ (O11y)とは

    『(意訳)オブザーバビリティ とは、システムの あらゆる状態を理解し説明できる 特性です。 デバッグの事前定義や予測なし に、状態デー タをアドホックに調査し、デバッグを可能に す ることが求められます。 新しいコードのデプロイ不要 で奇妙な状態も 理解できる場合、オブザーバビリティがあると されます。』 参考:Oreilly “Observability Engineering” 2022 https://www.oreilly.com/library/view/observability-engineering/9781492076438/
  6. © 2024 New Relic, Inc. All rights reserved オブザーバビリティ( O11y)とは

    オブザーバビリティ 7 データをリアルタイムに 取得し続け、 常にシステム全容把握 と問題の予防・改善が 連携してできる状態 インフラ・ネットワーク 監視 顧客体験 監視 ビジネス 監視 機会損失 サービスレベル ページ表示時間 アプリケーション 監視
  7. © 2024 New Relic, Inc. All rights reserved. ユーザー体験からインフラまで すべてをリアルタイムに追跡

    ステークホルダー全員に システム全体の可観測性を提供 WEB Micro Service API APP Micro Service API DB LB Real User Monitoring Synthetics Application & Infrastructure 複数アプリにまたがるトランザク ションをつなげて追跡 ブラウザやモバイルの ユーザー体験を計測 サービス動作を常時シ ミュレートしてテスト システム全体の処理/ 連携プロセスを可視化 ソースコードやDBクエリレベル まで即座にボトルネックを特定 クラウドやオンプレを問わず インフラ状況を計測 OBSERVABILITY PLATFORM
  8. © 2024 New Relic, Inc. All rights reserved ビジネス=顧客への価値提供を最大化するために 顧客起点の期待

    ビジネス観点 エンジニア観点 信頼性 安全にいつでも利用可能 セキュアで可用性高い サービス提供 問題対応時間の最小化 Reliability 運用 変更頻度・イノベーション 新しい価値が頻度高く提供 価値提供スピードの高速化 顧客価値に集中した開発 Velocity 開発
  9. © 2024 New Relic, Inc. All rights reserved オブザーバビリティによる開発者体験の向上 1.

    インフラメトリクスではなく、ユー ザー視点のモニタリングによるア ラートの最適化 2. 原因のボトルネックへのドリルダウ ンを高速に、かつ属人化しない体制 へ エンジニアがコア業務に注力 1. SLI/SLO運用により、共通指標 を元にしたコミュニケーションで 開発速度と信頼性を両立 2. 事業サイドと開発サイドで共通 指標を持ち、顧客への価値提供 を最大化 コミュニケーションの効率化
  10. | © 2024 Levtech Co., Ltd. 13 事業ポートフォリオ レバテックについて エージェント プログラミング

    スクール コンテンツ メディア プラット フォーム ダイレクト リクルーティング ITエンジニア・クリエイターの フリーランス・転職・就職・教育の すべてを備える採用プラットフォーム エージェントを中心に、求人媒体、 プログラミング教育まで IT専門職のキャリアを厚くサポート。
  11. | © 2024 Levtech Co., Ltd. 15 技術広報 レバテックについて カンファレンススポンサー や

    テックブログ に力を入れてます!  もフォローしてね! etc.
  12. | © 2024 Levtech Co., Ltd. 17 事業をより加速させるための、システムの ToBeへ近づけていく リアーキテクトプロジェクトが進行中 &

    リアーキテクト前の既存システムの運用 (リアーキテクトのリリースをビッグバンでは行わず、 ドメインごとに切り分けて段階的なリリースを目指している) システム戦略 レバテックが抱える戦略と課題
  13. | © 2024 Levtech Co., Ltd. 18 CTO、事業目線 - 既存システムの運用 -

    なるべくこれまで以上の安定的な運用 - 引き続き小中規模の機能改修 - リアーキテクトプロジェクト - なるべくリアーキテクト部分のリリースの際に 業務、事業影響が出ないように - 機能要件 - 非機能要件 - なるべく早く システム戦略 レバテックが抱える戦略と課題
  14. | © 2024 Levtech Co., Ltd. 21 システム戦略のプロジェクトを完了させ、その後継続的な運用をするために - 既存システムの安定稼働 -

    リアーキテクトシステムのリリース時の品質担保 が必要 システム戦略 レバテックが抱える戦略と課題
  15. | © 2024 Levtech Co., Ltd. 22 SREの立ち位置 - レバテック開発部の中の横断的組織 -

    各ストリームアラインドチームには属さない - なんで? - 複数の開発チームをまたいだ大きい運用課題に取り組むため - 特定のチームに属すとそういった課題に取り組むことが難しい システム戦略 レバテックが抱える戦略と課題
  16. | © 2024 Levtech Co., Ltd. 23 システム戦略のプロジェクトを完了させ、その後継続的な運用をするために - 既存システムの安定稼働 -

    リアーキテクトシステムのリリース時の品質担保 が必要 システム戦略 レバテックが抱える戦略と課題
  17. | © 2024 Levtech Co., Ltd. 24 - 既存システムの運用課題 - システムの複雑な内部構造

    - サービス同士の通信が多く発生し、 メトリクスやログだけで通信を追っていくことが難 しい - レガシーなコードによる認知負荷の高さ - 属人化 - サービスの信頼性を計測できていない - 安定稼働は何を指しているのか - 障害は本当に障害なのか、見逃している障害はないか - カーディナリティの高いデータが取得できていない - どのくらいのユーザーに影響が出ているのか分かりづらい システム戦略を進めていくうえでの課題 レバテックが抱える戦略と課題
  18. | © 2024 Levtech Co., Ltd. 25 - 課題の影響の表面化 - 障害対応時間の長さ

    - オオカミ少年アラート - 機能開発の鈍化 - 積もり積もった運用作業 これらは開発者体験の悪化を表しているもの 開発者体験の悪化は開発生産性の低下につなが る システム戦略を進めていくうえでの課題 レバテックが抱える戦略と課題 引用元:経営視点から捉えた開発生産性(BUYSELL)
  19. | © 2024 Levtech Co., Ltd. 26 - 通信状態をコードから追う - システムに詳しい人が頑張ってログ分析

    する - 通知が来るたびに問題ないアラートかど うか判断する - 調査用のログを出す変更をデプロイする - 重要度高、緊急度低の運用タスクは優 先度を下げる 目指すべき状態 開発者体験◎ - 通信状態が可視化された状態 - 調査しようとする人が調査できる状態 - 対応が必要なアラートだけが鳴る状態 - システムに変更を加えなくても調査がで きる状態 - システムの継続的運用に必要と判断さ れる運用タスクの優先度を適切につけて いく 課題に対する今の戦い方 開発者体験△ 既存システムの運用との戦い方
  20. | © 2024 Levtech Co., Ltd. 27 - リアーキテクトプロジェクトのリスク - 完遂までのリリース回数が増える

    - デプロイ失敗率が高いまま回数が多くなると、障害対応時間が膨れ上がっていく - 品質が落ちる回数が増えると、開発チームへの信頼度が下がっていく - 最悪リアーキテクトプロジェクトのストップがかかるかも? - システムの複雑性は上がる一方 - 機能やシステムを捨てない限り、システム全体の複雑性は上がっていく - 偶有的複雑性は減っていくが、本質的複雑性が下がることはない - 遅延した時のリスク - 既存システムの苦しい運用がその分継続される システム戦略を進めていくうえでの課題 レバテックが抱える戦略と課題
  21. | © 2024 Levtech Co., Ltd. 28 - リリースのたびに不具合や品質低下が 発生してしまう -

    複雑化していくシステムの全容がわから なくなっていく - 開発が遅延してしまい、既存システムの 運用負荷が継続していく 目指すべき状態 開発者体験◎ - リリースによるシステムの変化が観測で き、問題が起きても対処しやすい状態 - システムが複雑化しても、全容が分かる 状態 - 遅延の要因になり得る障害対応などの 工数が抑えられている状態 潜在的リスク 開発者体験△ リアーキテクトプロジェクトのリスクとの戦い方
  22. | © 2024 Levtech Co., Ltd. 29 • 既存システムの運用 - システムの複雑な内部構造

    - サービスの信頼性 • リアーキテクトプロジェクト - デプロイ失敗率 - システムの複雑性 - 遅延のリスク 運用作業の負荷軽減とデプロイの品質 担保が必須 • 運用作業の負荷軽減 - システムの内部構造の可視化 - 信頼性の計測 • デプロイの品質担保 - システムの内部構造の可視化 - 信頼性の計測 負荷の高い運用作業とリアーキテク トを並行して進めないといけない 既存システムの運用とリアーキテクトプロジェクトの並行進行
  23. | © 2024 Levtech Co., Ltd. 31 - やりたいこと - 既存システムの運用作業負荷の軽減

    - リアーキテクトシステムのデプロイ時の品質担保 - プラクティス - システムの内部構造の可視化 - 新たな実装無しでシステムの状態がわかる - 属人性の軽減 - 信頼性の計測 - 予測モデルの作成 - カーディナリティの高いデータの取得 オブザーバビリティの採用 課題に対するSREからのアプローチ
  24. | © 2024 Levtech Co., Ltd. 32 - メトリクス、ログ、トレース、イベントの各テレメトリデータの取得 - ダッシュボード、サービスマップの作成

    システムの内部構造の可視化 課題に対するSREからのアプローチ - 新たな実装無しでシステムの状態がわかる - ツール内に調査に必要なデータが揃っている状態 - ※ツールを導入するだけで、この状態を作れるわけではない - 属人性の軽減 - システムの内部構造にある暗黙知の量が抑えられている状態 - システムに関心のある人が、データを追うことによって自 分で調査できる - 会社に長く在籍している人ではなく
  25. | © 2024 Levtech Co., Ltd. 35 システムの内部構造の可視化 課題に対するSREからのアプローチ サービスマップの自動作成 -

    トレース情報から自動で通信状態を 可視化してくれる - 各サービスに対して設定したアラー トの状態を色で可視化
  26. | © 2024 Levtech Co., Ltd. 36 • 新たな実装無しでシステムの状態 がわかる -

    ツール内に調査に必要なデータが揃って いる状態 • 属人性の軽減 - システムの内部構造にある暗黙知の量 が抑えられている状態 見込める効果 • 障害調査にかかる工数削減 - どの処理でエラーが発生しているかを可視化 - 調査に関われる人が増える • 障害発生の予兆検知 - 暗黙知が形式知化 - ユーザーのふるまいなどの理解 - →「未知の未知」への対応がしやすくなる オブザーバビリティの特性 システムの内部構造の可視化
  27. | © 2024 Levtech Co., Ltd. 37 - SLI/SLOの設定 - SLM(Service

    Level Management)の活用 信頼性の計測 課題に対するSREからのアプローチ - 予測モデルの作成 - システム内の相関性 - システムとビジネスの相関性 - ↑これを見つけることでシステムの価値が分かりやすくなり、投資の判断もしやすくなる - カーディナリティの高いデータ取得 - どんなユーザーに、どういうときに、どんな影響が出ているのか - 数値の変化に対して原因分析がしやすい
  28. | © 2024 Levtech Co., Ltd. 38 信頼性の計測 課題に対するSREからのアプローチ - SLO達成率

    - SLIの推移 - リリースタイミングでの変化 - エラーバジェット管理 - 良いイベント/有効なイベントの可視化
  29. | © 2024 Levtech Co., Ltd. 39 • 予測モデルの作成 - システム内の相関性の把握

    - ビジネスとシステムの相関性の把握 • カーディナリティの高いデータ取 得 - どんなユーザーに、どういうときに、どん な影響が出ているのか 見込める効果 • 信頼性=開発とビジネスの指標と 相関の強いものを管理できる - リリースのリスクマネジメント - 機能開発と運用のコントロールがしやすくなる • アラートの精度向上 - ビジネス上重要な指標をアラートに使うことが できる - アラート疲れが軽減される オブザーバビリティの特性 信頼性の計測
  30. | © 2024 Levtech Co., Ltd. 40 見込める効果 - 開発者体験UP↑ -

    障害対応時間の減少 - システムの内部構造の把握によって、原因分析のループを最適化していく - 「未知の未知」に対する対応をしやすい状態に近づけていく - オオカミ少年アラートの減少 - ユーザー体験を重視した、対応する必要のあるアラートだけ鳴るように改善していく - 機能開発により集中できる状態へ - デプロイ失敗率を抑えていく - 運用作業のコントロール - システムのパフォーマンスがSLOを満たすレベルを維持し続けるために 機能開発と、積もり積もった運用作業の優先度つけを適切に行っていく 結果として
  31. | © 2024 Levtech Co., Ltd. 42 - フェーズ1 - O11yの理解

    - ツール移行 - アラート改善 - フェーズ2 - SLOの設定 - 障害対応改善 マイルストーン O11yを実現していくまでの道のり
  32. | © 2024 Levtech Co., Ltd. 44 フェーズ1の観点 - O11yの考え方のインストール -

    O11yツールのオンボーディング - モニタリングツールからO11yツールへの移行 - アラートの最適化 評価指標 - O11yの理解度 - ツール移行進捗% - Criticalアラートの発報数 マイルストーン O11yを実現していくまでの道のり
  33. | © 2024 Levtech Co., Ltd. 45 1月 2月 3月 4月

    5月 6月 会議体 勉強会 運用(ツール移行) - アラート - 調査 運用(+α) - SLM - 定例での利用 ナレッジ共有 ・適宜打合せ ・適宜打合せ ・適宜打合せ ・・・ 勉強会 ハンズ オン 検証環境での実装 3/6:アラート 勉強会 SREチー ム向け 勉強会 4/12 障害対応訓練 (過去障害を用いて ) ・オンボード完了 エラー撲滅運動 (開発チーム) 5/XX 自社ナレッジ共有 検証環境での実装 本番運用 本番環境での実装 本番実装 ・定例MTG マイルストーン O11yを実現していくまでの道のり
  34. | © 2024 Levtech Co., Ltd. 46 - O11y勉強会 - SREチーム内ではオブザーバビリティエンジニアリングの本を輪読

    - 開発チーム向けにO11yの概要を説明する勉強会を開催 - New Relicハンズオン - 架空のアプリケーションと問題を用意して、 New Relicの画面を触りながら 解決していくハンズオンを開催 - 模擬障害対応 - 実際に運用しているサービスの STG環境で障害を起こしてみて New Relicなどを使って原因調査をする O11yのインストールとツールのオンボーディング O11yを実現していくまでの道のり
  35. | © 2024 Levtech Co., Ltd. 48 移行の推進 - New RelicアラートのTerraformライブラリ作成

    - New Relic合宿 - GWの中日にあった平日3日間で、出勤している開発部メンバーでアラートの移行作業を 行った - その間SREチームががっつりサポート - アラート勉強会 - ユーザー体験視点でのアラート作成を、 New Relicを使ってハンズオンを実施 ツールの移行、アラートの最適化 O11yを実現していくまでの道のり
  36. | © 2024 Levtech Co., Ltd. 49 進捗 - ツール移行 -

    New Relicへのツール移行がどの程度進んだか - アラート品質 - オオカミ少年アラートはどの程度減らせたか - 社内事例 - New Relicをサービスの運用改善に活用できているか 今のところの進捗と効果 O11yを実現していくまでの道のり
  37. | © 2024 Levtech Co., Ltd. 50 ツール移行 - マイルストーン作成時、ツール導入を目標としていたシステムは無事完了 -

    追加で、導入を希望するシステム、チームが出たのでそちらにも導入済み - 合計で30システムに導入完了 今のところの進捗と効果 O11yを実現していくまでの道のり
  38. | © 2024 Levtech Co., Ltd. 51 アラート品質 - 導入したシステムはすべてアラートを NewRelic管理に移行済み

    - 一部SendgridなどSaaS連携部分は既存のツールを使用中 - Criticalアラート発報数/1週間(6/2~7/16) - 234→157(4割減) 今のところの進捗と効果 O11yを実現していくまでの道のり
  39. | © 2024 Levtech Co., Ltd. 53 定性面での効果測定 - O11yの浸透度 -

    勉強会アンケート - 開発者体験 - エンゲージメントサーベイ 今のところの進捗と効果 O11yを実現していくまでの道のり
  40. | © 2024 Levtech Co., Ltd. 56 なんでこのアプローチを半年間やりきれたか - SREチームを横断組織として置き続けた -

    O11yを複数の開発チームを巻き込んで導入できた - 開発部のカルチャー - 勉強会が盛ん - 新しい技術や考えに抵抗感が少ない - 経営陣、CTOの方針 - リアーキテクトプロジェクトを走らせるように、今は開発に投資をしていくフェーズとしている - システムの安定性と変更容易性を高める施策はどんどんやっていきたい 振り返り O11yを実現していくまでの道のり
  41. | © 2024 Levtech Co., Ltd. 57 観点 - SLO設定 -

    障害対応改善 評価指標 - ビジネスクリティカルなシステム群に対する SLO設定数 - 障害対応指標 - MTTR - MTTI 新規マイルストーン O11yを実現していくまでの道のり
  42. | © 2024 Levtech Co., Ltd. 58 新規マイルストーン O11yを実現していくまでの道のり 5月 6月

    7月 8月 9月 10月 NewRelicとの連携 カルチャー作り アラートコントロール SLO 障害対応 テスト、CI SLI/SLO勉強会 ・オンボード完了 SLIの計測 SLO運用準備 ドメインチームで の横展開 ノイズアラートの撲滅 障害対応メトリクス の収集 アラートの継続的改善 本番相当データ環 境作成自動化 本番、STG環境差分解消 SLOの継続的運用 計装モデルケース作成 ・SLO運用開始 ・主要ドメイン領域での    SLO運用開始 ・toC向けのSLI/SLO運用開始
  43. | © 2024 Levtech Co., Ltd. 60 - システム戦略と課題 - 既存システムの運用とリアーキテクトプロジェクト

    - 運用負荷の大きさとデプロイ品質の担保の必要性 - SREの課題へのアプローチ - O11yの導入 - システムの内部構造の理解による認知負荷軽減 - 信頼性の計測 - O11yを実現していくまでの道のり - O11y成熟度でのフェーズ分け - フェーズ2へ まとめ