## 定義
SLODLC(SLO Development Lifecycle)は、SLO の設計・実装・運用を体系化したオープンフレームワークである。SLO をプロジェクト単位の一発作業ではなく、サービスとビジネスのライフサイクルに継続的に組み込むプロセスとして扱う。[[Sal Furino]] が SREcon23 EMEA で紹介し、slodlc.dev で公開されている(Source: [[@2023__SREcon23EMEA__9 Things You Should Do When Starting to Use SLOs]])。
## フェーズ構成(5 フェーズ)
```
INITIATE → DISCOVER → DESIGN → IMPLEMENT → OPERATE
↑__________________________| Review Periodically
```
**横断レイヤー(全フェーズ貫通)**:
- 上部: 「Align with Service & Software Development and Business Life Cycles」
- 上部: 「Listen and Engage Users and Stakeholders」
- 下部: 「Share Learnings from SLO Journey to Align Practices and Standards」
**INITIATE**:
- Prepare Business Case(ビジネスケースの整備)
- Identify Stakeholders(ステークホルダーの特定)
- Define Desired Outcomes(望ましい成果の定義)
**DISCOVER**:
- Prioritize User Journeys & Expectations(ユーザージャーニーと期待値の優先化)
- Analyze Dependencies(依存関係の分析)
- Observe System Behavior(システム挙動の観察)
**DESIGN**:
- Define Meaningful SLI(意味のある SLI を定義)
- Define Achievable SLO(達成可能な SLO を定義)
- Establish Error Budgets(エラーバジェットの確立)
- Define Aspirational SLO(野心的 SLO の定義)
**IMPLEMENT**:
- Collect SLI(SLI の収集)
- Publish SLO Goals(SLO 目標の公開)
- Enforce Error Budget Policy(エラーバジェットポリシーの執行)
**OPERATE**:
- Respond to Error Budget Events & Alerts(エラーバジェットイベント・アラートへの対応)
- Ensure SLI Data Cleanliness(SLI データ品質の維持)
- Adjust SLO Targets(SLO ターゲットの調整)
- Gain SLO Insights(SLO インサイトの獲得)
(Source: [[@2023__SREcon23EMEA__9 Things You Should Do When Starting to Use SLOs]] p.34)
## 横断的知見
- **SLODLC は SRE Workbook の SLO 実装ステップをライフサイクル化したものとして読める**: SRE Workbook の「Implementing SLOs」が SLI/SLO/EB の実装技術を示すのに対し、SLODLC はその前段(INITIATE/DISCOVER)とその後(OPERATE のフィードバック)を含め、SLO をサービス・ソフトウェア・ビジネスのライフサイクルに組み込む枠組みとして拡張する。
- **SLODLC の「Define Aspirational SLO」(DESIGN)と「Adjust SLO Targets」「Review Periodically」(OPERATE 周辺)は、『SLO サービスレベル目標』14章が具体的な内容を与える**: SLODLC のフレームワーク図は各ボックスにラベルのみを示すが、14章はまず「Define Aspirational SLO」を、ユーザーが最終的に満足する水準よりは低いが現状より高い目標値をあえて設定し、達成するたびに段階的に引き上げる(99%→99.5%→…)という具体的な運用として肉付けする(§14.8)。さらに「Adjust SLO Targets」「Review Periodically」については、利用率の変化・依存対象とプラットフォームの変化・障害に誘発される変化・ユーザーの期待と要求の変化・ツールの変化・直感に基づく変化という 6 つの具体的なトリガー分類を与え、定期的な再検討スケジュール自体が SLO の形骸化を防ぐ制度的装置であると論じる(§14.2–§14.10.1)(Source: [[@2023__SREcon23EMEA__9 Things You Should Do When Starting to Use SLOs]], [[@2023__OReillyJapan__SLO サービスレベル目標 - Chapter 14 SLOの進化]])。
## 未解決の問い
- SLODLC の DISCOVER フェーズが [[SLI-SLO段階的導入]] の「特定チームで価値検証する」ステップとどう対応するか。DISCOVER は前提条件整備だが、[[SLI-SLO段階的導入]] は価値検証から始める。順序が逆転しないか。
- SLODLC は「Review Periodically」を設けるが、どのフェーズで Review を実施するかの指針はあるか。14章はレビューで確認すべき一般的なトリガー分類(利用率・依存対象・障害・ユーザー期待・ツールの変化)を与えるが、それを SLODLC のどのフェーズ(OPERATE 内か、5 フェーズ全体をまたぐ横断作業か)に位置づけるべきかは明示していない。
## 関連
- 概念: [[サービスレベル目標]] / [[SLI-SLO段階的導入]] / [[エラーバジェット]]
- エンティティ: [[Sal Furino]]
- ソース: [[@2023__SREcon23EMEA__9 Things You Should Do When Starting to Use SLOs]] / [[@2023__OReillyJapan__SLO サービスレベル目標 - Chapter 14 SLOの進化]]
- 関連 MOC: [[structures/SRE - MOC]]
## 出典
- [[@2023__SREcon23EMEA__9 Things You Should Do When Starting to Use SLOs]](SLODLC フレームワーク図 p.34、Discovery Worksheet スクリーンショット p.35)
- [[@2023__OReillyJapan__SLO サービスレベル目標 - Chapter 14 SLOの進化]](野心的SLOの段階的引き上げ、SLO再検討の6トリガー分類、定期的な再検討スケジュールの意義)