SRE とは?

SRE とは?

SRE (Site Reliability Engineering、サイト信頼性エンジニアリング) は、IT 運用に対するソフトウェアエンジニアリングのアプローチである。SRE はソフトウェアをツールとして活用し、システムを管理し、問題を解決し、運用タスクを自動化する。

SRE は、拡張可能で信頼性の高いソフトウェアシステムを作成するときに有用な方法である。コードによって大規模にシステムを管理できるため、数千台から数十万台に及ぶマシンを管理するシステム管理者に、より高い拡張性持続可能性を提供する。

Google エンジニアリングチームの Gen Treynor Sloss が創案した概念である。

SRE を使用する利点

新機能を適切なタイミングでリリースし、ユーザーがその機能を安定的に利用できるようにする。

SRE エンジニアの役割

追加の運用経験を持つソフトウェア開発者、ソフトウェア開発スキルを持つシステム管理者または IT 運用者といった経歴が求められる独特な役割である。

SRE チームは、コードのデプロイ、設定、監視方法だけでなく、本番環境でのサービス可用性、レイテンシ、変更管理、緊急対応、容量管理を担当する。

新しくリリースする機能と、サービスレベル契約 (SLA) を使用して、サービスレベル指標 (SLI) およびサービスレベル目標 (SLO) によってシステムの信頼性要件を定義すべきタイミングを判断できる。

SRE では100% の信頼性を期待せず、障害に備えた計画を用意する。

DevOps との違い

DevOps は、高品質なサービスを迅速に提供することでビジネス価値と対応力を向上させるための企業文化、自動化、プラットフォーム設計に対するアプローチである。

SRE は DevOps の実装と見なすことができる。

SRE DevOps
主な関心 拡張性、運用指標、自動化 開発とデプロイ過程の統合
担当者 運用に関心がある開発チーム 開発に関心がある運用チーム
測定指標 サービスレベル目標 (SLO) の最大/最小値 主にシステム Telemetry
適用企業 クラウドネイティブ環境の IT サービス企業 オンプレミスからクラウドへ移行する企業