カオスエンジニアリングとは?
かおすえんじにありんぐ
カオスエンジニアリングとは、意図的に障害や異常を注入してシステムの耐障害性を検証するソフトウェアエンジニアリングの手法です。
カオスエンジニアリングとは、本番環境や本番に近い環境で意図的に障害・異常を発生させ、システムが予期せぬ事態に対してどれほど耐えられるかを継続的に検証・改善するエンジニアリングの規律です。
この概念は2010年代初頭にNetflixが自社の大規模分散システムの信頼性を高める目的で実践を始めたことで広く知られるようになりました。Netflixが開発した「Chaos Monkey」というツールは、ランダムにサーバーインスタンスをシャットダウンすることで、個別障害への耐性を自動的にテストします。
カオスエンジニアリングで注入される障害の例としては、以下のようなものがあります。
- サーバーやコンテナの強制停止
- ネットワーク遅延やパケットロスの模擬
- 依存するAPIやデータベースの応答停止
- CPUやメモリの高負荷状態の再現
- データセンターやリージョン全体の障害シミュレーション
従来のテストが「正常系・異常系のシナリオを事前に想定して確認する」手法であるのに対し、カオスエンジニアリングは「想定外の事態が起きても壊れないか」を問い続けます。これにより、設計段階では見えなかった単一障害点や依存関係の脆弱性を本番稼働前に発見できます。クラウドネイティブなマイクロサービスアーキテクチャが普及した現代において、その重要性はさらに高まっています。
使い方・例文
大規模なECサイトでセール前にカオスエンジニアリングを実施し、決済サービスへの接続が突然切れた場合でも注文データが消失しないことを確認する、といった場面で活用されます。
この用語をシェア
最終更新: