カオスエンジニアリング 【chaos engineering】
概要
カオスエンジニアリング(chaos engineering)とは、情報システムなどの対障害性を高める手法の一つで、本稼働中のシステムに人為的に小規模な障害やトラブルを発生させ、対応策が有効に機能していることを検証すること。情報システムには、装置の故障や操作ミスなど何らかの局所的なトラブルが発生しても、全体を停止させずにサービスの提供を継続したり、影響の緩和や復旧などの対処策を迅速に講じることができる「粘り強さ」(レジリエンス)が求められる。
カオスエンジニアリングはシステムの備えるレジリエンスを検証し、また向上させるための技術的な方策の一つで、稼働中のシステムに対して対処可能と予想される小さなトラブルを故意に生じさせ、実際に対処させてみる手法である。想定通りの対応が行われるかを確かめ、見落としていた問題点を発見したり、プロセスの改善に繋げることができる。
人為的なトラブルの内容はシステムの種類や構成によって異なるが、例えば、一部のネットワーク機器やサーバ、ストレージ装置を停止させる、一部のプログラムを強制終了させる、ネットワークケーブルを引き抜く、大きな処理負荷をかける、故意に誤ったシステム操作を実施するといったものがある。
このプロセスをソフトウェアツールを用いて自動化し、定期的に繰り返し実行することにより継続的な検証と改善を行う手法を実践している企業もある。動画配信大手の米ネットフリックス(Netflix)社では「Chaos Monkey」という自社製ツールを2011年から投入しており、システム運用の一環として継続的にカオスエンジニアリングに取り組んでいるとされる。
(2024.9.10更新)