開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
by
Tech Leverages
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
開発と事業を繋ぐ! SREの オブザーバビリティ戦略 ~開発者体験UPで、全員幸福なサービス開発へ~
Slide 2
Slide 2 text
| © 2024 Levtech Co., Ltd. 2 1. NewRelicのご紹介 2. レバテックについて 3. レバテックが抱える戦略と課題 4. 課題に対するSREからのアプローチ 5. O11yを実現していくまでの道のり 6. まとめ アジェンダ
Slide 3
Slide 3 text
| © 2024 Levtech Co., Ltd. 3 レバテック開発部 蒲生 廣人 HIROTO GAMO • 所属:DevOps推進グループSREチーム/リーダー • コミュニティ:SRE NEXT運営 • 主な業務:監視体制の構築、AWS環境の運用保守、TiDBへの移行
Slide 4
Slide 4 text
New Relic 技術統括コンサルティング部 ソリューションコンサルタント 高木 憲弥 兵庫県尼崎市出身 広島在住 ・経歴:日系 SIer フルスタックエンジニア 金融業界を中心に開発・運用を担当 システム障害発生時には火消し隊長 ・得意領域 クエリチューニング、JVM分析
Slide 5
Slide 5 text
© 2024 New Relic, Inc. All rights reserved New Relicの概要 米国本社 New Relic, Inc. 事業内容 オブザーバビリティプラットフォームの提供 設立 2008年 CEO アシャン・ウィリー (Ashan Willy) 従業員数 約2,700人 拠点数 16拠点 日本法人 New Relic 株式会社 設立 2018年8月 代表取締役社長 小西 真一朗 出典:株式会社テクノ・システム・リサーチ
Slide 6
Slide 6 text
© 2024 New Relic, Inc. All rights reserved オブザーバビリティ (O11y)とは 『(意訳)オブザーバビリティ とは、システムの あらゆる状態を理解し説明できる 特性です。 デバッグの事前定義や予測なし に、状態デー タをアドホックに調査し、デバッグを可能に す ることが求められます。 新しいコードのデプロイ不要 で奇妙な状態も 理解できる場合、オブザーバビリティがあると されます。』 参考:Oreilly “Observability Engineering” 2022 https://www.oreilly.com/library/view/observability-engineering/9781492076438/
Slide 7
Slide 7 text
© 2024 New Relic, Inc. All rights reserved オブザーバビリティ( O11y)とは オブザーバビリティ 7 データをリアルタイムに 取得し続け、 常にシステム全容把握 と問題の予防・改善が 連携してできる状態 インフラ・ネットワーク 監視 顧客体験 監視 ビジネス 監視 機会損失 サービスレベル ページ表示時間 アプリケーション 監視
Slide 8
Slide 8 text
© 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
Slide 9
Slide 9 text
© 2024 New Relic, Inc. All rights reserved ビジネス=顧客への価値提供を最大化するために 顧客起点の期待 ビジネス観点 エンジニア観点 信頼性 安全にいつでも利用可能 セキュアで可用性高い サービス提供 問題対応時間の最小化 Reliability 運用 変更頻度・イノベーション 新しい価値が頻度高く提供 価値提供スピードの高速化 顧客価値に集中した開発 Velocity 開発
Slide 10
Slide 10 text
© 2024 New Relic, Inc. All rights reserved オブザーバビリティによる開発者体験の向上 1. インフラメトリクスではなく、ユー ザー視点のモニタリングによるア ラートの最適化 2. 原因のボトルネックへのドリルダウ ンを高速に、かつ属人化しない体制 へ エンジニアがコア業務に注力 1. SLI/SLO運用により、共通指標 を元にしたコミュニケーションで 開発速度と信頼性を両立 2. 事業サイドと開発サイドで共通 指標を持ち、顧客への価値提供 を最大化 コミュニケーションの効率化
Slide 11
Slide 11 text
レバテックについて
Slide 12
Slide 12 text
| © 2024 Levtech Co., Ltd. 12 VISIONとMISSION レバテックについて
Slide 13
Slide 13 text
| © 2024 Levtech Co., Ltd. 13 事業ポートフォリオ レバテックについて エージェント プログラミング スクール コンテンツ メディア プラット フォーム ダイレクト リクルーティング ITエンジニア・クリエイターの フリーランス・転職・就職・教育の すべてを備える採用プラットフォーム エージェントを中心に、求人媒体、 プログラミング教育まで IT専門職のキャリアを厚くサポート。
Slide 14
Slide 14 text
| © 2024 Levtech Co., Ltd. 14 プロダクト・サービス レバテックについて コンテンツメディア Q&Aプラットフォーム 採用管理ツール 案件/求人サイト スマホアプリ LP/サービスサイト
Slide 15
Slide 15 text
| © 2024 Levtech Co., Ltd. 15 技術広報 レバテックについて カンファレンススポンサー や テックブログ に力を入れてます! もフォローしてね! etc.
Slide 16
Slide 16 text
レバテックが抱える戦略と課題
Slide 17
Slide 17 text
| © 2024 Levtech Co., Ltd. 17 事業をより加速させるための、システムの ToBeへ近づけていく リアーキテクトプロジェクトが進行中 & リアーキテクト前の既存システムの運用 (リアーキテクトのリリースをビッグバンでは行わず、 ドメインごとに切り分けて段階的なリリースを目指している) システム戦略 レバテックが抱える戦略と課題
Slide 18
Slide 18 text
| © 2024 Levtech Co., Ltd. 18 CTO、事業目線 - 既存システムの運用 - なるべくこれまで以上の安定的な運用 - 引き続き小中規模の機能改修 - リアーキテクトプロジェクト - なるべくリアーキテクト部分のリリースの際に 業務、事業影響が出ないように - 機能要件 - 非機能要件 - なるべく早く システム戦略 レバテックが抱える戦略と課題
Slide 19
Slide 19 text
| © 2024 Levtech Co., Ltd. 19 システム戦略 レバテックが抱える戦略と課題 要するに 開発生産性
Slide 20
Slide 20 text
| © 2024 Levtech Co., Ltd. 20 システム戦略 レバテックが抱える戦略と課題 引用:質とスピード
Slide 21
Slide 21 text
| © 2024 Levtech Co., Ltd. 21 システム戦略のプロジェクトを完了させ、その後継続的な運用をするために - 既存システムの安定稼働 - リアーキテクトシステムのリリース時の品質担保 が必要 システム戦略 レバテックが抱える戦略と課題
Slide 22
Slide 22 text
| © 2024 Levtech Co., Ltd. 22 SREの立ち位置 - レバテック開発部の中の横断的組織 - 各ストリームアラインドチームには属さない - なんで? - 複数の開発チームをまたいだ大きい運用課題に取り組むため - 特定のチームに属すとそういった課題に取り組むことが難しい システム戦略 レバテックが抱える戦略と課題
Slide 23
Slide 23 text
| © 2024 Levtech Co., Ltd. 23 システム戦略のプロジェクトを完了させ、その後継続的な運用をするために - 既存システムの安定稼働 - リアーキテクトシステムのリリース時の品質担保 が必要 システム戦略 レバテックが抱える戦略と課題
Slide 24
Slide 24 text
| © 2024 Levtech Co., Ltd. 24 - 既存システムの運用課題 - システムの複雑な内部構造 - サービス同士の通信が多く発生し、 メトリクスやログだけで通信を追っていくことが難 しい - レガシーなコードによる認知負荷の高さ - 属人化 - サービスの信頼性を計測できていない - 安定稼働は何を指しているのか - 障害は本当に障害なのか、見逃している障害はないか - カーディナリティの高いデータが取得できていない - どのくらいのユーザーに影響が出ているのか分かりづらい システム戦略を進めていくうえでの課題 レバテックが抱える戦略と課題
Slide 25
Slide 25 text
| © 2024 Levtech Co., Ltd. 25 - 課題の影響の表面化 - 障害対応時間の長さ - オオカミ少年アラート - 機能開発の鈍化 - 積もり積もった運用作業 これらは開発者体験の悪化を表しているもの 開発者体験の悪化は開発生産性の低下につなが る システム戦略を進めていくうえでの課題 レバテックが抱える戦略と課題 引用元:経営視点から捉えた開発生産性(BUYSELL)
Slide 26
Slide 26 text
| © 2024 Levtech Co., Ltd. 26 - 通信状態をコードから追う - システムに詳しい人が頑張ってログ分析 する - 通知が来るたびに問題ないアラートかど うか判断する - 調査用のログを出す変更をデプロイする - 重要度高、緊急度低の運用タスクは優 先度を下げる 目指すべき状態 開発者体験◎ - 通信状態が可視化された状態 - 調査しようとする人が調査できる状態 - 対応が必要なアラートだけが鳴る状態 - システムに変更を加えなくても調査がで きる状態 - システムの継続的運用に必要と判断さ れる運用タスクの優先度を適切につけて いく 課題に対する今の戦い方 開発者体験△ 既存システムの運用との戦い方
Slide 27
Slide 27 text
| © 2024 Levtech Co., Ltd. 27 - リアーキテクトプロジェクトのリスク - 完遂までのリリース回数が増える - デプロイ失敗率が高いまま回数が多くなると、障害対応時間が膨れ上がっていく - 品質が落ちる回数が増えると、開発チームへの信頼度が下がっていく - 最悪リアーキテクトプロジェクトのストップがかかるかも? - システムの複雑性は上がる一方 - 機能やシステムを捨てない限り、システム全体の複雑性は上がっていく - 偶有的複雑性は減っていくが、本質的複雑性が下がることはない - 遅延した時のリスク - 既存システムの苦しい運用がその分継続される システム戦略を進めていくうえでの課題 レバテックが抱える戦略と課題
Slide 28
Slide 28 text
| © 2024 Levtech Co., Ltd. 28 - リリースのたびに不具合や品質低下が 発生してしまう - 複雑化していくシステムの全容がわから なくなっていく - 開発が遅延してしまい、既存システムの 運用負荷が継続していく 目指すべき状態 開発者体験◎ - リリースによるシステムの変化が観測で き、問題が起きても対処しやすい状態 - システムが複雑化しても、全容が分かる 状態 - 遅延の要因になり得る障害対応などの 工数が抑えられている状態 潜在的リスク 開発者体験△ リアーキテクトプロジェクトのリスクとの戦い方
Slide 29
Slide 29 text
| © 2024 Levtech Co., Ltd. 29 ● 既存システムの運用 - システムの複雑な内部構造 - サービスの信頼性 ● リアーキテクトプロジェクト - デプロイ失敗率 - システムの複雑性 - 遅延のリスク 運用作業の負荷軽減とデプロイの品質 担保が必須 ● 運用作業の負荷軽減 - システムの内部構造の可視化 - 信頼性の計測 ● デプロイの品質担保 - システムの内部構造の可視化 - 信頼性の計測 負荷の高い運用作業とリアーキテク トを並行して進めないといけない 既存システムの運用とリアーキテクトプロジェクトの並行進行
Slide 30
Slide 30 text
課題に対するSREからのアプローチ
Slide 31
Slide 31 text
| © 2024 Levtech Co., Ltd. 31 - やりたいこと - 既存システムの運用作業負荷の軽減 - リアーキテクトシステムのデプロイ時の品質担保 - プラクティス - システムの内部構造の可視化 - 新たな実装無しでシステムの状態がわかる - 属人性の軽減 - 信頼性の計測 - 予測モデルの作成 - カーディナリティの高いデータの取得 オブザーバビリティの採用 課題に対するSREからのアプローチ
Slide 32
Slide 32 text
| © 2024 Levtech Co., Ltd. 32 - メトリクス、ログ、トレース、イベントの各テレメトリデータの取得 - ダッシュボード、サービスマップの作成 システムの内部構造の可視化 課題に対するSREからのアプローチ - 新たな実装無しでシステムの状態がわかる - ツール内に調査に必要なデータが揃っている状態 - ※ツールを導入するだけで、この状態を作れるわけではない - 属人性の軽減 - システムの内部構造にある暗黙知の量が抑えられている状態 - システムに関心のある人が、データを追うことによって自 分で調査できる - 会社に長く在籍している人ではなく
Slide 33
Slide 33 text
| © 2024 Levtech Co., Ltd. 33 システムの内部構造の可視化 課題に対するSREからのアプローチ テレメトリデータの取得 - トランザクションデータ - レイテンシ、スループットの可視化
Slide 34
Slide 34 text
| © 2024 Levtech Co., Ltd. 34 システムの内部構造の可視化 課題に対するSREからのアプローチ
Slide 35
Slide 35 text
| © 2024 Levtech Co., Ltd. 35 システムの内部構造の可視化 課題に対するSREからのアプローチ サービスマップの自動作成 - トレース情報から自動で通信状態を 可視化してくれる - 各サービスに対して設定したアラー トの状態を色で可視化
Slide 36
Slide 36 text
| © 2024 Levtech Co., Ltd. 36 ● 新たな実装無しでシステムの状態 がわかる - ツール内に調査に必要なデータが揃って いる状態 ● 属人性の軽減 - システムの内部構造にある暗黙知の量 が抑えられている状態 見込める効果 ● 障害調査にかかる工数削減 - どの処理でエラーが発生しているかを可視化 - 調査に関われる人が増える ● 障害発生の予兆検知 - 暗黙知が形式知化 - ユーザーのふるまいなどの理解 - →「未知の未知」への対応がしやすくなる オブザーバビリティの特性 システムの内部構造の可視化
Slide 37
Slide 37 text
| © 2024 Levtech Co., Ltd. 37 - SLI/SLOの設定 - SLM(Service Level Management)の活用 信頼性の計測 課題に対するSREからのアプローチ - 予測モデルの作成 - システム内の相関性 - システムとビジネスの相関性 - ↑これを見つけることでシステムの価値が分かりやすくなり、投資の判断もしやすくなる - カーディナリティの高いデータ取得 - どんなユーザーに、どういうときに、どんな影響が出ているのか - 数値の変化に対して原因分析がしやすい
Slide 38
Slide 38 text
| © 2024 Levtech Co., Ltd. 38 信頼性の計測 課題に対するSREからのアプローチ - SLO達成率 - SLIの推移 - リリースタイミングでの変化 - エラーバジェット管理 - 良いイベント/有効なイベントの可視化
Slide 39
Slide 39 text
| © 2024 Levtech Co., Ltd. 39 ● 予測モデルの作成 - システム内の相関性の把握 - ビジネスとシステムの相関性の把握 ● カーディナリティの高いデータ取 得 - どんなユーザーに、どういうときに、どん な影響が出ているのか 見込める効果 ● 信頼性=開発とビジネスの指標と 相関の強いものを管理できる - リリースのリスクマネジメント - 機能開発と運用のコントロールがしやすくなる ● アラートの精度向上 - ビジネス上重要な指標をアラートに使うことが できる - アラート疲れが軽減される オブザーバビリティの特性 信頼性の計測
Slide 40
Slide 40 text
| © 2024 Levtech Co., Ltd. 40 見込める効果 - 開発者体験UP↑ - 障害対応時間の減少 - システムの内部構造の把握によって、原因分析のループを最適化していく - 「未知の未知」に対する対応をしやすい状態に近づけていく - オオカミ少年アラートの減少 - ユーザー体験を重視した、対応する必要のあるアラートだけ鳴るように改善していく - 機能開発により集中できる状態へ - デプロイ失敗率を抑えていく - 運用作業のコントロール - システムのパフォーマンスがSLOを満たすレベルを維持し続けるために 機能開発と、積もり積もった運用作業の優先度つけを適切に行っていく 結果として
Slide 41
Slide 41 text
O11yを実現していくまでの道のり
Slide 42
Slide 42 text
| © 2024 Levtech Co., Ltd. 42 - フェーズ1 - O11yの理解 - ツール移行 - アラート改善 - フェーズ2 - SLOの設定 - 障害対応改善 マイルストーン O11yを実現していくまでの道のり
Slide 43
Slide 43 text
| © 2024 Levtech Co., Ltd. 43 マイルストーン O11yを実現していくまでの道のり
Slide 44
Slide 44 text
| © 2024 Levtech Co., Ltd. 44 フェーズ1の観点 - O11yの考え方のインストール - O11yツールのオンボーディング - モニタリングツールからO11yツールへの移行 - アラートの最適化 評価指標 - O11yの理解度 - ツール移行進捗% - Criticalアラートの発報数 マイルストーン O11yを実現していくまでの道のり
Slide 45
Slide 45 text
| © 2024 Levtech Co., Ltd. 45 1月 2月 3月 4月 5月 6月 会議体 勉強会 運用(ツール移行) - アラート - 調査 運用(+α) - SLM - 定例での利用 ナレッジ共有 ・適宜打合せ ・適宜打合せ ・適宜打合せ ・・・ 勉強会 ハンズ オン 検証環境での実装 3/6:アラート 勉強会 SREチー ム向け 勉強会 4/12 障害対応訓練 (過去障害を用いて ) ・オンボード完了 エラー撲滅運動 (開発チーム) 5/XX 自社ナレッジ共有 検証環境での実装 本番運用 本番環境での実装 本番実装 ・定例MTG マイルストーン O11yを実現していくまでの道のり
Slide 46
Slide 46 text
| © 2024 Levtech Co., Ltd. 46 - O11y勉強会 - SREチーム内ではオブザーバビリティエンジニアリングの本を輪読 - 開発チーム向けにO11yの概要を説明する勉強会を開催 - New Relicハンズオン - 架空のアプリケーションと問題を用意して、 New Relicの画面を触りながら 解決していくハンズオンを開催 - 模擬障害対応 - 実際に運用しているサービスの STG環境で障害を起こしてみて New Relicなどを使って原因調査をする O11yのインストールとツールのオンボーディング O11yを実現していくまでの道のり
Slide 47
Slide 47 text
| © 2024 Levtech Co., Ltd. 47 ツールの移行、アラートの最適化 O11yを実現していくまでの道のり 勉強会の様子
Slide 48
Slide 48 text
| © 2024 Levtech Co., Ltd. 48 移行の推進 - New RelicアラートのTerraformライブラリ作成 - New Relic合宿 - GWの中日にあった平日3日間で、出勤している開発部メンバーでアラートの移行作業を 行った - その間SREチームががっつりサポート - アラート勉強会 - ユーザー体験視点でのアラート作成を、 New Relicを使ってハンズオンを実施 ツールの移行、アラートの最適化 O11yを実現していくまでの道のり
Slide 49
Slide 49 text
| © 2024 Levtech Co., Ltd. 49 進捗 - ツール移行 - New Relicへのツール移行がどの程度進んだか - アラート品質 - オオカミ少年アラートはどの程度減らせたか - 社内事例 - New Relicをサービスの運用改善に活用できているか 今のところの進捗と効果 O11yを実現していくまでの道のり
Slide 50
Slide 50 text
| © 2024 Levtech Co., Ltd. 50 ツール移行 - マイルストーン作成時、ツール導入を目標としていたシステムは無事完了 - 追加で、導入を希望するシステム、チームが出たのでそちらにも導入済み - 合計で30システムに導入完了 今のところの進捗と効果 O11yを実現していくまでの道のり
Slide 51
Slide 51 text
| © 2024 Levtech Co., Ltd. 51 アラート品質 - 導入したシステムはすべてアラートを NewRelic管理に移行済み - 一部SendgridなどSaaS連携部分は既存のツールを使用中 - Criticalアラート発報数/1週間(6/2~7/16) - 234→157(4割減) 今のところの進捗と効果 O11yを実現していくまでの道のり
Slide 52
Slide 52 text
| © 2024 Levtech Co., Ltd. 52 今のところの進捗と効果 O11yを実現していくまでの道のり
Slide 53
Slide 53 text
| © 2024 Levtech Co., Ltd. 53 定性面での効果測定 - O11yの浸透度 - 勉強会アンケート - 開発者体験 - エンゲージメントサーベイ 今のところの進捗と効果 O11yを実現していくまでの道のり
Slide 54
Slide 54 text
| © 2024 Levtech Co., Ltd. 54 勉強会アンケート 今のところの進捗と効果 O11yを実現していくまでの道のり
Slide 55
Slide 55 text
| © 2024 Levtech Co., Ltd. 55 開発者体験 今のところの進捗と効果 O11yを実現していくまでの道のり 関連施策 - モブプロの実践 - Autify導入 - TiDB導入
Slide 56
Slide 56 text
| © 2024 Levtech Co., Ltd. 56 なんでこのアプローチを半年間やりきれたか - SREチームを横断組織として置き続けた - O11yを複数の開発チームを巻き込んで導入できた - 開発部のカルチャー - 勉強会が盛ん - 新しい技術や考えに抵抗感が少ない - 経営陣、CTOの方針 - リアーキテクトプロジェクトを走らせるように、今は開発に投資をしていくフェーズとしている - システムの安定性と変更容易性を高める施策はどんどんやっていきたい 振り返り O11yを実現していくまでの道のり
Slide 57
Slide 57 text
| © 2024 Levtech Co., Ltd. 57 観点 - SLO設定 - 障害対応改善 評価指標 - ビジネスクリティカルなシステム群に対する SLO設定数 - 障害対応指標 - MTTR - MTTI 新規マイルストーン O11yを実現していくまでの道のり
Slide 58
Slide 58 text
| © 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運用開始
Slide 59
Slide 59 text
まとめ
Slide 60
Slide 60 text
| © 2024 Levtech Co., Ltd. 60 - システム戦略と課題 - 既存システムの運用とリアーキテクトプロジェクト - 運用負荷の大きさとデプロイ品質の担保の必要性 - SREの課題へのアプローチ - O11yの導入 - システムの内部構造の理解による認知負荷軽減 - 信頼性の計測 - O11yを実現していくまでの道のり - O11y成熟度でのフェーズ分け - フェーズ2へ まとめ
Slide 61
Slide 61 text
宣伝
Slide 62
Slide 62 text
開発職向け会社紹介資料 プロダクトや開発組織についてご紹介しています。 https://speakerdeck.com/leverages/levtech-hui-she-shao-jie-zi-liao-enzi niazhi-xiang-ke レバテック開発部テックブログ 日々の開発におけるリアルをお届けしています! https://zenn.dev/p/levtech カジュアル面談フォーム 気軽にご応募ください!いろんなお話しましょう! https://hrmos.co/pages/leverages/jobs/A_c_00071
Slide 63
Slide 63 text
| © 2024 Levtech Co., Ltd. 63 SRE NEXT 2024 宣伝
Slide 64
Slide 64 text
SRE NEXT 2024の開催日と場所 開催日 : 2024年8月3日(土)、4日(日) ※2Days開催 開催場所 : AbemaTowers 開催方式 : ハイブリット開催
Slide 65
Slide 65 text
アンケートへご協力お願い致します! ご希望の方にはNew Relic実践入門本をお送り致します。 回答はこちらからお願い致します。
Slide 66
Slide 66 text
No content
Slide 67
Slide 67 text
© 2024 New Relic, Inc. All rights reserved.