# Not All Minutes Are Equal: The Secret behind SLO Adoption Failure SREcon23 Americas(2023-03-23)での Troy Koss・Michael Goins(Capital One)の発表。SLO 採用が失敗する構造的な理由を「時間スライス vs. イベントベース」の比較を軸に解説し、採用を段階的に成功させる実践的ロードマップを示す。 ## 概要 SLO は「会議・書籍・記事で見た → 導入 → 結果は素晴らしい → また会議で紹介」という自己循環的な宣伝構造(循環販売戦略)に陥りやすく、指標そのものの妥当性が検証されないまま広まる。本発表は「業界の通説を鵜呑みにせず、自組織のデータで実験・検証・修正してからスケールせよ」という戦略を、Capital One での実践知として提示する。 ## 主要メッセージ - **時間スライス SLO の問題**(p.10): 1 分単位で良否を判定する閾値方式(例: 95% 閾値)は、分内のリクエスト数を考慮しない。ピーク時の大量リクエストと深夜の少量リクエストを同一票として扱うため、「重い 1 分」が SLO に反映されにくい。 - **イベントベース SLO の優位性**(p.18–19): SLI = Good Events / Total Events で集計するとエラーバジェット消費がインシデントの深刻度(18.1%↓ → 36.6%↓)と比例し、直感的なビリーバビリティが得られる。 - **採用ロードマップ 6 段階**(p.5, 35): Study Industry Publications → Experiment with the metric → Fix what went wrong → Understand the Signals → Fanfare & Action → Scale(反復ループあり)。 - **エラーバジェットポリシー**(p.32): 「誰が・何を・いつするか」の責任分担とアカウンタビリティを文書化し、Leadership・Dev・Product・SRE の 4 者が顧客中心で共有所有する構造が定着の前提。 ## 視覚的に重要な図表 **p.10 時間スライス方式の問題:6 分間の例** ![[_attachments/2023__SREcon23Americas__Not-All-Minutes-Are-Equal/page-010.png]] 99.95 SLO + 95% 閾値の設定で、6 分のうち 4 分が「良い分」と判定され SLI_time_slice = 66%。しかし Minute 3(Good:1 / Total:100、SLI:1%)はエラーバジェットに影響せず「5% のエラーがエラーバジェットに届かない」問題が発生する。 **p.15 時間スライスの L グラフ:インシデント影響が見えない** ![[_attachments/2023__SREcon23Americas__Not-All-Minutes-Are-Equal/page-015.png]] 99.95 SLO の EBR グラフで "Badder Incident" が 0%↓、"Baddest Incident" が 400%↓ という逆転現象。時間スライス方式ではインシデントの深刻度が EBR に正しく反映されない(L 字型の急落)。 **p.19 イベントベースの Money Chart:インシデント規模と比例** ![[_attachments/2023__SREcon23Americas__Not-All-Minutes-Are-Equal/page-019.png]] 同一データをイベントベース集計すると "Badder Incident 18.1%↓" / "Baddest Incident 36.6%↓" と深刻度に比例した EBR 消費になる。 **p.24 シグナルの解釈パターン** ![[_attachments/2023__SREcon23Americas__Not-All-Minutes-Are-Equal/page-024.png]] EBR グラフ上に「変更導入」「急速消費(Fast burn)」「緩慢消費(Slow burn)」「回復(Recovery)」の各パターンを注釈したもの。チームがシグナルを読む訓練の基礎となる図。 **p.25 シグナルの実例:2 サービスの比較** ![[_attachments/2023__SREcon23Americas__Not-All-Minutes-Are-Equal/page-025.png]] オレンジ(サービス A)と赤(サービス B)の EBR 推移を重ねた図。"No Incident 49.5%↓"(サービス A のバグ起因の緩慢消費)が "Badder 18.1%↓"(インシデント)より大きい消費になっており、「インシデントのないジワジワ消費」が最も危険なパターンを実証する。 **p.31 Default SLO 式** ![[_attachments/2023__SREcon23Americas__Not-All-Minutes-Are-Equal/page-031.png]] $SLO_{default} = \left(\frac{bad}{(EB\%-1) \times Total} + 1\right) \times 100$ 目標 %EBR を入力として Objective を逆算する式。「目標値が分からない」チームへの実践的な出発点。 **p.34 スケール戦略の 4 ステップ** ![[_attachments/2023__SREcon23Americas__Not-All-Minutes-Are-Equal/page-034.png]] (1) Start: 可用性(5xx)と Latency で基本 SLI を作る → (2) Inspect Different Layers: サービス・API・Edge・クライアント → (3) Add edge cases: 400/408/409・クライアント側 JS エラー・リトライロジック → (4) Map to customer interactions: ログイン・特定カスタマーアクション。永続ループ(Define Scope → Instrument → Assess Baseline → Understand Customer Goal → Define EB Policy)として設計する。 ## 口頭説明・補足 transcript(Whisper による音声書き起こし)より得られた、スライドに載らない口頭補足。 **"L グラフ" と "money chart" の命名**(口頭説明): 時間スライス EBR のグラフは急落後に横ばいとなる L 字形の形状から "L グラフ" と呼ばれる。一方、イベントベースの EBR グラフはインシデントとの相関が分かりやすく SLO の価値を経営層に説明できるため、"money chart"(売りになるグラフ)と称している。 **MAA = Movement, Associations, Action**(p.26、口頭説明): スライドでは "MAA" として登場し、Troy Koss の上司が sheep を飼っていることにちなむ羊の鳴き声のアナロジーとして紹介された。展開語は Movement(EBR の動き)、Associations(変更・インシデントとの関連付け)、Action(どう行動するか)の 3 要素。 **Default SLO の根拠 — EBR 50% の SWAG**(口頭説明): 「どの値から始めればよいか分からない」チームに対して、EB 消費率 50% を仮出発点として設定し SLO_default 式で Objective を計算する。口頭では「SWAG(Scientific Wild Ass Guess)」と表現し、デフォルト値は変更・上書きを前提とした初期設定である旨を強調した。 **実装ソフトウェアの失敗と反復**(口頭説明): 共同研究者の Kayla がチームと共にソフトウェア実装を担当したが、最初のバージョンは想定外の問題を起こした。「Things fail, test your code, improve incrementally」という原則が繰り返し述べられた。 **採用ロードマップの本質**(口頭説明): 「SLO が主題というより、"新しいものを学び・実験し・検証し・信頼できる何かと紐づけてからスケールする"というプロセスが主題だ」と明言。AIOps などの流行語も同じプロセスなしに盲信すると複雑性を増やし信頼性の対極になると述べた("complexity is an anti-pattern to reliability")。 **スケールの 4 ステップループ**(口頭説明より補完): Define Scope → Instrument → Assess Baseline → Understand Customer Goal → Define EB Policy の永続ループ。「測定できないものは改善できない(You can't improve what you can't see)」を前提とし、インストルメンテーションが先決条件として強調された。 ## 概念・実体への接続 - 手法: [[サービスレベル目標]](SLI / SLO / Error Budget の定式化) - 問題: [[エラーバジェット]](時間スライス vs. イベントベースの集計方式) - 実践: [[SLI-SLO段階的導入]](採用ロードマップ・組織定着) - 組織: [[Capital One]](実践元) - 人物: [[Michael Goins]]・[[Troy Koss]] ## 限界・不確実点 - transcript は Whisper 音声書き起こしであり機械精度(コンテキスト切れや誤字が含まれる可能性あり)。 - p.21「Coding mistakes: Testing matters」のグラフで、30日 SLO値 99.82%・SLO Target 93%・EBR 49h 10m・Burn Rate 0% の意味するシナリオは追跡困難(Kayla の実装問題と思われるが確証なし)。 - "Badder / Baddest Incident" の具体的なシステム・障害内容は非公開(Capital One の事例のため)。 - Q&A セッションは transcript 内に明示的な区切りなし。後半の snack 前の時点(p.619〜)で本編が終了し質疑は収録されていない可能性がある。