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
2
430
SLOは何を実現するのか / What does SLO achieve?
ymotongpoo
July 27, 2023
Tweet
Share
More Decks by ymotongpoo
See All by ymotongpoo
生成AI時代のSRE / SRE in Gen AI era
ymotongpoo
1
34
OpenTelemetry Collector internals
ymotongpoo
6
630
AIとSREの未来 / AI and SRE
ymotongpoo
2
2.2k
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
7
980
Amazon Q Developer CLIでもコンテキストを使おう! / Use context in Amazon Q CLI
ymotongpoo
1
140
書籍『入門 OpenTelemetry』 / Intro of OpenTelemetry book
ymotongpoo
11
900
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
11
2.9k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
11
4.4k
信頼性を支えるテレメトリーパイプラインの構築 / Building Telemetry Pipeline with OpenTelemetry
ymotongpoo
10
7.6k
Other Decks in Technology
See All in Technology
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
840
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
430
QAを早期に巻き込む”って どうやるの? モヤモヤから抜け出す実践知
moritamasami
2
150
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
750
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
180
20150719_Amazon Nova Canvas Virtual try-onアプリ 作成裏話
riz3f7
0
110
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
240
安定した基盤システムのためのライブラリ選定
kakehashi
PRO
3
150
ClaudeCodeにキレない技術
gtnao
1
930
室長の逆襲 :データ活用の陣地を増やすためのヒント
masatoshi0205
0
140
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
350
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
Gamification - CAS2011
davidbonilla
81
5.4k
Practical Orchestrator
shlominoach
189
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
108
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Building Adaptive Systems
keathley
43
2.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Navigating Team Friction
lara
187
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
350
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