ストーリー
田中VPoEはホワイトボードに2つの円を描きました。「開発」と「運用」。その間に大きな溝を描きます。
SREの起源と定義
Googleでの誕生
SRE(Site Reliability Engineering)は2003年にGoogleのBen Treynor Slossが立ち上げた組織とプラクティスです。
「SREとは、ソフトウェアエンジニアに運用の問題を解かせたときに起きることだ」 — Ben Treynor Sloss
SREの本質
| 従来の発想 | SREの発想 |
|---|---|
| 運用は繰り返し作業 | 運用の問題はエンジニアリングで解決する |
| 障害は避けるべきもの | 障害は起きるもの。リスクを定量化して管理する |
| 安定性が最優先 | 信頼性とイノベーション速度のバランスを取る |
| 運用チームがすべて対応 | 開発チームが自分のサービスの信頼性に責任を持つ |
SREとDevOpsの関係
| 観点 | DevOps | SRE |
|---|---|---|
| 位置づけ | 文化・哲学・ムーブメント | 具体的なプラクティス・フレームワーク |
| 定義 | 「開発と運用の壁を壊す」 | 「信頼性をエンジニアリングする」 |
| 実装 | 各組織が独自に解釈 | SLI/SLO、エラーバジェット等の具体的手法 |
| 例え | 「アジャイル」の思想 | 「スクラム」の具体的フレームワーク |
DevOps(文化・考え方)
↓ 具体的に実装すると
SRE(プラクティス・手法)
├── SLI/SLO/エラーバジェット
├── トイル(Toil)の削減
├── ポストモーテム
├── オンコール体制
└── カオスエンジニアリング
なぜ今SREが必要なのか
組織の現状
| 問題 | 現状 | SREによる解決 |
|---|---|---|
| 障害対応の属人化 | 特定の「運用の達人」に依存 | ランブック化、オンコールローテーション |
| 開発と運用の対立 | 「壊すな」vs「早く出したい」 | エラーバジェットで両者の合意を形成 |
| 信頼性の定量化不在 | 「なんとなく安定している」 | SLI/SLOで客観的に計測 |
| 改善の機会損失 | 障害対応に追われて改善できない | トイル削減で改善時間を確保 |
| ナレッジの分断 | 障害の教訓が共有されない | ポストモーテムで組織的に学習 |
Month 2 のロードマップ
| Step | テーマ | 得られる成果 |
|---|---|---|
| 1 | SRE組織のミッションを定義しよう | SREの理解、組織モデルの選定 |
| 2 | エラーバジェットポリシーを策定しよう | SLI/SLO設計、エラーバジェットポリシー |
| 3 | オンコール体制を設計しよう | 持続可能なオンコール体制 |
| 4 | ポストモーテム文化を確立しよう | ブレームレスな学習文化 |
| 5 | SREチーム採用・育成計画を策定しよう | チーム構築ロードマップ |
| 6 | SRE組織設計を完成させよう | SRE組織設計書 |
「CI/CD基盤は作れた。次はそれを守り、育てる組織を作る。技術とプロセスと文化 — 3つを同時に設計するのがL4のSREだ」 — 田中VPoE
まとめ
| ポイント | 内容 |
|---|---|
| SREの定義 | 信頼性をエンジニアリングの問題として解決するアプローチ |
| DevOpsとの関係 | DevOpsの具体的な実装がSRE |
| 組織の課題 | 属人化、対立、定量化不在、改善機会の損失 |
チェックリスト
- SREの定義と起源を理解した
- SREとDevOpsの関係を理解した
- 組織にSREが必要な理由を理解した
次のステップへ
次は「SREの基本原則」を学びます。SREを支える7つの原則を深掘りしましょう。
推定読了時間: 15分