# SRE Book - Chapter 32: The Evolving SRE Engagement Model
## 要約
本章は、Google における SRE のサービスエンゲージメントモデルの進化を3段階で論じている。第一段階の単純 PRR(プロダクションレディネスレビュー)モデルは、既にリリース済みのサービスに対してエンゲージメント・分析・改善・トレーニング・オンボーディング・継続的改善の6フェーズで体系的にレビューを行う。第二段階の早期エンゲージメントモデルは、設計段階から SRE が関与することで本番障害の予防と信頼性の「設計による組み込み」を実現する。第三段階のフレームワークモデルは、本番のベストプラクティスをコードとして共通プラットフォームに体現し、個別サービスへの SRE 配置なしに本番品質を担保する。マイクロサービス化の進展と SRE 人材の希少性という外的圧力のもと、フレームワークの採用が Google 全体のサービス品質のベースラインを引き上げつつある。
## 主要概念
- **プロダクションレディネスレビュー(PRR)**: サービス固有の詳細に基づいて信頼性要件を特定するプロセスである。SRE チームがサービスの本番運用責任を引き受けるための前提条件として機能する。サービスライフサイクルの任意の時点で開始可能だが、SRE の関与段階は時間とともに拡大してきた。
- **SRE が注力する6つの軸**: システムアーキテクチャとサービス間依存関係、計装・メトリクス・モニタリング、緊急対応、キャパシティプランニング、変更管理、パフォーマンス(可用性・レイテンシ・効率)の6領域を同時に改善する。
- **単純 PRR モデルの6フェーズ**: エンゲージメント(SLO/SLA 策定と合意形成)、分析(チェックリストに基づく本番上の欠陥の評価)、改善とリファクタリング(信頼性の重要度で優先順位づけ)、トレーニング(設計概要・リクエストフローの深掘り・ハンズオン演習)、オンボーディング(段階的な責任移譲)、継続的改善(ポストモーテムと根本原因分析を通じた学習)で構成される。
- **早期エンゲージメントモデル**: 設計フェーズから SRE が関与するモデルである。ダークローンチなどのローンチパターンの適用、既存ライブラリやコンポーネントの推奨、運用容易性の設計への組み込みを通じて、リリース前に信頼性を確保する。開発チームと SRE チームの長期的な協調関係の構築にも寄与する。
- **代替サポート**: 全サービスが SRE の完全エンゲージメントを受けられるわけではない。ドキュメンテーション(プロダクションガイド)とコンサルテーション(ローンチコーディネーションエンジニアリング(LCE)チームによる短時間の設計・実装レビュー)が代替手段として提供される。
- **フレームワークとプラットフォーム**: コード化されたベストプラクティス、再利用可能なソリューション、共通本番プラットフォーム、自動化の容易性の4原則に基づき、Java・C++・Go の各環境向けにフレームワークが構築された。サービスをフレームワーク上で構築すること自体が「設計による本番対応」を意味する。
- **共有責任モデル**: SRE の完全サポートか最小限の関与かの二者択一ではなく、SRE がプラットフォームインフラ(負荷制御、過負荷管理、自動化、トラフィック管理、ロギング、モニタリング)を、開発チームがサービス固有の機能的課題をそれぞれ担当する分業体制である。
## 実践的指針
- PRR のエンゲージメントフェーズでは SLO/SLA の策定、破壊的な設計変更の計画、トレーニングスケジュールについてプロセス・最終目標・成果の合意を形成する
- 分析フェーズではドメイン知識・類似システムの経験・プロダクションガイドのベストプラクティスに基づくカスタムチェックリストを作成する
- 改善フェーズでは SRE とプロダクト開発チームが相互に支援しながらリファクタリングを実施し、信頼性の重要度で優先順位をつける
- 早期エンゲージメントの対象は、既存 SRE 管理システムへの重要な新機能追加、既存システムの大規模書き換え、開発チームが積極的に SRE の助言を求めたサービスとする
- ダークローンチ(本番トラフィックと並行して新サービスのトラフィックを流し、ユーザーに影響を与えない手法)を活用してローンチリスクを低減する
- フレームワークの適合性テストにより運用オーバーヘッドを低減し、デプロイとモニタリングの自動化を組み込む
- オンボーディングは単一の SRE が1四半期で完了可能な規模を目指し、フレームワーク準拠のサービスではこれが実現される
- フレームワーク改善の恩恵がすべてのフレームワーク準拠サービスに自動的に波及する仕組みを活用する
## 関連
- [[@2016__OReilly__SRE Book - Chapter 1 Introduction]]
- [[@2016__OReilly__SRE Book - Chapter 31 Communication and Collaboration in SRE]]
- [[@2016__OReilly__SRE Book - Chapter 33 Lessons Learned from Other Industries]]
- [[SRE Book]]
- [[SRE]]
## 出典
Beyer, B., Jones, C., Petoff, J., Murphy, N. R. "Site Reliability Engineering: How Google Runs Production Systems," O'Reilly Media, 2016. Chapter 32: The Evolving SRE Engagement Model. Written by Acacio Cruz and Ashish Bhambhani. Edited by Betsy Beyer and Tim Harvey.