SRE(サイトリライアビリティエンジニアリング)とは
SREはGoogleが提唱した「信頼性をソフトウェアエンジニアリングで解決する」アプローチです。SLI/SLO・エラーバジェット・トイル削減という独自の概念で、開発速度と信頼性のトレードオフを管理します。
SREとDevOpsの違い
DevOpsは「開発と運用の文化的統合」という考え方であり、SREはその具体的な実装方法の一つです。
| 観点 | DevOps | SRE |
|---|---|---|
| 定義 | 文化・哲学・ムーブメント | Googleが実装した具体的なプラクティス |
| 焦点 | 開発↔運用の連携強化 | サービス信頼性の定量的管理 |
| KPI | デプロイ頻度・障害復旧時間 | SLO達成率・エラーバジェット消費 |
| チーム | 開発チームに運用を組み込む | 専門SREチームが運用プラットフォームを担当 |
| 自動化 | CI/CDパイプラインの自動化 | トイル(手作業)の自動化・排除 |
SREの核心概念:SLI / SLO / SLA
サービスの信頼性を測る指標。「何を計測するか」。
SLIの目標値。「どこまで達成するか」。社内的な約束。SLAより厳しく設定する。
ユーザー・顧客との契約上の約束。SLO未達時のペナルティ(返金等)を含む。SLOより低く設定するのが原則。
SLOが99.9%なら、残り0.1%がエラーバジェット(許容できるエラー量)。バジェットが残っている間はリスクのある新機能をリリース可能。バジェットを使い果たしたらリリースを凍結して信頼性改善に集中する。「開発速度 vs 信頼性」のトレードオフをデータで判断する仕組み。
トイル(Toil)削減
SREはエンジニアリング作業時間の50%以上をトイル(手作業・反復的な運用業務)に費やすべきではないという原則を持ちます。
オブザーバビリティ(可観測性)3本柱
SREが重視するオブザーバビリティは「外部の出力からシステムの内部状態を理解できること」。3つの柱で構成されます。
時系列の数値データ。CPU使用率・レスポンスタイム・エラー率。「何が起きているか」を把握する。
イベントの記録。「何が・いつ・どこで起きたか」を調査する。構造化ログ(JSON)で検索性を高める。
分散システムでのリクエスト追跡。「どこでボトルネックが発生したか」を特定する。マイクロサービスで必須。
SLO・監視設計を含む非機能要件定義書をAIで生成
可用性・性能・セキュリティ・オブザーバビリティ要件を入力するだけで、SLI/SLO設計と監視アーキテクチャを含む非機能要件定義書を自動生成します。
無料で始める(10クレジット)