カオスに頼るのは健全なエンジニアリングの方法ではないように思えるかもしれない。しかしカオスエンジニアリングは急速に、現実の障害で複雑なシステムが試される前にテストをする標準的な方法になりつつある。Netflixのエンジニアリングチームが2012年にChaos Monkeyを開発し、これは今でもよく使われるツールの1つだ。米国時間11月2日、Microsoft Azureも同社プラットフォーム上でユーザーが利用できる同様のツール、Azure Chaos Studioを発表した。
AzureユーザーはChaos Studioを使って、自分のアプリにランダムな停止、極端なネットワークレイテンシー、シークレットの無効化、さらにはデータセンターの完全な停止などを発生させ、実際の障害時にアプリがどう反応するかを確かめることができる。こうしたことが発生した場合に何が起きるかの理論を構築し、それに応じて計画を立てる方法はある。しかし実際の動作を見るのは、また別の話だ。現在のデータセンターインフラストラクチャの複雑さを考えれば、どこかで発生した小さな障害が雪崩のように大きな問題となるのはあり得ることで、あなたが気づく前にプラットフォームは数日間ダウンしてしまう。
ちなみにAWSはFault Injection Simulatorで同様の機能をユーザーに提供している。人気のエンジニアリングのコンセプトで多く見られるようにこうした分野のスタートアップもあり、例えばGremlinはカオスエンジニアリングに特化したサービスを提供している。
画像クレジット:PM Images / Getty Images
[原文へ]
(文:Frederic Lardinois、翻訳:Kaori Koyama)