Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
20200319-ssmjp_ResilienceEngineering
w4yh
March 19, 2020
Technology
5
900
20200319-ssmjp_ResilienceEngineering
w4yh
March 19, 2020
Tweet
Share
More Decks by w4yh
See All by w4yh
StackStormによるCloudSlang対応とはなにだったのか
w4yh
0
530
JKD18.12-2T2_Pharosでk8s環境を楽して割り切って作る / JKD1812_2T2_Pharos
w4yh
0
650
20160913-IrecommendStackStormtoyou-w4yh
w4yh
3
2.7k
StackStorm
w4yh
1
470
StackStorm-qpstudy201604
w4yh
0
82
ChangeManagement
w4yh
0
56
Zohoを褒めたり叱ったり.pdf
w4yh
0
45
Other Decks in Technology
See All in Technology
FoodTechにおける商流・金流・物流の進化/Evolution of Commercial, Financial, and Logistics in FoodTech
dskst
0
390
アジャイル推進活動におけるBeAgileへの変化の兆し/Signs_of_Change_to_"Be_Agile"_in_Agile_Promotion_Activities
m_iyama
0
140
Azure Arc Virtual MachineとAzure Arc Resource Bridge / VM provisioning through Azure portal on Azure Stack HCI (preview)
sashizaki
0
110
IoTLT88-NTKanazawa-laundry-dry
yukima0707
0
210
インフラのCI/CDはGitHub Actionsに任せた
mihyon
0
110
QiitaConference2022
fuwasegu
0
160
リファインメントは楽しいかね?
kitamu_mu
1
380
Modern Android dependency injection
hugovisser
1
120
雑な攻撃からELBを守る一工夫 +おまけ / Know-how to protect servers from miscellaneous attacks
hiroga
0
480
Custom GitHub Actions by Java
kazamori
0
280
1人目QAエンジニアよもやま話 / QA Test Talk Vol.1
nametake
4
220
What's Data Lake ? Azure Data Lake best practice
ryomaru0825
2
740
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
19
3k
Navigating Team Friction
lara
175
11k
Building Your Own Lightsaber
phodgson
94
4.6k
YesSQL, Process and Tooling at Scale
rocio
157
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
15
36k
Visualization
eitanlees
124
11k
A Tale of Four Properties
chriscoyier
149
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
19
1.4k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
Scaling GitHub
holman
451
140k
GitHub's CSS Performance
jonrohan
1020
420k
A designer walks into a library…
pauljervisheath
196
16k
Transcript
レジリエンス エンジニアリング を学んでいるが... ssmjp 202003 (2020/03/19) #ssmjp
Who am I? @w4yh 運用系インフラエンジニア よく使うツール: StackStorm / HabbleStack /
Kondate(itamae) / Expect / Zoho 資料は speakerdeck.com/w4yh/
TABLE OF CONTENTS 01. Safety-Ⅱ 02. レジリエンスエンジニアリング 03. 過去の記憶 04.
今の理解と新たな疑問
ACKNOWLEDGEMENT 今日話さない事 レジリエンスに関する以下のようなふわっと表現 「Kubernetesでmicroservicesやってるからレジリエント」 「松のような剛の強さではなく竹のような柔のしなやかな強さ」 おことわり 論説や出典は Elik Hollagel先生の書籍や論文に強く依拠 例えば“Seeking
SRE”にもResilienceに言及している章があるがご了承
背景 概念: Safety-Ⅱ 実践: レジリエンスエンジニアリング ツール/手法: RAG(レジリエンス評価グリッド)、 FRAM(機能共鳴解析手法) 実装: ?
ここまで到達したいというお気持ち
Safety-II Safety-Ⅱとは 「変化の激しい世の中に対応した安全管理」 IT業界で言えば仮想化,クラウド,コンテナの時に言ったであろう "ビジネスの変化に対応できるアジリティを備える“ 実践は”レジリエンス エンジニアリング” 状況が絶えず変化する環境において「完璧な手順書」は作成できない 出典: 「ヒューマンエラーと新しい安全マネージメント」
NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時)) http://www.nhk.or.jp/kaisetsu-blog/400/256906.html
Safety-IとII Safety-Ⅰ(従来の考え方)との比較 Safety-Ⅰ Safety-Ⅱ 失敗に注目して要因をつぶす 成功に注目して成功を増やす 受動的な安全管理を不具合発覚 時に行う 先行的な対応で継続的に発展さ せる
パフォーマンスの変動は有害な ものでありできる限り防ぐ パフォーマンスの変動は必然で あり有用である。モニタリング して管理活用されるべき 出典: 「ヒューマンエラーと新しい安全マネージメント」 NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時))
Safety-II システムと人の位置付け Safety-Ⅰ Safety-Ⅱ 人間の失敗がシステムを危険な 状態にする 人間の柔軟性が危険なシステム を安全に機能させている 事故の80-90%の原因は人間に ある
成功のほとんどにも人間が関与 している 出典: 「ヒューマンエラーと新しい安全マネージメント」 NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時))
Safety-II Safety-Ⅱと自動化 Safety-Ⅱ Safety-Ⅰ 置き換えるものではなく Safety-Ⅰでカバーできない 領域をカバーするのが Safety-Ⅱ “人はミスをするから自動化” はSafety-Ⅰのみの視点
出典: 「ヒューマンエラーと新しい安全マネージメント」 NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時))
レジリエンスエンジニアリング 実践: レジリエンスエンジニアリング 概念は分かってきたので実装につながるような実践の指針を会得したい 考え方: ・システムは本質的に危険なもの ・人間と組織の柔軟性(レジリエンス)がシステムを安全に機能させている ・失敗事例より成功事例 (日常の業務実態)に注意を向けるべし ・レジリエンスを高める方策が安全確保に重要
出典: 「ヒューマンエラーと新しい安全マネージメント」 NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時))
レジリエンスエンジニアリング レジリエンスの評価軸 ・対処するポテンシャル ・監視するポテンシャル ・学習するポテンシャル ・予見するポテンシャル 出典: 「Safety-IIの実践」第4章 (海文堂 2019)
レジリエンスエンジニアリング 備えるべき特性 予見 注意 対処 何を予測 すべきか 知ってい る 何を監視
すべきか 知ってい る 何を するべきか 知っている 学習 更新 知識 技量 リソース 時間 出典: 「レジリエンスエンジニアリング」 p342 図E.1 (予見) (注意) (合理的対応) ダイナミックな進展 システム
レジリエンス この特性には見覚えがある
Clustering? 備えるべき特性 ・注意 ・予見 ・対処 クラスタリングソフトウェア ・定期的なヘルスチェック ・エラーにつながる メトリクスの傾向計測 ・切替処理スクリプト
“ レジリエンスエンジニアリングとは クラスタリングソフトウェアの カスタマイズ・チューニングのことである - w4yh
Clustering? ^H^H そんなまさか 「きちんと切り替わらなかった」 「スプリットブレインになった」 みたいなトラウマにまた遭遇しなければならないのか?
どこで間違えたのか “対処” クラスタリングソフトは基本的にActive/Standbyを入れ替えて 元と同じ状況へ復帰する固定的な対応 停止だけでなく劣化などにも対応して成功し続けるためのプロアク ティブな仕組みとは言えない..
どこで間違えたのか “予見” 既知を実装済にする -- リアクティブ(ex. 監視項目の追加) 未知を予見可能にする -- プロアクティブ(ex. 傾向分析)
リソース不足などに起因する劣化の場合、 切り替えるだけでは改善は見込めない..
どこで間違えたのか 「レジリエントなシステム」? “安全はシステムや組織が有しているものではなく、 システムや組織が実現するものである” “レジリエンスエンジニアリング” p339 (cf. 「ほとんどすべての設計というものは、設計しているシステムのあらゆる挙動 について、相対的に無知の状態で行われるものである。」 ”社会技術システムの安全分析”
海文堂 2013 / (“Design Paradigms” Cambridge University Press 1994) )
イマココ 現時点の仮説 監視やメトリクス計測によるシステムへの理解と洞察を深める ことが大事 Observability & Controllability Continuous Observability &
Feedback for Flexible Controllability
新たな疑問 ログ? 最近K8sのログ 管理に活気があ る印象。メトリ クスに加えてロ グもフィードバ ックに必要? 宣言的? 変化し続ける状
況へ対応する上 で”宣言的”な仕 組みの相性は良 いのか? カオス? 次スライドのツ イート
新たな疑問 QConLondon 2020 Day3 (2020/03/04) “Chaos and Resilience: Architecting for
Success”セッション “未知を既知にする” →カオスエンジニアリング! と思ったら牽制されたので これから勉強します...
レジリエンスを 学んでいるが 奥が深すぎる
まとめ “レジリエンスエンジニアリングと それを支える概念であるSafety-II について学んで理解を深めた” “レジリエンスを注意, 予見, 学習, 対処という4つの特性から視ること を学んだ。ちょっと勘違いもした” “瞬間や固定的なものではなく継続
的な学習フィードバックを伴う取り 組みで実現していくものではないか とレジリエンスを捉えるに至った”
CREDITS: This presentation template was created by Slidesgo, including icons
by Flaticon, and infographics & images by Freepik. Do you have any questions? @w4yh THANKS! Please keep this slide for attribution.
参考資料 書籍: • “レジリエンスエンジニアリング 概念と指針” 日科技連 2012 • "Safety-IIの実践 レジリエンスポテンシャルを強化す
る” 海文堂 2019 • "Safety-I & Safety-II 安全マネジメントの過去と未来” 海文堂 2015 • “社会技術システムの安全分析 -FRAMガイドブック“ 海 文堂 2013 Web: • NHK視点・論点 2016/11/09放送分「ヒューマンエラー と新しい安全マネージメント」 http://www.nhk.or.jp/kaisetsu-blog/400/256906.html • “本当は恐ろしい分散システムの話” https://www.slideshare.net/kumagi/ss-81368169 • ”分散システムについて語らせてくれ” https://www.slideshare.net/kumagi/ss-78765920 • nora_js さんのツイート https://twitter.com/nora_js/status/123521801765255 1683