6章Microsoftにおける実験の多様化と優先順位づけ
Microsoftでは、大規模クラウドインフラのためのカオスエンジニアリングプログラムを独自に構築し、運用しています。私たちは、システムにカオスエンジニアリングを適用する上で、実験の選択がとてつもなく大きな影響をもたらすことに気づきました。実際の本番環境における異なる障害シナリオの例は、実世界における事象の多様性がどのようにして本番環境のシステムに影響を与えるかを示します。私は、サービスにおける実験の優先順位づけの方法と、異なる実験タイプの多様性を考える上でのフレームワークを提案します。この章における私の目標は、プロダクトの信頼性を向上させる上で、エンジニアリングプロセスに適用可能な戦略を示すことです。
6.1 なぜ、こんなにもすべてが複雑なのか?
モダンなソフトウェアシステムは複雑です。最も小さなソフトウェアプロダクトであっても、何百、時には何千ものエンジニアが関与して実現されています。そして何千、何百万ものハードウェアやソフトウェアの部品が組み合わさって1つのシステムが形作られ、あなたのサービスになります。IntelやSamsung、Western Digital、その他多くのサーバハードウェアを設計し構築しているハードウェアプロバイダ企業で働く、すべてのエンジニアに思いを馳せてみましょう。CiscoやArista、Dell、APC、その他多くのネットワークや電源機器のプロバイダもあります。クラウドプラットフォームを提供するMicrosoftやAmazonもあります。暗黙的か明示的かを問わず、あなたのシステムで受け入れているこれらすべての依存関係が、さらに自身も依存関係を持っており、送電網やファイバーケーブルにまで行き着きます。依存関係は組み合わさり、あなたのシステムの上に多くの変動要素を持つ複雑なブラックボックスを作り上げます。 ...