SlideShare a Scribd company logo
2
Most read
6
Most read
8
Most read
SLO のすすめ
Takeo Sawada
Dropbox, Inc.
September 25, 2017
自己紹介
名前 澤田 武男
Twitter @SawadaTakeo
2013 - 2014 Ads Backend SRE @Google HQ
Display Ads Backend など
2014 - 2017 Source SRE @ Google NY
Piper (Google のプロプライエタリなソースコン
トロールシステム)
Git (Android, Chrome, code.google.com,
Cloud Source Repositories)
ローンチ調整エンジニア (LCE, SRE 本 27 章)
SLO の策定、モニタリング、障害対応、
PRR(SRE 本 32 章) など
2017 - Build SRE @ Dropbox
Changes (内製の CI ツール)
Bazel クラスタ
SLOのすすめ
今日の話題
SRE 本第 II 部 原則 から
4 章: 「サービスレベル目標」
外部に直接面していないような
サービスでもサービスレベル目
標を有効に使ってほしい
5 章: 「トイルの撲滅」
サービスレベル目標
サービスレベル目標とは何か
用語: SLI vs SLO vs SLA
SLI - Service Level Indicator: 指標
例: リクエストの成功率
SLO - Service Level Objective: 目標
例: 各四半期中の全リクエストの成功率は 99.9%以上です。
SLA - Service Level Agreement: 合意
例: SLO が満たされなかった場合、利用料の 50%を返金します。
サービスレベル目標: あるサービスの信頼性についての数値目標
SLO を定義するメリット
どのくらいの信頼性を目指すのかをはっきりさせる
コストや開発速度とのトレードオフをしっかりと議論する機
会になる
SLO によってサービスのアーキテクチャ、チーム体制、モニ
タリングの感度、障害対応などが変わってくる
「高い信頼性」という曖昧な目標から、チームメンバーが共
有する 1 つの数値目標へ
エラーバジェットでトレードオフのバランスを取る (SRE 本
3 章)
過剰な要求からチームを守る
あらかじめステークホルダーに SLO を共有し合意しておく
達成困難な信頼性目標を要求された時に参照できる
過剰に依存されるのを避ける
ユーザに対してあらかじめ「期待できる信頼性」を示しておく
自サービスより高い信頼性が求められるサービスに不適切に
組み込まれるのを避ける
SLO の定義のしかた
1. SLI にするメトリクスを決める
2. 目標を決める
3. Profit!!!
サービス、ユーザ、チームなどによるので「正しいやり方」は無い
SLI の選びかた
ユーザ体験の満足度への近さ
モニタリングの容易さ
安定して収集し分析できるメトリクス
シンプルさ
SLI はできるだけ少なくする
さまざまなカテゴリ
可用性 (Availability)
レイテンシー (Latency)
耐久性 (Durability)
スループット (Throughput)
まずは可用性から始めてみよう
SLI をモニターする
ユーザートラフィックを直接計測する
エラーの分類:リクエストが失敗した原因がユーザにあるか
サービス側にあるかを正しく分類する
全てのリクエストを SLO でカバーすべきか考える (リクエス
トの種類、サイズなど)
トラフィックパターンに影響を受けやすい
プローブ用のトラフィックを生成し計測する (ブラックボッ
クスモニタリング)
ユーザ環境に近い地点で計測できる
全てのコードパス、リクエストパスを検査するのは大変
ref. SRE 本 6 章 「分散システムのモニタリング」
SLO の定義の色々
例えば “99.9%の Uptime” と言っても...
ある期間中の全てのリクエストとエラーを集計したエラー率
が 0.1%以下
ある期間を数分のウィンドウ単位に分割し、99.9%以上の
ウィンドウでエラー率が x% 以下
ある期間を数分のウィンドウ単位に分割し、各ウィンドウの
エラー率を平均したものが 0.1% 以下
Amazon S3, Google Cloud Storage などがこの形式
サービスの特性、ユーザの期待などに合わせて適切な定義を選ぶ
SLO が達成できなかったら?
リリースをフリーズ
障害の多くは変更に付随して発生する
信頼性に関する改善の優先順位を上げる
目標そのものを見直す
ref. SRE 本 3 章 3.4 エラーバジェットの活用
Public SLA へ
外部に公開する SLA はプロダクトデザインレベルの選択に
なる
SRE が技術的な判断や情報を提供しつつ、開発者、PM と議
論する
トイルの撲滅
ref. SRE本5章
トイルとは何か
プロダクションサービスを動作させることに関係する作
業で、
手作業で繰り返し行われ、
自動化することが可能であり、
戦術的な価値を持たず、
作業量がサービスの成長に比例する
トイルの例
リリース作業
手作業でのテスト
バックアップ作業
データベースのクリーンアップなど
VM のセットアップ、追加、削除など
アラート、障害対応
0 にするのは難しいものもある
トイルが多すぎると
SRE のポジションのキャリア上の魅力が減る
採用が難しくなる
SWE への転出
生産性の低下
手作業によるミスの発生
Google では 50%を目標にしている。
ref. SRE 本 5 章 5.4 トイルは常に悪なのか?
トイルの削減: オンコール対応の例
行っている作業を見直し、地道に自動化、改善していくしかない
週に数十以上のページ (アラート) が発生して多大なオンコー
ル対応負荷が生じていた (SRE 本 11 章 11.3 バランスの取れ
たオンコール)
対応
毎週プロダクションミーティングを開催 (SRE 本 31 章 31.1)
その週におきた全てのアラートとその対応をレビュー
重大な障害にはポストモーテムを書き、その後ポストモーテ
ムレビューを実施 (SRE 本 15 章)
場当たり的な修正に変えて
根本的な原因の修正。時間のかかるものはプロジェクト化
他チームのバグの積極的な修正依頼
プレイブック (手順書) の強化
不要なアラートの見直し
数ヶ月の取り組みでページ頻度が 1/5 程度に
ありがとうございました。
ご質問、ご感想は
Twitter @SawadaTakeo
までお気軽に!

