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

SREによる信頼性の高いサービス提供への挑戦【Qiita Conference 2023】

SREによる信頼性の高いサービス提供への挑戦【Qiita Conference 2023】

Qiita Conference 2023に、
えんフォト事業部エンジニアリングマネージャーの莊(そう)が登壇した際の資料です。

■タイトル
SREによる信頼性の高いサービス提供への挑戦
~定量的観測と改善のサイクルによるデータドリブンなサービス信頼性管理~

■概要
データを活用してサービス品質を改善する方法を紹介しています。
SREの概念が社内で浸透していなかった中、私自身が推進してきた実体験をもとに定量的な観測と改善サイクルの重要性について詳しく触れています。
実践的な知識習得につながるテーマですので、信頼性向上によるサービスの競争力に必要なスキルを高めたい方の参考になれば嬉しいです。

ULURU-HR

May 22, 2023
Tweet

More Decks by ULURU-HR

Other Decks in Technology

Transcript

  1. Qiita Conference 2023 本セッション想定の視聴者とゴール 想定の視聴者 1. サービスの信頼性を効率的に改善する方法を知りたい方。 2. 継続的にサービスの信頼性を維持しながら 開発を進める方法を知りたい方。

    本日のゴール 1. 定量的観測と改善のサイクルによるデータドリブン なサービス信頼性管理のメリットを理解する 2. 本日紹介するサービス信頼性維持、向上の仕組み (SRE)を知り、導入のイメージをもてるようになる
  2. Qiita Conference 2023 本日お話したいこと 1. 自己紹介 2. えんフォトの紹介 3. えんフォトのサービス信頼性管理における課題

    4. SREを用いたデータドリブンなサービス信頼性管理方法の導入 5. まとめ 6. エンジニア採用のお知らせ
  3. Qiita Conference 2023 自己紹介 えんフォトの 紹介 えんフォトのサ ービス信頼性管 理における課題 まとめ

    エンジニア採用 のお知らせ SREを用いたデー タドリブンなサー ビス信頼性管理方 法の導入 1. 2. 3. 4. 5. 6.
  4. Qiita Conference 2023 自己紹介 莊 亞帆 (ソウ アハン) 経歴 •

    台湾出身、35歳 • 2014年10月来日 • Android App/Web APP/Infra/DevOps領域の開発を経験し、 2019年に株式会社うるるへジョイン • うるるではCloud Solution Architect兼 Develop Team Scrum Masterとして活動 • 現在はえんフォトのEMとして開発組織成長に務める 趣味 • サウナ/温泉旅行 @YafanChuang @yafan_chuang
  5. Qiita Conference 2023 自己紹介 えんフォトの 紹介 えんフォトのサ ービス信頼性管 理における課題 まとめ

    エンジニア採用 のお知らせ SREを用いたデー タドリブンなサー ビス信頼性管理方 法の導入 1. 2. 3. 4. 5. 6.
  6. Qiita Conference 2023 自己紹介 えんフォトの 紹介 えんフォトのサ ービス信頼性管 理における課題 まとめ

    エンジニア採用 のお知らせ SREを用いたデー タドリブンなサー ビス信頼性管理方 法の導入 1. 2. 3. 4. 5. 6.
  7. Qiita Conference 2023 えんフォトのサービス信頼性管理における課題 えんフォト従来のサービス信頼性の管理方法:リアクティブなアプローチ システムメトリクス監視 死活監視 アラート通知 監視 開発チーム

    どんどん開発を進める インフラレイヤー 課題解消 運用保守チーム 開発チームはデリバリーを優先する。 デリバリーを優先した結果、 十分に信頼性を考慮できず、 運用保守対応工数が慢性的に増える。 エラー監視 アプリケーションレイヤー
  8. Qiita Conference 2023 えんフォトのサービス信頼性管理における課題 えんフォト従来のサービス信頼性の管理方法:リアクティブなアプローチ システムメトリクス監視 死活監視 アラート通知 監視 DevOpsチーム

    どんどん開発を進める インフラレイヤー 課題解消 DevOpsチーム 結局、運用保守工数が増え、開発スピード がどんどん落ちてしまう。 エラー監視 アプリケーションレイヤー
  9. Qiita Conference 2023 自己紹介 えんフォトの 紹介 えんフォトのサ ービス信頼性管 理における課題 まとめ

    エンジニア採用 のお知らせ SREを用いたデー タドリブンなサー ビス信頼性管理方 法の導入 1. 2. 3. 4. 5. 6.
  10. Qiita Conference 2023 SREを用いたデータドリブンなサービス信頼性管理方法の導入 なぜSREを導入するのか? リアクティブなアプローチ ↓ プロアクティブなアプローチへ • 障害の発生を前提にシステムを設計、開発する。

    • 定量的な信頼性指標と目標を策定し、達成する前提で開発 を行う。 • システム維持、運用作業を自動化し、重複的な価値の低い 手動作業を排除することで、ヒューマンエラーやオペレー ションコストを抑える。
  11. Qiita Conference 2023 SREにおけるサービス信頼性維持の仕組み 保証事項に対する定量的な指標 各SLI指標の維持目標値 一定期間の維持目標に対する達成度合い SREを用いたデータドリブンなサービス信頼性管理方法の導入 例:サービスの安定稼働 SLO

    (Service Level Objective) SLI (Service Level Indicator) Error Budget SLA (Service Level Agreement) サービスの信頼性レベルの保証事項 サービスの稼働時間は99.5%の可用性を 保証する ・サービスの応答確認OK(200 OK)の合計 時間 ・1ヶ月の応答確認OK(200 OK)の合計時間 が99.9%以上である Error Budgetの消耗状況 = 46% (例)
  12. Qiita Conference 2023 SREを用いたデータドリブンなサービス信頼性管理方法の導入 Error Budget = 予算 = 許容範囲

    サービスの稼働時間のSLO目標を99.9% 合計時間:720時間 許容範囲:43.2分 現状 = 20分間のダウンタイム発生 Error Budgetの消耗状況 = 46% 現状 = 40分間のダウンタイム発生 Error Budgetの消耗状況 = 93% どんどんリリースしてOK 改善活動をしたほうがいい
  13. Qiita Conference 2023 1、SLA(サービスレベルの保証事項)、SLIの定義(サービスレベル指標) SREを用いたデータドリブンなサービス信頼性管理方法の導入 求めること SLA例 • サービスの継続稼働率は99.9%以上 •

    リクエスト成功率は99.9%以上 • 5秒以内に応答するリクエスト数が 99.9%以上 • などなど。。。 保証したいサービスレベルの項目(SLA) ・安定、快適にサービスを利用したい。 ・障害によるビジネス損失をしたくない。 ・新しい機能をどんどん開発してほしい。 ・障害系の問い合わせやクレームを減らしたい。 ・開発に集中したい。 ・適切な運用/保守の工数を確保したい。
  14. Qiita Conference 2023 1、SLA(サービスレベルの保証事項)、SLIの定義(サービスレベル指標) SREを用いたデータドリブンなサービス信頼性管理方法の導入 サービスの応答確認の200 OKの合計時間 / 月間合計時間 更にSLIにに落とし込む

    サービスの継続稼働率は99.9% 以上 保証したいサービスレベル (SLA) リクエスト成功率は99.9%以上 5秒以内に応答するリクエスト数 が99.9%以上 HTTPリクエストのレスポンスコードが500~599以外のリクエスト 数 / 月間リクエスト総数 5秒以内実行完了のWeb Transaction数 / 月間合計Web Transaction総数
  15. Qiita Conference 2023 2、SLI(サービスレベル指標)の計測:計測、可視化、監視 SREを用いたデータドリブンなサービス信頼性管理方法の導入 サービスの応答確認の200 OKの合 計時間 / 月間合計時間

    HTTPリクエストのレスポンスコー ドが500~599以外のリクエスト数 / 月間リクエスト総数 5秒以内実行完了のWeb Transaction数 / 月間合計Web Transaction総数 計測対象(SLI) 計測方法(例) 監視(例) Slack ErrorBudgetの確認 アラート確認 Dashboard Web Transaction計測 200 OK計測 様々なツールで メトリクス計測 独自の計測 サーバーレスの実 行時間計測 Prometheus Dashboard SLI/SLO/ ErrorBudgetの可視化 Dashboard Dashboard 集約
  16. Qiita Conference 2023 4、SLOの維持、向上 SREを用いたデータドリブンなサービス信頼性管理方法の導入 Spikeの原因はな にか? 1. 各SLI、SLO、ErrorBudgetをDashboardで可視化し、だれも見れる状態にする 2.

    毎日の朝会でチームメンバーを集め、チェックをしてから行動を決める 月初~現時点までのSLI値が SLOを上回っているか? エラーバジェットの余剰分 はあるか? SLIの推移傾向は 想定通りか?
  17. Qiita Conference 2023 SREを用いたデータドリブンなサービス信頼性管理方法の導入 4、SLOの維持、向上:エラーバジェットの燃焼速度の監視と使い切った時の対応 SLO維持できない可能性がある。 要注意 SLOを維持できない可能性が高い。 要対応 エラーバジェットポリシー

    エラーバジェットを使い切った時の対応ポリシー 例: • リリースを凍結し、エラーバジェット が回復するまでに改善活動を行う。 • 重要なリリースの場合は責任者権限で リリースを許可することができる
  18. Qiita Conference 2023 5、定期見直し:SLOの見直し SREを用いたデータドリブンなサービス信頼性管理方法の導入 99.9% 99.9% 99.9% 99.99% (達成)

    99.95% 99.7% (未達) 2人月 99.99% (引き上げ) 99.95% (現状維持) 99.9% (現状維持) 99.95% 99.99% 99.99 % 判断 理想値より上回 る→引き上げ サービスの応答確認の200 OKの 合計時間 / 月間合計時間 HTTPリクエストのレスポンスコ ードが500~599以外のリクエス ト数 / 月間リクエスト総数 5秒以内実行完了のWeb Transaction数 / 月間合計Web Transaction総数 リソースを投入し改善してみる ↓ 3人月 投入リソース SLI SLO (現状) 実績 修正後SLO SLO (理想)
  19. Qiita Conference 2023 5、定期見直し:SLOの見直し SREを用いたデータドリブンなサービス信頼性管理方法の導入 投入リソース SLI SLO (現状) 99.9%

    99.9% 99.9% 実績 99.99% 99.95% 99.7% (未達) 修正後SLO 2人月 99.99% (引き上げ) 99.95% (現状維持) 99.5% (引き下げ) SLO (理想) 99.95% 99.99% 99.99 % 判断 サービスの応答確認の200 OKの 合計時間 / 月間合計時間 HTTPリクエストのレスポンスコ ードが500~599以外のリクエス ト数 / 月間リクエスト総数 5秒以内実行完了のWeb Transaction数 / 月間合計Web Transaction総数 リソースを変更せず、 理想値を引き下げる
  20. Qiita Conference 2023 5、定期見直し:SLI/SLAの見直し SREを用いたデータドリブンなサービス信頼性管理方法の導入 SLA/SLI 定期的に見直しをすべきな理由 サービスが常に変化するため、 SLA(それに伴うSLI、SLOも)はサービスの実態 と常に一致であるべきだから

    サービスの応答確認の200OKの合計時間 / 月間合計時間 HTTPリクエストのレスポンスコードが 500~599以外のリクエスト数 / 月間リク エスト総数 5秒以内実行完了のWeb Transaction数 / 月間合計Web Transaction総数 見直し
  21. Qiita Conference 2023 自己紹介 えんフォトの 紹介 えんフォトのサ ービス信頼性管 理における課題 まとめ

    エンジニア採用 のお知らせ SREを用いたデー タドリブンなサー ビス信頼性管理方 法の導入 1. 2. 3. 4. 5. 6.
  22. Qiita Conference 2023 自己紹介 えんフォトの 紹介 えんフォトのサ ービス信頼性管 理における課題 まとめ

    エンジニア採用 のお知らせ SREを用いたデー タドリブンなサー ビス信頼性管理方 法の導入 1. 2. 3. 4. 5. 6.