Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
SREの理念と原則 デベロッパーアドボケイト 山口能迪 (@ymotongpoo) SREの「人間的」側面 Sep 9th, 2021 SRE Gaps「理論と実践からSREを再考する」
Slide 2
Slide 2 text
⼭⼝ 能迪 (ymotongpoo) 職種: デベロッパーアドボケイト 担当: オブザーバビリティ、 SRE、Go 製品: Cloud Operations suite全般 OpenTelemetry Monitoring Logging Trace Profiler Error Reporting Debugger @ymotongpoo @ymotongpoo
Slide 3
Slide 3 text
「SREの探求」が出版されました 編纂: David N. Blank-Edelman 翻訳: 渡邉 了介 監訳: 山口 能迪 発刊: オライリージャパン 632ページ、全33章 定価5,060円 2021年9月3日 発刊
Slide 4
Slide 4 text
今⽇は細かな技術の話はしません
Slide 5
Slide 5 text
SREとは何をするものか SREはシステムの信頼性を確保するためのシステム開発運⽤⽅法論 =システムの信頼性を揺るがすものを排除‧軽減する
Slide 6
Slide 6 text
何がシステムの信頼性を揺るがすのか 変化や不確実性が信頼性を下げる システム ユーザー 外部環境 開発者・運用者
Slide 7
Slide 7 text
何がシステムの信頼性を揺るがすのか ⼈間は不確実 システム ユーザー 外部環境 開発者・運用者
Slide 8
Slide 8 text
SREとは何をするものか SREはシステムの信頼性を確保するためのシステム開発運⽤⽅法論 =システムの信頼性を揺るがすものを排除‧軽減する たとえば極力「人間に依存しないようにする」
Slide 9
Slide 9 text
SREとは何をするものか ヒロイズムを取り除く "Hope is not a strategy" ‒ Google SREの⾮公式モットー
Slide 10
Slide 10 text
⼈間に依存しないためにどうするか 「⼈間」の何に依存しているのかを考える ● ⼿作業 ● 意思決定
Slide 11
Slide 11 text
⼈間に依存しないためにどうするか 「⼈間」の何に依存しているのかを考える ● ⼿作業 ソフトウェアの問題として解決する ● 意思決定 客観的なルールに基づかせる
Slide 12
Slide 12 text
ソフトウェアの問題として解決する ⼈間に依存しないためにソフトウェアの問題として解決する ● 再現性が高い ● スケールする ● 自動化できる ● 抽象化できる etc…
Slide 13
Slide 13 text
ソフトウェアの問題として解決する ⼈間に依存しないためにソフトウェアの問題として解決する ● トイルの削減 ● ⾃動化
Slide 14
Slide 14 text
ソフトウェアの問題として解決する ‒ トイルの削減 ソフトウェアはもっとも⾝近にある作業代⾏者 ● コンピューターは同じ作業を再現性⾼く繰り返し⾏うのが得意 ● スケールさせることが容易 S: 5章 W: 6章
Slide 15
Slide 15 text
ソフトウェアの問題として解決する ‒ ⾃動化 作業をソフトウェア化すれば⼀歩進めて⾃動化できる ● 継続的インテグレーション ● アラート ● データパイプライン∕バッチ S: 5, 8, 24, 25章
Slide 16
Slide 16 text
共通ルールに押し出す ⼈間に依存しないために数値化や⽂書化された基準で判断する ● 客観性が高い ● 予測が立てやすい etc… ● 再現性が高まる ● 判断が早まる ● 継続的に改善できる etc…
Slide 17
Slide 17 text
共通ルールに押し出す ⼈間に依存しないために数値化や⽂書化された基準で判断する ● SLIとSLO ● エラーバジェット ● インシデント管理 ● 運⽤⼿順書(プレイブック/ランブック)
Slide 18
Slide 18 text
共通ルール ‒ SLIとSLO / エラーバジェット 客観的に注⼒すべき⾏動を判断するための指標と閾値 各コンポーネントの「信頼性」に基づいた指標の策定がポイント ● SLO範囲内 新規開発、トイルの削減 ● SLO違反 システムの安定化 エラーバジェット(予算)によって投資とリスクのバランスを数値化 S: 3, 4章 W: 2, 3, 5章
Slide 19
Slide 19 text
共通ルール ‒ インシデント管理 インシデントに関わる⼈間が⾃律的に動けるようにする ● インシデント指揮者: インシデントの解消をするまでのプロジェク トマネージャー ● 実⾏作業者: インシデントの実対応者 ● コミュニケーション担当者: 外部とのやりとりを担う ● 計画担当者: 上記担当者が担わない記録やファシリティを⾏う S: 12, 13, 14章 W: 9章
Slide 20
Slide 20 text
共通ルール ‒ 運⽤⼿順書(プレイブック/ランブック) 誰が⾏っても対応できるように⼿順書を⽤意する ● 開発者や運⽤者の知識の共有 ● ⾃動化のための指針‧設計書 ● コミュニケーションスキルの向上 W: 8章
Slide 21
Slide 21 text
しかし前提が必要
Slide 22
Slide 22 text
⼈間がパフォーマンスを最⼤限に発揮できるようにする ⼈間がパフォーマンスを最⼤限に発揮できる環境が必要 ● 体力面 ● 精神面 両方において必要
Slide 23
Slide 23 text
体⼒⾯ ⼈間的な⽣活を送れるように、そうでない場合はそれに報いるように ● アラート∕オンコール戦略 S: 10, 11, 28, 29章 W: 5章
Slide 24
Slide 24 text
精神⾯ 障害の復旧やその改善を⾏うのは⼈間が最善の改善策を出せるような奇 譚なき意⾒を⾔える環境づくり ● ⾮難なきポストモーテム S: 10, 11, 29章 W: 5, 10章
Slide 25
Slide 25 text
まとめ
Slide 26
Slide 26 text
今⽇話さなかったこと SREのより技術的な側⾯や複雑な組織論 ● モニタリング戦略‧設計、モニタリングインフラ ● 各種冗⻑化インフラの設計‧構築 ● リリース戦略‧CI/CDパイプライン ● テスト戦略、テストインフラ ● セキュリティ ● 組織論 etc…
Slide 27
Slide 27 text
「⼈間の不確実性」を下げる活動が多くある ● ⼈間の不確実性を避けるために、ソフトウェアやルールで解決 ● ⼈間の確実性を上げるために、最⼤限パフォーマンスが発揮できる ように すべては「信頼性」のため
Slide 28
Slide 28 text
SREの探求 ● 様々な組織のSREの実践に至る苦労が赤 裸々に語られている ● こういった話が広く共有されてほしい
Slide 29
Slide 29 text
SRE関連書籍(和書) Google著 各社
Slide 30
Slide 30 text
GoogleのSRE関連ウェブサイト sre.google ● SRE関連書籍(英語版)の無料公開 ● 各種SRE関連記事 ● 各種ワークショップ資料 cloud.google.com/blog/ja/products/devops-sre ● Google CloudのDevOps/SRE関連のブログポストの⽇本語訳