Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SLOは何を実現するのか / What does SLO achieve?
Search
ymotongpoo
July 27, 2023
Technology
560
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SLOは何を実現するのか / What does SLO achieve?
ymotongpoo
July 27, 2023
More Decks by ymotongpoo
See All by ymotongpoo
サンプリングは統計学である: 数理的根拠に基づき、オブザーバビリティのコストと精度を両立する
ymotongpoo
4
97
Loadbalancing exporter internals
ymotongpoo
2
170
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
4
290
生成AI時代の開発と運用 / Dev and Ops in Gen AI era
ymotongpoo
9
4.8k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
12
11k
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
1.9k
Goのビルドシステムの変遷 / The history of Go's build system
ymotongpoo
15
12k
今日から始めるpprof / Pprof workshop for beginners
ymotongpoo
8
9.7k
Amazon CloudWatchのメトリクスインターバルについて / Metrics interval matters
ymotongpoo
6
570
Other Decks in Technology
See All in Technology
はじめてのWDM
miyukichi_ospf
1
110
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
0
110
組織における AI-DLC 実践
askul
0
310
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
220
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
1.2k
CVE-2026-20833_脆弱性対応とAES 化について
jukishiya
0
360
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
3
490
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
2
430
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
400
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
230
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
240
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
260
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.8k
Navigating Weather and Climate Data
rabernat
0
270
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Accessibility Awareness
sabderemane
1
150
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Making Projects Easy
brettharned
120
6.7k
Designing for Performance
lara
611
70k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Test your architecture with Archunit
thirion
1
2.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
240
Transcript
SLOは何を実現するのか Forkwell Library #28 SLO サービスレベル⽬標 2023/07/25 19:35-20:05 ⼭⼝能迪 (@ymotongpoo)
1
どしどし質問をお待ちしております 2
⼭⼝ 能迪 Developer Relations Engineer Google 3 @ymotongpoo @ymotongpoo
SRE文脈でのSLO 4
SREについて SRE とは本番システムを信頼性高く開発・運用するための一 連のプラクティスと心構え、および職務を指します。 5
信頼性に基づいた開発と運用 6 コンセプト ビジネス 開発 運用 市場 全部署が 信頼性を基準に ビジネスのプロセス
信頼性指標の計測 暗黙的‧明⽰的な期待に応えているから、ユーザーは満⾜する。 7 期待 (⽬標値) 指標
信頼性(Reliability) The probability that [a system] an item will perform
a required function without failure under stated conditions for a stated period of time. (システムが)求められる機能を、定められた条件の下で、定められた期間に わたり、障害を起こす ことなく実⾏する確率 P. O'Connor and A. Kleyner, Practical Reliability Engineering, 5th edition: Wiley, 2012. 8
サービスレベル指標(SLI)とサービスレベル目標(SLO) ユーザーの満⾜度によく相関している指標とその⽬標 9 SLO SLI
信頼性指標の元データ サービスの性質による典型的な信頼性指標の元データ • リクエスト/レスポンス 可用性、レイテンシー、品質 • データ処理 カバレッジ、正確性、鮮度、スループット • ストレージ
スループット、レイテンシー 監視システムは、多くの潜在的な SLI を捉える可能性がありますし、そうあるべきです が、ほとんどはそのままでは SLO を定義するのには使えません。 10
サービスレベル指標(SLI)の定義 次の式のように、定量的かつ慎重に定義します。 可⽤性の場合の例 • 良いイベント: HTTPステータスコードが 2xx、3xx、4xxのレスポンス • 有効なイベント: 全レスポンス
11 SLI : 良いイベント 有効なイベント × 100%
サービスレベル指標(SLI)の共有 組織内で共通認識を持つために⾔語化する 12 SLI の種類: 可⽤性 SLI の仕様: CheckoutService へのリクエストに対するすべてのレスポンスのうち、
HTTP レスポンスコード 2xx、3xx、4xx を返すもの (=良いレスポンス) の割合。 ただし 429 を除く。 SLI の実装: Web アクセスログから HTTP レスポンスコードを特定する
サービスレベル目標(SLO)の定義 SLIの⽬標値。計測期間も定義する必要がある。 • SLI: CheckoutService の良いレスポンスの割合 • SLO: CheckoutService の過去28⽇間の良いレスポンスが99.9%
13
サービスレベル目標(SLO)の共有 SLIと合わせてSLOも共有する 14 SLI の種類 : 可⽤性 SLI の仕様 :
CheckoutService へのリクエストに対するすべてのレスポンスのうち、 HTTP レスポンスコード 2xx、3xx、4xx を返すもの (=良いレスポンス) の割合。 ただし 429 を除く。 SLI の実装 : Web ログから HTTP レスポンスコードを特定する SLO : 過去 28 ⽇間の CheckoutService のレスポンスのうち 99.9% が 良いレスポンスでなければならない 根拠 : 過去に0.1%までのエラーであれば顧客問い合わせがなかった
エラーバジェット SLOが決まるとエラーバジェット(許容できるエラーの量)が決まる ⇨ 不具合が発⽣すると、エラーバジェットを消費することになる エラーバジェットを監視することでサービスの余裕がわかる 15 残りのエラーバジェット 0.1% = 100%
- 99.9%
バーンレートアラート バーンレートが急な場合ほど早く知らせる 16 エラーバジェット 時間 EB 100% (SLI 0.1%) 28
d 想定通りの EB の消費 =バーンレート 1 想定の 2 倍速の EB の消費 =バーンレート 2 14 d 想定の 7 倍速の EB の消費 =バーンレート 7 4 d
ポリシーを設定し更にEBを活用 ➔ しきい値 1: ⾃動アラートが SLO の危険を SRE に通知します ➔
… ➔ しきい値 3: SRE が、SLO を守るためには助けが必要と結論付け、開発者に エスカレーションします ➔ しきい値 4: 30 ⽇間のエラーバジェットを使い切っても根本原因は⾒つかっ ていません。機能リリースは停⽌され、開発チームはより多くのリソースを 割り当てます ➔ しきい値 5: 90 ⽇間のエラーバジェットを使い切っても根本原因は⾒つかっ ていません。SRE は経営陣にエスカレーションを⾏い、安定性のためのエン ジニアリング業務により多くの時間を確保します 17
信頼性に基づいた開発と運用 18 コンセプト ビジネス 開発 運用 市場 SLOを基準に 客観的に判断可能 ビジネスのプロセス
Four Keysとの比較 19
Four Keys (2014〜2017年) 20 デプロイ頻度 変更リードタイム サービス復旧時間 変更障害率 速度 安定性
ソフトウェアデリバリーパフォーマンス
Four Keys はどのタイミングの指標か 障害〜復旧 運⽤ 開発〜デプロイ • デプロイ頻度 • 変更リードタイム
• 変更障害率 • サービス復旧時間 安定時のパフォーマンスは?
「組織のパフォーマンス」再考 ソフトウェアデリバリーパフォーマンス ≠ サービス品質 • リリースされたソフトウェアにユーザーが満⾜しなければ意味がない • 2018年のSODRより組織の能⼒を捕捉するために可⽤性を5番⽬の指標に • 2022年のSODRでは発展させて「信頼性」を5番⽬の指標に
22
運用パフォーマンスとしての信頼性 障害〜復旧 運⽤ 開発〜デプロイ • デプロイ頻度 • 変更リードタイム • 変更障害率
• サービス復旧時間 SLOに基づき運⽤ • 信頼性
エラーバジェット:何を優先させるか? 24 バジェットを消費した場合 信頼性を優先する • ポストモーテムアイテムの優先順位付け • デプロイメントパイプラインの⾃動化 • モニタリングと可観測性の向上
• SRE のコンサルテーションが必要 バジェットが⼗分な場合 ベロシティを優先する • 予想されるシステムの変更 • ハードウェア、ネットワークなどの不可避的 な障害 • 計画的ダウンタイム • 危険な実験
運用パフォーマンスとしての信頼性 障害〜復旧 運⽤ 開発〜デプロイ • デプロイ頻度 • 変更リードタイム • 変更障害率
• サービス復旧時間 エラーバジェットに基づき運⽤ • 信頼性 SLO エラーバジェット バーンレート
どこから始めるのか SLO関連書籍をぜひ参照してみてください 26