More Related Content

PDF
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
 
PDF
Google Cloud で実践する SRE
Google Cloud Platform - Japan
 
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
 
PDF
オープンソースのAPIゲートウェイ Kong ご紹介
briscola-tokyo
 
PDF
3分でわかるAzureでのService Principal
Toru Makabe
 
PDF
CloudFrontのリアルタイムログをKibanaで可視化しよう
Eiji KOMINAMI
 
PDF
エラー・バジェットによるリスク管理 Managing risk with error budgets
Google Cloud Platform - Japan
 
PDF
インフラCICDの勘所
Toru Makabe
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
 
Google Cloud で実践する SRE
Google Cloud Platform - Japan
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
 
オープンソースのAPIゲートウェイ Kong ご紹介
briscola-tokyo
 
3分でわかるAzureでのService Principal
Toru Makabe
 
CloudFrontのリアルタイムログをKibanaで可視化しよう
Eiji KOMINAMI
 
エラー・バジェットによるリスク管理 Managing risk with error budgets
Google Cloud Platform - Japan
 
インフラCICDの勘所
Toru Makabe
 

What's hot (20)

PDF
DBスキーマもバージョン管理したい!
kwatch
 
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
 
PDF
マイクロサービスと Red Hat Integration
Kenta Kosugi
 
PPTX
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
 
PDF
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
PDF
DynamoDB設計のちょっとした技
Yoichi Toyota
 
PPTX
Redisの特徴と活用方法について
Yuji Otani
 
PDF
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
NTT DATA Technology & Innovation
 
PDF
トランザクションスクリプトのすすめ
pospome
 
PDF
MySQLで論理削除と正しく付き合う方法
yoku0825
 
PDF
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
 
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
 
PDF
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
Ryoma Nagata
 
PDF
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
 
PDF
PostgreSQLアンチパターン
Soudai Sone
 
PPTX
AWS設計ガイドラインで取り組むクラウドシフト
Trainocate Japan, Ltd.
 
PPTX
JAZUG12周年 俺の Azure Cosmos DB
Daiyu Hatakeyama
 
PDF
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
都元ダイスケ Miyamoto
 
PDF
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
 
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 
DBスキーマもバージョン管理したい!
kwatch
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
 
マイクロサービスと Red Hat Integration
Kenta Kosugi
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
 
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
DynamoDB設計のちょっとした技
Yoichi Toyota
 
Redisの特徴と活用方法について
Yuji Otani
 
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
NTT DATA Technology & Innovation
 
トランザクションスクリプトのすすめ
pospome
 
MySQLで論理削除と正しく付き合う方法
yoku0825
 
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
 
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
Ryoma Nagata
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
 
PostgreSQLアンチパターン
Soudai Sone
 
AWS設計ガイドラインで取り組むクラウドシフト
Trainocate Japan, Ltd.
 
JAZUG12周年 俺の Azure Cosmos DB
Daiyu Hatakeyama
 
認証の標準的な方法は分かった。では認可はどう管理するんだい? #cmdevio
都元ダイスケ Miyamoto
 
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 
Ad

Viewers also liked (20)

PDF
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
 
PDF
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Kentoku
 
PDF
An introduction and future of Ruby coverage library
mametter
 
PDF
Blockchain on Go
Seiji Takahashi
 
PPTX
ScalaからGoへ
James Neve
 
