Upgrade to Pro — share decks privately, control downloads, hide ads and more …

保育園にChaos Engineeringを提案した話 / The story of proposing Chaos Engineering to a nursery school

Mahito
March 31, 2020

保育園にChaos Engineeringを提案した話 / The story of proposing Chaos Engineering to a nursery school

以前にQiitaに書いた「保育園にChaos Engineeringを提案した話 」と、その後日談ををまとめてTech Nightという会社のイベントで発表した際の資料です。
- https://qiita.com/Mahito/items/2245429ce96027e27949#%E8%BF%BD%E8%A8%982020121
- https://mahito.hatenablog.com/entry/2020/01/21/105329

Mahito

March 31, 2020
Tweet

More Decks by Mahito

Other Decks in Technology

Transcript

  1. Mahito Ogura < Twitter: @Mahito > 所属:イノベーションセンタ 業務:インフラ系技術調査&検証、他 • GitOps向けの

    CI / CD ツール調査 • Chaos Engineering の調査・検証 • 分散トレーシング、OpenStack、etc… • 社内改善、採用支援、イベント開催、etc... About me
  2. インシデントのタイムライン 1. 地震からの津波を想定した避難訓練開始 2. 保育園近くのマンション屋上への避難訓練完了、全員の無事を確認 3. アプリで避難訓練終了を保護者に通知 4. マンション屋上より階段を使って園児を降ろし帰園 5.

    点呼の結果、園児が1名(うちの子)足りないインシデント発覚 6. 先生2名がマンションに戻る 7. マンション管理人が子供を保護してくれていたのでお礼を言って帰園 8. 保育園の経営母体と市にインシデントを報告 9. 保護者(妻)に園長から連絡 10. 保育園内のスタッフで話し合い事故の状況や原因、改善点について議論 11. 保護者へ謝罪と説明
  3. インシデントの原因(保育園側の考察) • 最初に泣いた子の対応に保育士の人数を割いたので、最終グループは保育士一 人に対して7名の園児(2歳前後)になり全員を目視で管理できなかった • 誰がどの子を連れて降りたか確認をしていなかった • 保育士の間で「誰かが手伝いに来てくれるはず」という思い込みで移動を始めてし まった •

    マンションの階段を降りてから園に戻る前に点呼を怠った • マンション屋上に園児が残っていないことを確認していなかった • 避難訓練のマニュアルに避難訓練完了までは記載していたが帰園については記 載がなく、各自の判断で動いていた
  4. Do you know and understand a problem? Unknown Knowns •

    問題として起きていないが、 解決方法が明確なもの • すぐにKnown Knownsにできるもの Known Knowns • 問題と解決方法を知っている • 完全に理解した Unknown Unknowns • 何が起きるのか知らない • 起きてから対応が必要 Known Unknowns • 問題として知っているが、 解決策がわからない • 仮設を立て、テストと実験を繰り返し チームで解決すべき問題 データ / 経験 / 知識 理 解 度
  5. Do you know and understand a problem? Unknown Knowns •

    問題として起きていないが、 解決方法が明確なもの • すぐにKnown Knownsにできるもの Known Knowns • 問題と解決方法を知っている • 完全に理解した Unknown Unknowns • 何が起きるのか知らない • 起きてから対応が必要 Known Unknowns • 問題として知っているが、 解決策がわからない • 仮設を立て、テストと実験を繰り返し チームで解決すべき問題 データ / 経験 / 知識 理 解 度 Chaos Engineering Chaos Engineering
  6. Do you know and understand a problem? Unknown Knowns •

    問題として起きていないが、 解決方法が明確なもの • すぐにKnown Knownsにできるもの Known Knowns • 問題と解決方法を知っている • 完全に理解した Unknown Unknowns • 何が起きるのか知らない • 起きてから対応が必要 Known Unknowns • 問題として知っているが、 解決策がわからない • 仮設を立て、テストと実験を繰り返し チームで解決すべき問題 データ / 経験 / 知識 理 解 度 Chaos Engineering Chaos Engineering Failure Testing Fault Injection
  7. Chaos Engineering for People Systems 企業を分散システムとして捉えChaos Engineeringを導入する話(by Google) • The

    Wheel of Staycation - 仕事の質問や会話に関わらない • Tortoise Time - メールなどの返信をわざと遅らせる • Liar Liar - 質問に対して嘘を混ぜる • War of the Worlds - 経営危機に関する情報を流す 一番複雑なのはソフトウェアやハードウェアではなく人間 人間もシステムの一部としてChaos Engineeringの対象になる 参考: - KEYNOTE: CHAOS ENGINEERING FOR PEOPLE SYSTEMS - Googleが従業員に対して実践している「カオスエンジニアリング」とは? - GIGAZINE
  8. 障害から学ぶ Chaos Conf 2019において「障害から学ぼう」というセッションが多かった Forming Failure Hypothesis [1] 1. Learn

    from incidents. 2. There is no lesson 2. Hot Recipes for Building Chaos Experiments [2] “The best time to learn about fire is when you’re on fire. “ [3] Chaos Engineeringの効果 (2) [1]: https://speakerdeck.com/chaosconf/forming-failure-hypotheses?slide=31 [2]: https://speakerdeck.com/chaosconf/hot-recipes-for-building-chaos-experiments?slide=12 [3]: https://blog.newrelic.com/engineering/how-to-run-a-game-day/
  9. Chaos Engineeringの副次効果 (3) 過去の障害体験と検証 Think Big: How to Chaos Test

    a Monolith [1] Chaos engineering is an effective tool for sharing knowledge and building empathy. Gremlin の Scenarios [2] という機能は過去の障害をシナリオ再現可能 Game Days という障害を疑似体験から学ぶものもある [3] [1] https://speakerdeck.com/chaosconf/think-big-chaos-testing-a-monolith?slide=117 [2] https://www.gremlin.com/docs/scenarios/overview/ [3] https://speakerdeck.com/yurynino/automating-chaos-engineering-gamedays-with-terraform?slide=16
  10. • 避難訓練のマニュアルに帰園までのマニュアルを追記 • 保育士一人あたりで対応する園児の数を設定 • 点呼のタイミングをマニュアルに記載し、点呼の際は保育士2名以上で確認 • 屋上から園児を連れて降りる際に、連れて降りる園児の名前を声に出す • 責任者2名がマンション屋上に園児が残っていないことを確認

    提案は採用されませんでしたwww ※1: これはこれで突っ込みどころがあったので個別にツッコミさせてもらいました ※2: 後日、妻から友達の中学校では避難訓練時に生徒1名が先生に拉致されて気付けるかをやってたと聞いて驚いた 保育園側の改善案