SLOとビジネスアラインメントとは
SLOとビジネスアラインメントは、サービスの信頼性目標をユーザー体験や事業目標に基づいて定め、その達成状況を開発や運用の意思決定に活用するための取り組みです。
サービスの状態を表すSLI、達成すべき水準を表すSLO、許容できる信頼性の不足を表すエラーバジェットを用いることで、信頼性を客観的に把握し、機能開発と信頼性向上のバランスを判断できるようにします。
あわせて、顧客と取り交わすサービス水準合意(SLA)と、内部で定めるSLOを区別します。SLAに違約金などの定めがある場合は、それを下回る前に手を打てるよう、内部のSLOをSLAより厳しく設定します。
なお、このチェックリストは必ずしもすべて導入しなければならないわけではなく、むしろプロジェクトの性格に合わせて無理のない範囲で実践するものであることに留意ください。
背景
サービスの信頼性を高める際に、技術的な可用性や性能だけを目標にすると、その改善がユーザー体験や事業成果にどの程度寄与するのかを判断しにくくなります。一方で、根拠なく100%の信頼性を目指すと、必要以上のコストや運用負荷が生じる可能性があります。
そのため、ユーザーがサービスをどのように利用し、どのような状態を許容できるのかを踏まえてSLIとSLOを設計する必要があります。SLIは、成功と失敗を分ける判定基準、閾値、計測ウィンドウを明確にし、組織内で共通の形式に沿って定義します。また、SLOを定義するだけでなく、継続的に計測し、エラーバジェットの消費状況に応じてリリースや信頼性改善の優先順位を判断する仕組みも重要です。
SLOは一度決めて終わるものではありません。サービスの重要度、ライフサイクル、ユーザーの期待、事業目標の変化に応じて定期的に見直し、組織内の共通言語として利用できる状態を整える必要があります。サービスの重要度に応じて、信頼性の確保に投じる支援と投資の範囲を定めることも必要です。
SREアセスメントでは、SLOとビジネスアラインメントに関する以下の事項を確認します。
チェックリスト
| チェック項目 |
|---|
| ユーザーの期待する体験を表す信頼性目標を、エンジニアリングチームとプロダクトチームが共同で設定しているか |
| ユーザージャーニーを起点に、対象に適したSLIと計測位置・計測方法を設計しているか |
| 障害を前提として、リスク許容度と費用便益を踏まえた現実的な信頼性目標を設定しているか |
| SLIの成功判定基準・閾値・計測ウィンドウが明確で、指標の分布特性を踏まえた設計になっているか |
| SLIが共通の形式で定義され、計測条件と継続的なデータ収集の仕組みが標準化されているか |
| エラーバジェットがSLOと計測ウィンドウにもとづいて算出され、その消費状況を継続的に把握できているか |
| SLO未達やエラーバジェット枯渇時の対応方針が明文化され、変更の進め方や信頼性改善の判断に適用されているか |
| SLI・SLOとエラーバジェットが、機能開発と信頼性改善の優先順位を決める判断材料として使われているか |
| ユーザー満足に必要な水準を超える信頼性のために、過剰な資源を投入していないか |
| SLOの達成状況とサービスの主要な指標が定期的にレビューされ、関係者間の共通認識として共有されているか |
| サービスの重要度に応じて、信頼性確保のために投入する支援と投資の範囲が定められているか |
| ユーザー満足度との食い違いやSLOの達成状況をもとに、SLOの目標値を継続的に見直しているか |
| SLI・SLO・SLAを明確に区別し、内部の信頼性目標と顧客とのサービス水準合意の関係を適切に設計しているか |
対応によって得られる効果
SLOとビジネスアラインメントに対応することで、サービスの信頼性をユーザー体験や事業目標と結び付けて評価できるようになります。技術指標の改善を目的化せず、どの信頼性課題を優先すべきかを共通の基準で判断しやすくなります。
また、エラーバジェットを継続的に追跡し、リリースや改善の判断に利用することで、機能開発と信頼性向上のバランスを取りやすくなります。信頼性が不足している場合だけでなく、必要以上の品質やコストが生じている場合も把握できます。
SLOを組織内の共通言語として定期的に見直す仕組みを整えることで、サービスや事業環境の変化に合わせて目標と投資を調整し、継続的な信頼性改善につなげられます。
