Facebook、データセンター自動化ツールにChefの新バージョンを全面採用、Erlangでスケーラビリティ拡大。Opscodeが発表
Chefの開発元であるOpscodeは4日、FacebookがChefの商用版である同社の「Private Chef」を全面採用したと発表しました。
世界最大級の規模のサーバを運用しているFacebookでは、データセンターにサーバを投入したり、既存のサーバのコードをアップデートする膨大な作業が毎日発生しています。特に同社は開発したコードをすぐにデプロイし、利用者からのフィードバックを迅速に開発へ反映させるDevOpsと呼ばれるスタイルを採用していることから、大規模かつ柔軟性の高いデプロイツールが欠かせません。
そこで必要なのがこうしたサーバのコンフィグレーションをデータセンター規模で自動化してくれるツールです。その1つとしてよく知られるのがChef。Rubyで書かれており、コンフィグレーションの内容や手順を記述するレシピ(Recipe)やクックブック(Cookbook)を用いた柔軟なデータセンター自動化が実現できます。
Facebookの大規模なインフラには3つの大きな課題があり、それはサーバ台数だけでなくあまりにも多様なサーバのコンフィグレーションと、そのコンフィグレーションを保守し続けることなどです。Chefは、スケーラビリティや柔軟性の面でこうした課題を解決するものだったと、FacebookのProduction EngineerであるPhil Dibowitz氏は発表の中で次のように発言しています。
Chef was the only automation solution flexible enough to bend to our scale dynamics without requiring us to change our workflow.
Chefは私たちのワークフローを変えることなく、大規模なスケールに十分対応するフレキシビリティを持った唯一の製品でした。
Facebookが採用したのは、Opscodeが同日発表したChefの最新バージョンとなるChef 11の商用版。FacebookはChef 11のフィールドテストにも参加していました。
ErlangとPostgreSQLを採用し、スケーラビリティを拡大
ChefはRubyで開発されたツールですが、Chef 11では関数型言語のErlangをバックエンドサーバの開発言語として採用。前バージョンよりもメモリ利用量が10分の1になったと説明されています。またデータベースとしてMongoDBCouchDBからPostgreSQLに変更されました。
これによりChef 11ではスケーラビリティが拡大し、1つのChefサーバで1万ノードが管理可能だとのことです。
また、おもな新機能として包括的テストを実現。デプロイが正しく行われるかどうかをテストすることができます。
Chefはオープンソースソフトウェアで、Chef 11もすでに公開されています。開発元のOpscodeでは、商用版のPrivate Chefとして、20ノードまでが120ドル、50ノードまでが300ドル、100ノードまでが600ドルの設定で企業などに向けて販売を開始しました(国内ではクリエーションラインが代理店です)。
あわせて読みたい
Fedora 19からはMySQLに代わりMariaDBを標準に採用「オラクルはMySQLプロジェクトをさらに閉鎖的にしている」。MariaDB Foundationもすでに設立
≪前の記事
2013年1月の人気記事「ネットワーク機器は無償で置いておきます」「プロジェクトリーダーに必要な6つの能力」「仕事でJavaScriptを覚える人に」