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
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
250
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
ハイテク休憩
sat
PRO
2
140
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
680
Storage Browser for Amazon S3
miu_crescent
1
140
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
Designing Experiences People Love
moore
138
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Speed Design
sergeychernyshev
25
670
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Cult of Friendly URLs
andyhume
78
6.1k
Site-Speed That Sticks
csswizardry
2
190
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Embracing the Ebb and Flow
colly
84
4.5k
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関連のブログポストの⽇本語訳