カオスエンジニアリング
Chaos Engineering
システムをわざと壊す実験をして、想定外のトラブルに耐えられるかを確かめる手法。
簡単に説明すると
カオスエンジニアリングっていうのは、システムが動いている本番の環境をあえて故障させて、トラブルが起きても動き続けられるかを確かめる方法のことだよ。 実験用のシステムではなく、実際にユーザーが使っている本番の環境で一部のサーバーをわざと停止させる実験を行うんだ。 これによって、システムの中に隠れていた予期せぬ弱点を見つけ出し、大きな事故を未然に防ぐために使われている手法なんだよ。
名前のヒミツ
カオスエンジニアリングは、英語の「Chaos(混沌)」と「Engineering(工学)」を合わせた言葉だよ。 想定外の混乱した状態をわざと作り、システムの弱点を見つける工学的な手法という意味があるんだ。 アメリカの動画配信大手のネットフリックスが提唱して広まったよ。
くわしく見てみよう!
カオスエンジニアリングとは、稼働中のシステムに意図的に障害を発生させて、システム全体の回復力や耐久性を検証する手法のことだよ。
ざっくり言うと、わざとシステムを壊すことで、本当にトラブルに強いかどうかを確かめる訓練のようなものなんだ。
通常のテストでは、実験用の環境で想定内のトラブルだけを試すことが多いんだよ。
しかし、カオスエンジニアリングでは、実際にユーザーが使っている本番環境で、サーバーの突然の停止やネットワークの遅延などを引き起こすんだ。
これによって、想定外の事態が起きたときにシステムが自動で復旧するかどうかを本番同様の緊張感の中で確認できるんだよ。
この手法は、たくさんのサーバーが複雑につながり合うクラウドシステムなどでよく使われているんだよ。
どこか1箇所が故障しても、他のサーバーが自動でカバーして動き続ける仕組みが正しく機能するかを確かめるんだ。
システムの一部が壊れても、全体のサービスが止まらないタフなシステムを育てるためのテスト方法として使われているんだよ。