レジリエンスエンジニアリングを学んでいるが...ssmjp 202003 (2020/03/19)#ssmjp
View Slide
Who am I?@w4yh運用系インフラエンジニアよく使うツール:StackStorm /HabbleStack /Kondate(itamae) /Expect /Zoho資料はspeakerdeck.com/w4yh/
TABLE OF CONTENTS01. Safety-Ⅱ02. レジリエンスエンジニアリング03. 過去の記憶04. 今の理解と新たな疑問
ACKNOWLEDGEMENT今日話さない事レジリエンスに関する以下のようなふわっと表現「Kubernetesでmicroservicesやってるからレジリエント」「松のような剛の強さではなく竹のような柔のしなやかな強さ」おことわり論説や出典は Elik Hollagel先生の書籍や論文に強く依拠例えば“Seeking SRE”にもResilienceに言及している章があるがご了承
背景概念: Safety-Ⅱ実践: レジリエンスエンジニアリングツール/手法: RAG(レジリエンス評価グリッド)、FRAM(機能共鳴解析手法)実装: ? ここまで到達したいというお気持ち
Safety-IISafety-Ⅱとは「変化の激しい世の中に対応した安全管理」IT業界で言えば仮想化,クラウド,コンテナの時に言ったであろう"ビジネスの変化に対応できるアジリティを備える“実践は”レジリエンス エンジニアリング”状況が絶えず変化する環境において「完璧な手順書」は作成できない出典: 「ヒューマンエラーと新しい安全マネージメント」NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時))http://www.nhk.or.jp/kaisetsu-blog/400/256906.html
Safety-IとIISafety-Ⅰ(従来の考え方)との比較Safety-Ⅰ Safety-Ⅱ失敗に注目して要因をつぶす 成功に注目して成功を増やす受動的な安全管理を不具合発覚時に行う先行的な対応で継続的に発展させるパフォーマンスの変動は有害なものでありできる限り防ぐパフォーマンスの変動は必然であり有用である。モニタリングして管理活用されるべき出典: 「ヒューマンエラーと新しい安全マネージメント」NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時))
Safety-IIシステムと人の位置付けSafety-Ⅰ Safety-Ⅱ人間の失敗がシステムを危険な状態にする人間の柔軟性が危険なシステムを安全に機能させている事故の80-90%の原因は人間にある成功のほとんどにも人間が関与している出典: 「ヒューマンエラーと新しい安全マネージメント」NHK視点・論点 2016/11/09放送分 (立教大学 芳賀教授(当時))
Safety-IISafety-Ⅱと自動化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” CambridgeUniversity Press 1994) )
イマココ現時点の仮説監視やメトリクス計測によるシステムへの理解と洞察を深めることが大事Observability & ControllabilityContinuous Observability & Feedbackfor Flexible Controllability
新たな疑問ログ?最近K8sのログ管理に活気がある印象。メトリクスに加えてログもフィードバックに必要?宣言的?変化し続ける状況へ対応する上で”宣言的”な仕組みの相性は良いのか?カオス?次スライドのツイート
新たな疑問QConLondon 2020 Day3 (2020/03/04)“Chaos and Resilience: Architecting for Success”セッション“未知を既知にする”→カオスエンジニアリング!と思ったら牽制されたのでこれから勉強します...
レジリエンスを学んでいるが奥が深すぎる
まとめ“レジリエンスエンジニアリングとそれを支える概念であるSafety-IIについて学んで理解を深めた”“レジリエンスを注意, 予見, 学習,対処という4つの特性から視ることを学んだ。ちょっと勘違いもした”“瞬間や固定的なものではなく継続的な学習フィードバックを伴う取り組みで実現していくものではないかとレジリエンスを捉えるに至った”
CREDITS: This presentation template was createdby Slidesgo, including icons by Flaticon, andinfographics & images by Freepik.Do you have any questions?@w4yhTHANKS!Please keep this slide for attribution.
参考資料書籍:● “レジリエンスエンジニアリング 概念と指針” 日科技連2012● "Safety-IIの実践 レジリエンスポテンシャルを強化する” 海文堂 2019● "Safety-I & Safety-II 安全マネジメントの過去と未来”海文堂 2015● “社会技術システムの安全分析 -FRAMガイドブック“ 海文堂 2013Web:● 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/1235218017652551683