サービス障害を起こさないために、障害を起こし続ける。逆転の発想のツールChaos Monkeyを、Netflixがオープンソースで公開

2012年8月8日

米国でビデオオンデマンドサービスを提供しているNetflixは、Amazonクラウド上でわざとシステム障害を起こすためのツール、Chaos Monkeyをオープンソースで公開しました。

Chaos MonkeyはAmazonクラウド上で使うツール。Amazonクラウド上のインスタンスをランダムに落としまくることで、サービスに対して仮想的な障害を引き起こしてくれます。

NetflixはこのChaos Monkeyを実環境で使うことで、本物の障害が起きたとしてもサービスが継続できることをテストし続けてきました。Netflixのブログ「Chaos Monkey released into the wild」から引用します。

There are many failure scenarios that Chaos Monkey helps us detect. Over the last year Chaos Monkey has terminated over 65,000 instances running in our production and testing environments. Most of the time nobody notices, but we continue to find surprises caused by Chaos Monkey which allows us to isolate and resolve them so they don't happen again.

さまざまなシナリオの障害の検出をChaos Monkeyは手伝います。昨年、Chaos Monkeyは本番環境やテスト環境で6万5000以上のインスタンスを強制終了させました。たいがいの場合そのことに誰も気づきませんが、たまにChaos Monkeyが原因で驚くようなことを発見することができ、それを分離し、解決できるようにしてくれます。そのおかげでそれはもう二度と起こりません。

エンジニアがいるときだけ、わざと障害を起こせる

Chaos Monkeyはあくまでも障害を発見し、対策するのを助けるためのツールですから、デフォルトでエンジニアが対応できる時間帯に活動するようにセットされています。

The service has a configurable schedule that, by default, runs on non-holiday weekdays between 9am and 3pm.

サービスはスケジュールが設定可能で、デフォルトでは平日の午前9時から午後3時のあいだ実行するようになっている。

(略)we want to make sure there are people around to resolve and learn from any problems. With this in mind, Chaos Monkey only runs within a limited set of hours with the intent that engineers will be alert and able to respond.

私たちは、問題を解決し、そこから学べるような人がその場にいることを確認しておきたいのだ。このことを念頭に、Chaos Monkeyは限られた時間設定の中でのみ動くようになっており、エンジニアが対応できるようにしている。

Chaos Monkeyは障害を起こす確率も調整可能で、最大でAuto Scaling Groupから1日に1つのインスタンスを強制終了。これを0.2に落とすと週に1回程度になります。

障害があることを日常とする

ずいぶん前に、Netflixが本番環境でわざと障害を起こすツールを日常的に使っている、ということを初めて知ったときには「なんという大胆な発想だろう」と思いました。

しかし、システムが大規模になればなるほど、そのどこかで障害が起きるもの。であれば、あえてわざと管理された範囲内の障害を日常的に引き起こし、それに日常的に対応できていることを証明し続けることで、本物の障害が起きても問題なく対処できることが証明できるわけです。

昼間にわざと障害を起こして、それが何の問題もなくシステム的に乗り越えられていれば、夜中に障害が起きても心配する必要もなく、安心してシステム管理者が眠れることでしょう。クラウド時代だからこそ登場した運用管理の発想といえそうです。

このエントリーをはてなブックマークに追加
Bookmark this on Delicious

タグ : Amazon , オープンソース , クラウド

≫次の記事
2012年秋のIT系イベントは盛りだくさん。クラウドごった煮/HTML5 Conference/XP祭り/PyCon/Node.jsなどなど
≪前の記事
Windows Azureの欧州リージョンがダウンした原因は、ネットワークの設定ミスとバグだったとマイクロソフトが報告

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


新サイト「Publickey Topics」始めました!


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed





アクセスランキング - 過去7日間

  1. 最近よく目にする「フルスタックエンジニア」とは何だろうか?
  2. クラウド事業者がテクノロジーリーダーになる理由~クラウドコンピューティングの雲の中(その1)。NII Open House 2013
  3. レッドハットがPaaS型クラウド「OpenShift Online」正式サービス開始。Java、PHP、Ruby、Node.jsなど多言語対応。無料プランは継続
  4. 分散ストレージの整合性をいかに解決するか。プライマリ-バックアップ方式と分散コミット~クラウドコンピューティングの雲の中(その2)。NII Open House 2013
  5. チップスケール原子時計やSoCがこれからクラウドを変えていく~クラウドコンピューティングの雲の中(その3)。NII Open House 2013
  6. クラウドへ基幹システムを移行する東急ハンズ。決断したきっかけ、システム構成、メリットを語る。AWS Summit Tokyo 2013
  7. PR:業務アプリを超高速に開発する「Wagby」。データモデルを基に、オープンソースを基盤にしたJavaコードを自動生成
  8. ARMコア64ビットサーバは2014年後半に登場予定。AMDがサーバ向けプロセッサのロードマップ公開
  9. AndroidとChromeは統合し、Packaged Web Appsが重要になる。丸山先生が予想する新しいアプリケーションの形
  10. 連載マンガ Mr. Admin:長持ちPCは美徳?
  11. 開発と運用の新しい関係、「DevOps」とは何か?
  12. ストレージ上で仮想マシンをHypve-V、vSphere、Xen対応に自動変換してくれる「NetApp Shift」、NetAppがプレビュー公開
  13. OpenStackの構造と内部動作、自分でクラウドを構築する意味とは。QCon Tokyo 2013
  14. 基幹システムをクラウドへあげるのは簡単ではなかった。ノーチラス・テクノロジーズがクラウドの現実を語る(前編)
  15. Publickey Smar

Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig



blog comments powered by Disqus