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
180
SREの理念と原則〜SREの「人間的」側面 / SRE from humanism
ymotongpoo
May 23, 2023
Tweet
Share
More Decks by ymotongpoo
See All by ymotongpoo
OpenTelemetryのここ4年の流れ / OpenTelemetry in last 4+ years
ymotongpoo
13
3.3k
信頼性目標とシステムアーキテクチャー / Reliability Objective and System Architecture
ymotongpoo
17
8.4k
継続的プロファイルによる大規模アプリケーションの性能改善 / Improving massive application clusters with continuous profiling
ymotongpoo
0
91
SLOは何を実現するのか / What does SLO achieve?
ymotongpoo
1
200
Goのメモリ管理 / Memory management in Go
ymotongpoo
10
4.9k
20130727 Packerの紹介 (Python Developers Festa 2013.07)
ymotongpoo
3
450
Other Decks in Technology
See All in Technology
LLM評価の落とし穴~開発者目線で気をつけるポイント~
rishigami
11
3.2k
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
3
470
TypescriptでのContextualな構造化ロギングと社内全体への導入
leveragestech
3
590
Google Cloud Next '24 Recap in ZOZO AIにより変わる開発 運用/Development and operation changed by AI
gachimuchiengineer
0
200
kcp: Kubernetes APIs Are All You Need #techfeed_live / TechFeed Experts Night 28th
ytaka23
1
190
生成AIがもたらす変革 / GitHubGalaxy_CyberAgent
cyberagentdevelopers
PRO
2
110
本当のガバクラ基礎
toru_kubota
0
320
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
13
4.9k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
37k
AI JIMY - 登壇(インストール編)
hanacchi
0
150
個人的、Kubernetes の最新注目機能! (2024年5月版) / TechFeed Experts Night#28 〜 コンテナ技術最前線
pfn
PRO
3
210
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
890
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
Music & Morning Musume
bryan
41
5.6k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
The Mythical Team-Month
searls
217
42k
Side Projects
sachag
451
41k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Code Reviewing Like a Champion
maltzj
515
39k
Writing Fast Ruby
sferik
622
60k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The Brand Is Dead. Long Live the Brand.
mthomps
49
30k
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関連のブログポストの⽇本語訳