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
SREの理念と原則〜SREの「人間的」側面 / SRE from humanism
Search
ymotongpoo
May 23, 2023
Technology
1
930
SREの理念と原則〜SREの「人間的」側面 / SRE from humanism
ymotongpoo
May 23, 2023
Tweet
Share
More Decks by ymotongpoo
See All by ymotongpoo
オブザーバビリティのマクロからミクロまで / Observability from macro to micro
ymotongpoo
13
5.4k
テレメトリーシグナルの相関、してますか? 第一原理からのデバッグを支える計装 / Do you utilize telemetry correlations?
ymotongpoo
3
650
OpenTelemetryのここ4年の流れ / OpenTelemetry in last 4+ years
ymotongpoo
17
4.2k
信頼性目標とシステムアーキテクチャー / Reliability Objective and System Architecture
ymotongpoo
18
9.2k
継続的プロファイルによる大規模アプリケーションの性能改善 / Improving massive application clusters with continuous profiling
ymotongpoo
0
290
SLOは何を実現するのか / What does SLO achieve?
ymotongpoo
2
320
Goのメモリ管理 / Memory management in Go
ymotongpoo
11
5.7k
20130727 Packerの紹介 (Python Developers Festa 2013.07)
ymotongpoo
3
530
Other Decks in Technology
See All in Technology
20241220_S3 tablesの使い方を検証してみた
handy
3
360
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
180
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
1
290
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
740
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
520
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
240
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
470
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
243
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Unsuck your backbone
ammeep
669
57k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Building Applications with DynamoDB
mza
91
6.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Building Your Own Lightsaber
phodgson
103
6.1k
Producing Creativity
orderedlist
PRO
341
39k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Transcript
SREの理念と原則 デベロッパーアドボケイト 山口能迪 (@ymotongpoo) SREの「人間的」側面 Sep 9th, 2021 SRE Gaps「理論と実践からSREを再考する」
⼭⼝ 能迪 (ymotongpoo) 職種: デベロッパーアドボケイト 担当: オブザーバビリティ、 SRE、Go 製品: Cloud
Operations suite全般 OpenTelemetry Monitoring Logging Trace Profiler Error Reporting Debugger @ymotongpoo @ymotongpoo
「SREの探求」が出版されました 編纂: David N. Blank-Edelman 翻訳: 渡邉 了介 監訳: 山口
能迪 発刊: オライリージャパン 632ページ、全33章 定価5,060円 2021年9月3日 発刊
今⽇は細かな技術の話はしません
SREとは何をするものか SREはシステムの信頼性を確保するためのシステム開発運⽤⽅法論 =システムの信頼性を揺るがすものを排除‧軽減する
何がシステムの信頼性を揺るがすのか 変化や不確実性が信頼性を下げる システム ユーザー 外部環境 開発者・運用者
何がシステムの信頼性を揺るがすのか ⼈間は不確実 システム ユーザー 外部環境 開発者・運用者
SREとは何をするものか SREはシステムの信頼性を確保するためのシステム開発運⽤⽅法論 =システムの信頼性を揺るがすものを排除‧軽減する たとえば極力「人間に依存しないようにする」
SREとは何をするものか ヒロイズムを取り除く "Hope is not a strategy" ‒ Google SREの⾮公式モットー
⼈間に依存しないためにどうするか 「⼈間」の何に依存しているのかを考える • ⼿作業 • 意思決定
⼈間に依存しないためにどうするか 「⼈間」の何に依存しているのかを考える • ⼿作業 ソフトウェアの問題として解決する • 意思決定 客観的なルールに基づかせる
ソフトウェアの問題として解決する ⼈間に依存しないためにソフトウェアの問題として解決する • 再現性が高い • スケールする • 自動化できる • 抽象化できる
etc…
ソフトウェアの問題として解決する ⼈間に依存しないためにソフトウェアの問題として解決する • トイルの削減 • ⾃動化
ソフトウェアの問題として解決する ‒ トイルの削減 ソフトウェアはもっとも⾝近にある作業代⾏者 • コンピューターは同じ作業を再現性⾼く繰り返し⾏うのが得意 • スケールさせることが容易 S: 5章
W: 6章
ソフトウェアの問題として解決する ‒ ⾃動化 作業をソフトウェア化すれば⼀歩進めて⾃動化できる • 継続的インテグレーション • アラート • データパイプライン∕バッチ
S: 5, 8, 24, 25章
共通ルールに押し出す ⼈間に依存しないために数値化や⽂書化された基準で判断する • 客観性が高い • 予測が立てやすい etc… • 再現性が高まる •
判断が早まる • 継続的に改善できる etc…
共通ルールに押し出す ⼈間に依存しないために数値化や⽂書化された基準で判断する • SLIとSLO • エラーバジェット • インシデント管理 • 運⽤⼿順書(プレイブック/ランブック)
共通ルール ‒ SLIとSLO / エラーバジェット 客観的に注⼒すべき⾏動を判断するための指標と閾値 各コンポーネントの「信頼性」に基づいた指標の策定がポイント • SLO範囲内 新規開発、トイルの削減
• SLO違反 システムの安定化 エラーバジェット(予算)によって投資とリスクのバランスを数値化 S: 3, 4章 W: 2, 3, 5章
共通ルール ‒ インシデント管理 インシデントに関わる⼈間が⾃律的に動けるようにする • インシデント指揮者: インシデントの解消をするまでのプロジェク トマネージャー • 実⾏作業者:
インシデントの実対応者 • コミュニケーション担当者: 外部とのやりとりを担う • 計画担当者: 上記担当者が担わない記録やファシリティを⾏う S: 12, 13, 14章 W: 9章
共通ルール ‒ 運⽤⼿順書(プレイブック/ランブック) 誰が⾏っても対応できるように⼿順書を⽤意する • 開発者や運⽤者の知識の共有 • ⾃動化のための指針‧設計書 • コミュニケーションスキルの向上
W: 8章
しかし前提が必要
⼈間がパフォーマンスを最⼤限に発揮できるようにする ⼈間がパフォーマンスを最⼤限に発揮できる環境が必要 • 体力面 • 精神面 両方において必要
体⼒⾯ ⼈間的な⽣活を送れるように、そうでない場合はそれに報いるように • アラート∕オンコール戦略 S: 10, 11, 28, 29章 W:
5章
精神⾯ 障害の復旧やその改善を⾏うのは⼈間が最善の改善策を出せるような奇 譚なき意⾒を⾔える環境づくり • ⾮難なきポストモーテム S: 10, 11, 29章 W:
5, 10章
まとめ
今⽇話さなかったこと SREのより技術的な側⾯や複雑な組織論 • モニタリング戦略‧設計、モニタリングインフラ • 各種冗⻑化インフラの設計‧構築 • リリース戦略‧CI/CDパイプライン • テスト戦略、テストインフラ
• セキュリティ • 組織論 etc…
「⼈間の不確実性」を下げる活動が多くある • ⼈間の不確実性を避けるために、ソフトウェアやルールで解決 • ⼈間の確実性を上げるために、最⼤限パフォーマンスが発揮できる ように すべては「信頼性」のため
SREの探求 • 様々な組織のSREの実践に至る苦労が赤 裸々に語られている • こういった話が広く共有されてほしい
SRE関連書籍(和書) Google著 各社
GoogleのSRE関連ウェブサイト sre.google • SRE関連書籍(英語版)の無料公開 • 各種SRE関連記事 • 各種ワークショップ資料 cloud.google.com/blog/ja/products/devops-sre •
Google CloudのDevOps/SRE関連のブログポストの⽇本語訳