【ケイオスモンキー】
Chaos Monkey とは?
💡 本番環境に「暴れる猿」を放つ——壊れて当然を前提にしたシステムを作るために。
📌 このページのポイント
- Netflixが2010年代初頭にAWS移行時に開発し、後にSimian Armyへ拡張された
- ランダムなインスタンス停止で、単一障害点(SPOF)や依存関係の弱点を発見する
- カオスエンジニアリングの代表的ツールで、現在はChaos Monkey以外にも多数の後継ツールがある
- 「壊れることを前提に設計する」というレジリエンス思想の象徴的な存在
Chaos Monkeyって、本番でサーバーを落とすの!?怖くないの?
最初は怖いよね。でもNetflixは「障害はどうせいつか必ず起きる、なら自分たちでコントロールしながら経験しよう」と考えたんだよ。
どうやって動くの?
ランダムに落として、問題が起きたらどうするの?
問題が起きることが目的の一つだよ。どこが弱点なのか、単一障害点がないかが浮き彫りになるから、それを修正してより強いシステムにできるんだ。
Netflixだから大規模すぎて参考にならないんじゃないの?
考え方は規模に関係なく使えるよ。今はChaos Monkey以外にも、KubernetesPodを落とすChaos MeshやGremlinなど様々なツールがあって、中小規模でも導入できるんだ。
Simian Armyって何なの?
Chaos Monkeyを発展させたNetflixのツール群だよ。遅延を発生させるLatency Monkey、クラウド設定ミスを検知するConformity Monkeyなど『猿の軍団』という名前で複数のカオスツールを集めたものなんだ。
まとめ:ざっくりこれだけ覚えればOK!
「Chaos Monkey」って出てきたら「本番で意図的にサーバーを落としてシステムの強さを試すNetflixのツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Chaos Monkey」 = 混沌の猿
💬 「檻の中に猿を放して暴れさせる」というイメージから命名されたよ。制御できない障害を猿に例えて、それに耐えられるシステムを作る発想なんだ。