Site Reliability Engineering、略して SRE。Google が 2003 年に発明したこの職種は、いまや国内大手の事業会社にも定着し、求人倍率の高い専門職となりました。しかし「インフラエンジニアの新しい呼び方」程度に誤解されているケースも多く、本来の SRE が持つ思想 — ソフトウェアエンジニアリングで運用を革新するという発想 — を理解しないまま名前だけ採用している現場も少なくありません。本稿では、SRE として組織の信頼性を支えるエンジニアになるための学習指針を、Google 由来の原典と最新書籍を絡めて整理します。
SRE という職種の本質と DevOps との違い
SRE と DevOps は近接する概念ですが、ルーツが異なります。DevOps は Dev と Ops の文化的対立を解消するムーブメントとして生まれた一方、SRE は Google の運用部門に「ソフトウェアエンジニアを 50% 以上配置する」という人事的決定から始まりました。つまり SRE は職種名であり、DevOps は文化運動です。
渡辺 翔 のように Web サービスの安定運用に責任を負うエンジニアにとって、まず読むべきは Google が公開した『Site Reliability Engineering』いわゆる SRE 本です。本書はベストプラクティス集ではなく、Google が長年積み上げた失敗と工夫の記録です。一読しただけでは消化しきれないので、章ごとに自社の運用と照らし合わせ、ギャップを言語化しながら読むのがコツです。
入門段階のエンジニアには『SRE をはじめよう』が最適な導入書です。理論を実務に落とすときの躓きどころを丁寧に拾っており、最初の一冊として手に取りやすい構成になっています。次のステップとして『SRE の探求』を読むと、複数組織の事例を横断的に学べ、自社に合った形を考える視点が得られます。
SRE 職種を採用する企業側の論点も理解しておきたいところです。Toil 削減、エラーバジェット運用、ポストモーテム文化、これらを経営層がスポンサーシップを持って支えるかどうかで、SRE 組織の生命力は決まります。逆に技術論だけ持ち込まれた SRE はバーンアウトしがちです。
SLO と SLI とエラーバジェットの設計
SRE の中核概念が SLI、SLO、エラーバジェットの三点セットです。SLI はサービスレベル指標、SLO はその目標値、エラーバジェットは目標達成に許される失敗の余地を表します。
| 概念 | 例 | 設計上の注意点 |
|---|---|---|
| SLI | リクエスト成功率、レイテンシ p99 | ユーザー体験に直結する指標を選ぶ |
| SLO | 月次成功率 99.9% | ビジネス要求と運用負荷のバランスで決める |
| エラーバジェット | 月間 43 分のダウンタイム | 機能リリースとの取引材料として使う |
『SLO サービスレベル目標』は、この三概念を「使える形」に落とし込む実践書です。SLO を策定して終わりではなく、エラーバジェットが枯渇したときにリリース凍結を発動するというガバナンス設計まで踏み込んでいます。北川 拓也 のように現場で SLO 運用を主導する立場であれば、本書は必読です。
注意したいのは、SLO の数字を 100% に近づけすぎないことです。99.999% を狙うと、コストも開発速度も急激に犠牲になります。「ユーザーが体感できないレベルの差」に投資する意味があるのかを、ビジネス側と対話しながら決める姿勢が SRE の本質です。
可観測性とインシデント対応の実践
監視は「事前に決めた異常を検知する」活動、可観測性は「未知の異常を後追いで説明できる状態を作る」活動です。両者は別物であり、現代のクラウドネイティブ環境では後者の重要性が増しています。
『オブザーバビリティ・エンジニアリング』は、メトリクス、ログ、トレースの三本柱を統合的に扱う設計指針を示してくれます。本書を読むと、なぜ単なるダッシュボードの追加では問題が解決しないのか、構造化ログとトレース ID の伝播がなぜ生命線なのかが腹落ちします。
# OpenTelemetry Collector の最小構成例
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
processors:
batch:
timeout: 10s
exporters:
otlphttp:
endpoint: https://your-backend.example.com
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlphttp]
インシデント対応では、Severity 定義、オンコールローテーション、ポストモーテム文化の三点が肝になります。長谷川 莉沙 のように障害対応を主導する立場であれば、責任追及ではなく学習を目的とするブレームレス文化を組織に根付かせる役割も担うことになります。
インフラとコンテナの信頼性強化
SRE はソフトウェアエンジニアでありながら、インフラの設計知識も求められます。VPC 設計、IAM、ネットワーク ACL、ロードバランサ、CDN、DNS。これらを「コードとして」管理できる能力は前提です。
Kubernetes が標準的な実行基盤となった今、Pod 障害時のセルフヒーリング、HPA や VPA によるスケーリング、PodDisruptionBudget での可用性保証などを設計に組み込めるかどうかが評価ポイントです。アプリ開発者と協力して Liveness Probe や Readiness Probe を適切に設定することも SRE の仕事です。
インフラ寄りの SRE は、Linux カーネル、cgroup、namespace、eBPF といった低レイヤ知識が武器になります。性能トラブルや謎のレイテンシ増加の原因究明では、こうした基礎が物を言います。アプリケーション SRE であっても、こうした下層を「ブラックボックスではない」と感じられる程度には触れておくと、議論の解像度が上がります。
カオスエンジニアリングで信頼性を鍛える
「壊れないシステムを作る」のではなく「壊しても気づかれないシステムを作る」のが現代の信頼性工学の発想です。その実践的手法がカオスエンジニアリングです。
『カオスエンジニアリング』は、Netflix が始めた本手法を組織に導入する手順を体系化しています。本番環境にいきなり障害を注入するのではなく、ステージング環境での仮説検証から始め、徐々に本番へと段階的に拡張する成熟度モデルが示されています。
カオスエンジニアリングを始める前提として、SLO が定義され、エラーバジェットが運用されている必要があります。逆に言えば、これらが整っていない組織でカオスを始めても「ただシステムを壊しているだけ」になりがちなので、順序を間違えないでください。
カオス実験は単発のイベントで終わらせず、定期的なゲームデーとして文化に組み込むのが理想です。経営層も巻き込んでシナリオベースの障害対応訓練を半年に一度回すと、ランブック、SLO、組織連携のいずれにも改善ループが回り始めます。
組織とチームトポロジーの整備
SRE が一人ヒーローになる組織は長続きしません。エンベデッド型、プラットフォーム型、コンサルティング型など、SRE と開発チームの関係性には複数のパターンがあり、組織規模やフェーズによって最適解は変わります。
特に重要なのが「トイル削減」の優先順位付けです。手作業で 1 時間かかる運用タスクを自動化することと、新機能のリリースを支援することは、しばしば二者択一になります。エラーバジェットの残量を共通言語として、開発チームと優先順位の交渉ができる SRE が、組織から信頼されるシニアです。
組織設計の議論では、開発チーム数、サービス数、SRE 人数の比率を意識しましょう。一般に、SRE 一人あたりが担当できるサービス数には限りがあり、無計画に増やすとオンコール負荷が爆発します。新サービス追加の際にエラーバジェット枠と SRE 工数枠を要求するルールを整えるのも、シニア SRE の重要な仕事です。
必読書ガイドと学習ロードマップ
本稿で挙げた六冊を、習熟段階別に整理します。
| フェーズ | 推奨書籍 | 主な学び |
|---|---|---|
| 入門 | SRE をはじめよう | SRE の概念を実務に接続する |
| 基礎 | Site Reliability Engineering | Google の思想と実践に触れる |
| 中級 | SLO サービスレベル目標 | SLO の設計と運用ガバナンス |
| 中級 | オブザーバビリティ・エンジニアリング | 三本柱を統合する設計 |
| 上級 | SRE の探求 | 多組織事例から自社モデルを設計 |
| 上級 | カオスエンジニアリング | 障害を前提とした信頼性確保 |
SRE は座学だけでは身につかない領域です。読書と並行して、自社のサービスで一つでも SLO を定義してみる、構造化ログを一箇所でも整備してみる、ポストモーテムを一回でも書いてみる。小さな実践を積み重ねることが、SRE エンジニアとしての血肉になります。