PPTX
AndApp開発における全て #denatechcon
DeNA
 
PDF
golang.tokyo #6 (in Japanese)
Yuichi Murata
 
PDF
神に近づくx/net/context (Finding God with x/net/context)
guregu
 
PDF
Apache Spark Streaming + Kafka 0.10 with Joan Viladrosariera
Spark Summit
 
PPTX
MongoDBの可能性の話
Akihiro Kuwano
 
PDF
Microservices at Mercari
Google Cloud Platform - Japan
 
PDF
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
 
PDF
Fast and Reliable Swift APIs with gRPC
Tim Burks
 
PDF
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
 
PPTX
Solving anything in VCL
Fastly
 
PDF
So You Wanna Go Fast?
Tyler Treat
 
PDF
Google Home and Google Assistant Workshop: Build your own serverless Action o...
Bret McGowen - NYC Google Developer Advocate
 
PPTX
リクルートを支える横断データ基盤と機械学習の適用事例
Tetsutaro Watanabe
 
PDF
Spark Streaming Programming Techniques You Should Know with Gerard Maas
Spark Summit
 
PDF
「サーバレスの薄い本」からの1年 #serverlesstokyo
Masahiro NAKAYAMA
 
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
 
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Kentoku
 
An introduction and future of Ruby coverage library
mametter
 
Blockchain on Go
Seiji Takahashi
 
ScalaからGoへ
James Neve
 
AndApp開発における全て #denatechcon
DeNA
 
golang.tokyo #6 (in Japanese)
Yuichi Murata
 
神に近づくx/net/context (Finding God with x/net/context)
guregu
 
Apache Spark Streaming + Kafka 0.10 with Joan Viladrosariera
Spark Summit
 
MongoDBの可能性の話
Akihiro Kuwano
 
Microservices at Mercari
Google Cloud Platform - Japan
 
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
 
Fast and Reliable Swift APIs with gRPC
Tim Burks
 
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
 
Solving anything in VCL
Fastly
 
So You Wanna Go Fast?
Tyler Treat
 
Google Home and Google Assistant Workshop: Build your own serverless Action o...
Bret McGowen - NYC Google Developer Advocate
 
リクルートを支える横断データ基盤と機械学習の適用事例
Tetsutaro Watanabe
 
Spark Streaming Programming Techniques You Should Know with Gerard Maas
Spark Summit
 
「サーバレスの薄い本」からの1年 #serverlesstokyo
Masahiro NAKAYAMA
 
Ad

Similar to SLOのすすめ (20)

PDF
サーバーレスの今とこれから
真吾 吉田
 
PDF
ドメイン駆動設計という仕事の流儀
増田 亨
 
PDF
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
 
PPTX
SRE 1st steps
Yuta Shimada
 
PDF
ここが良かったDatadog
tyamane
 
PDF
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
 
PDF
Ignite 2021秋 recap - 開発者向け新機能紹介
Kazushi Kamegawa
 
PPTX
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
 
PDF
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Atsushi Kambara
 
PDF
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
 
PPTX
小規模チームでも実現!スケーラブルな広告システム開発
Tomohiro Kikuyama
 
PPTX
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Hirono Jumpei
 
PDF
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
 
PDF
160724 jtf2016sre
OSSラボ株式会社
 
PPTX
FiNC DDD第一回勉強会
裕紀 重村
 
PPTX
ビッグデータ活用支援フォーラム
Recruit Technologies
 
PPTX
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
Tetsutaro Watanabe
 
PDF
20141003 webマーケティングエンジニアリング
Innova Inc.
 
PDF
テスト駆動開発の進化
Yukei Wachi
 
PPTX
Hadoopカンファレンス2013
Recruit Technologies
 
サーバーレスの今とこれから
真吾 吉田
 
ドメイン駆動設計という仕事の流儀
増田 亨
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
 
SRE 1st steps
Yuta Shimada
 
ここが良かったDatadog
tyamane
 
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
 
Ignite 2021秋 recap - 開発者向け新機能紹介
Kazushi Kamegawa
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Atsushi Kambara
 
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
 
小規模チームでも実現!スケーラブルな広告システム開発
Tomohiro Kikuyama
 
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Hirono Jumpei
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
 
160724 jtf2016sre
OSSラボ株式会社
 
FiNC DDD第一回勉強会
裕紀 重村
 
ビッグデータ活用支援フォーラム
Recruit Technologies
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
Tetsutaro Watanabe
 
20141003 webマーケティングエンジニアリング
Innova Inc.
 
テスト駆動開発の進化
Yukei Wachi
 
Hadoopカンファレンス2013
Recruit Technologies
 

SLOのすすめ