先日のInfoQポッドキャストで、Jeliの共同創業者兼CEOのNora Jones氏が、カオスエンジニアリングとレジリエンスエンジニアリングの違いについて説明した。さらに氏は、効果的なカオス試験の計画と実行のためのアドバイスを提供し、インシデントから効果的に学ぶ方法について論じた。
Jones氏との会話は、先日のQCon Londonで氏がホストした"Chaos and Resilience: Architecting for Success"トラックの要約から始まった。カオスエンジニアリングとレジリエンスエンジニアリングの領域は、密接な結び付きはあるものの、不正確なまとめ方をされていることが少なくない。QConでのトラックのおもな目標のひとつは、参加者が"この2つのことばの関係を理解し、実例を提供する"ことを支援する、ということだった。
2つのトピックにまつわる混乱の潜在的発生源へと踏み込む前に、Jones氏は、レジリエンスエンジニアリングに関するSidney Dekker氏の定義を引用して紹介した。
レジリエンスエンジニアリングとは、組織における人々の肯定的能力を認識し、さらには拡張することにより、さまざまな状況に効果的かつ安全に適応可能にするものです。レジリエンスは、難点やエラーを軽減することではありません。
その上で氏は、レジリエンスエンジニアリングのフレームワークや方法論は、カオスエンジニアリングとこの領域を支える思想に対して、確かに影響を与えている、と述べた。その一方で、現在の課題のひとつに、カオスエンジニアリングの領域においてツーリングや試験の実施が過剰に重視されている、ということがある。
ツーリングは間違いなく重要だが、それはユーザビリティというより大きなコンテキストの中で見られるべきものであり、基盤となるシステムに対するチームのメンタルモデルの構築を支援するものなのだ。これらのツールを開発するエンジニアリングにおいては、ユーザエクスペリエンス(UX)の過剰な評価や、ユーザ設計調査に関連するスキルの欠如といった問題が少なくない。これが結果的に、ツールが使用されなかったり、あるいは直感に反した結果が観察されたりする可能性に結びついている。
あるチームのメンバにインタビューした時、私たちは一緒に[カオス試験ツールを見ていて]、基本的なユーザ調査を行っていたのですが、それを使ってもらうことにしました。そのフォームに、このようなラベルがありました — "SPSにどの程度影響を与えたいですか?" SPSはNetflixのハートビートメトリクスであり、重要なメトリクスです。SPSが高過ぎたり、低過ぎたりすれば、人々はページを替えてしまいます。これは企業として大きな問題です。それがフォームに表示されれば、誰でも怖くなるに決まっています。
Jones氏はさらに、カオス試験を実施する前と後が、試験自体の実施と同じように重要である、とも述べている。しかし実際には、計画、効果的な仮説の立案、結果の分析と発信といった作業に対して、十分なリソースが割かれないことが多いのだ。
我々は皆、社会技術システムに従事している。時間をかけて、両面を理解することが重要だ。影響を与えようとしているチームとの共感を育み、協力することを忘れてはならない。システムの正しい"メンタルモデル"の構築に継続して努めることは、極めて重要なのだ。
インシデント分析は、システムをより理解するための促進剤の役割を果たす。"Learning from Incidents" Webサイトや、Sidney Dekker氏の"The Field Guide to Understanding Human Error"、Scott Snook氏の"Friendly Fire"などの書籍は、これらの話題に関する優れた背景情報を提供してくれる。
ポッドキャストで取り上げたすべての話題を詳細に取り上げた書籍として、Casey Rosenthal、Nora Jones両氏は先頃、"Chaos Engineering: System Resiliency in Practice"をO'Reillyで共同出版した。
ポッドキャストオーディオは、ショーノートと全筆記と合わせて、関連記事"Nora Jones on Resilience Engineering, Mental Models, and Learning from Incidents"で公開されている。