TOPアプリ/OS > Chaos Monkeyとカオスエンジニアリング(上)

アプリ/OS

Chaos Monkeyとカオスエンジニアリング(上)

2020/06/01

Scott Carey InfoWorld

 かつてはDVDの宅配レンタル企業だった米Netflixが、分散クラウドシステムを使った動画配信企業へと変貌を遂げる中で打ち出したのが、稼働中のシステムにわざと障害を起こすという手法と、それを実現するツール「Chaos Monkey」だ。自分たちが動かしているシステムに障害を注入して弾力性を高めるというその発想は、大小さまざまなソフトウエア開発企業で受け入れられた。

Credit: Joe deSousa

 Netflixの公式テクノロジーブログ記事でChaos Monkeyが紹介されたのは2011年7月19日のことだった。Chaos Monkeyでは、Amazon Web Services(AWS)上で動く本番環境のインスタンスにランダムに障害を発生させることで、システムの弱点を明らかにして、自動復旧の仕組みを強化できる。

 Chaos Monkeyというキャッチーな名前の由来について、Netflixは次のように説明している。「野生のサルに武器を持たせて、データセンターやクラウドリージョンの中に放つ。行き当たりばったりでインスタンスを落としたり、ケーブルを食いちぎったりするというイメージだ。そしてその間も、顧客には中断なくサービスを提供し続けるという発想だ」

 NetflixのエンジニアだったNora Jones氏とCasey Rosenthal氏の著書「Chaos Engineering」(O'Reilly Media刊)によると、当初試したChaos Monkeyはシンプルなアプリケーションだった。各クラスタから1つのインスタンスをランダムに選んで、就業時間内のどこかのタイミングで予告なしに落とすという処理を、就業日に毎日行うツールだ。

 こうしたツールを活用して、システムの弱点を事前に把握しておけば、問題の発生時に自動での対処が可能となり、たとえ夜中に障害が起きても、対応を求める連絡がエンジニアに入らずに済む。その後Chaos Monkeyは、カオスエンジニアリングという名の包括的な手法へと進化を遂げた。

↑ページ先頭へ