IT用語: SRE(サイト信頼性エンジニアリング)とは|Googleが考案した運用手法
ソフトウェアエンジニアリングの手法で運用を改善するSREの概念とSLI・SLO・SLAの関係を解説。
SRE(Site Reliability Engineering)とは
SREはGoogleが考案した、ソフトウェアエンジニアリングの手法で運用の問題を解決するアプローチです。「信頼性を保ちながらいかに速くリリースするか」のバランスをエンジニアリングで最適化します。
重要な指標
| 用語 | 意味 |
|---|---|
| SLI(Service Level Indicator) | 実際の信頼性を示す指標(例: 99.5%の可用性) |
| SLO(Service Level Objective) | 目標値(例: 可用性99.9%を目指す) |
| SLA(Service Level Agreement) | ユーザーとの契約(例: 99.5%未満なら返金) |
エラーバジェットとは
SLOとSLAの差分が「使える障害の余裕(エラーバジェット)」です。例えばSLO 99.9%なら月約43分の障害は許容範囲。バジェットが残っている間は積極的にリリースし、使い切ったら安定化を優先するという判断軸になります。
DevOpsとSREの違い
DevOpsが文化・哲学的な概念であるのに対し、SREはGoogleにおけるDevOpsの具体的実装形態です。「開発者と運用者の協力」を達成するための方法論の一つです。
関連する用語 (DevOps)
全58件を見るカナリアリリース
新バージョンを全ユーザーにいきなり公開せず、まず少数(5〜10%)のユーザーにのみ提供してリスクを最小化するリリース手法。問題があれば即座にロールバックできる。
GitHub Actions
GitHubに組み込まれたCI/CDプラットフォーム。リポジトリへのプッシュやプルリクエストをトリガーに、ワークフロー(.yml)を自動実行できる。テスト・ビルド・デプロイを一元管理できる。
Jenkins
オープンソースのCI/CDサーバー。Groovyベースのパイプライン定義でビルド・テスト・デプロイを自動化できる。プラグインが豊富で高い拡張性を持つ。
Pod
Kubernetesの最小デプロイ単位。1つ以上のコンテナとストレージ・ネットワーク設定をまとめたもの。通常はDeploymentやStatefulSetを通じて管理され、スケーリング・再起動の単位となる。
Chaos Engineering
本番システムに意図的に障害を注入し、システムの回復力(レジリエンシー)を検証する実践手法。Netflixが提唱しChaos Monkeyで有名。「障害は必ず起きる」という前提のもと、弱点を事前に発見する。
Grafana
オープンソースのデータ可視化・ダッシュボードツール。PrometheusやInfluxDB等のデータソースと接続し、美しいグラフダッシュボードを構築できる。インフラ監視からビジネス指標まで幅広く活用される。