[Resilience Engineering: Learning to Embrace Failure - ACM Queue](https://queue.acm.org/detail.cfm?id=2371297)
A discussion with Jesse Robbins, Kripa Krishnan, John Allspaw, and Tom Limoncelli
**GameDay Exercises Case Study**
> もうすぐホリデーショッピングの季節ですが、国内最大級のオンラインショップのトランザクションを扱うデータセンターで、何か大きな問題が発生しています。いくつかのシステムに障害が発生し、その原因は誰も知らない。ストレスは頂点に達し、エンジニアチームは3日間、24時間体制で復旧に取り組んでいます。
> 幸いなことに、これは本当の災害ではありません。しかし、これは、不可避の事態であるシステム障害にどう対応するかを企業に教えるための訓練なのです。物事は壊れ、災害は起こり、失敗は現実のものとなります。ソフトウェア開発者やシステムエンジニアは、誰しも、特に、障害を防ぐことができないと信じたくないものですが、障害に備えるための鍵は、まず、障害を受け入れることです。
> 多くの企業が[[レジリエンス工学|レジリエンスエンジニアリング]]に目を向けているのは、失敗を許さないようになりた いからではなく、むしろ、失敗が発生したときにそれにうまく適応できるようになりたいと願っているからであ る。レジリエンス・エンジニアリングは、航空業界や医療業界などリスクの高い業界でよく知られた概念であ るが、今や大規模な Web 事業でも取り入れられつつある。
> 2000 年代前半、Amazon は GameDay というプログラムを作った。これは、重要なシステムに意図的に 重大な障害を半定期的に発生させ、欠陥や微妙な依存関係を発見することによって、レジリエン スを高めることを目的としたものである。基本的に、GameDay演習は、悲惨な出来事への対応準備の過程で、企業のシステム、ソフトウェア、人材をテストする。GameDayのコンセプトが広く受け入れられるには数年かかったが、現在では多くの企業がその価値を認め、独自のバージョンを採用し始めている。このディスカッションでは、そのような経験のいくつかを紹介します。