BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Chef 11がハイパースケールに対応

Chef 11がハイパースケールに対応

原文(投稿日:2013/02/20)へのリンク

 

Opscodeは今月初め,Chef 11をリリースしたハイパースケールなWeb運用 の要求に応えるべく,拡張性の向上が図られている。サーバコアAPIはすべてErlangで新たに書き直された。その一方で,従来版との互換性も同時に確保されている。Erlangで書き換えられたことを表すため,OpscodeはコアサーバAPIの名称を "Erchef" に変更した。さらにサーバソースコードがクライアントから切り離されて,Erlangで書かれた複数のコンポーネントプロジェクトによって再構成されている。

Seth Falcon氏がブログに書いたフォローアップ記事には,Chef 11のバックグラウンドに関する追加情報 が記されている。

Erlangはシェアドナッシングなメモリおよびプロセスモデル,マルチコアにおけるスケール性,さらにはプロセス単位のガベージコレクションモデルによるソフトリアルタイム動作など,大容量Webサービスに適した特徴をいくつも持っています。
さらにTimothy Prickett Morgan氏は,Erlangへの書き換えによって実現された改善として,次のようなものを挙げている。
Chef 11はRubyバージョンであるChef 10に比較して,メモリフットプリントが桁違いの規模で削減されています。
Chef 11は,10,000ノードを単一のサーバで 管理することができます。これはChef 10サーバの処理能力の4倍以上に相当します。
WebユーザインターフェースはRubyのままだが,Merb に代えてRails 3.2フレームワークが採用されていて,"Erchef" にAPI経由で接続される。Omnibusパッケージング は,Enterprise Linux [x86_64] (v.5,6) やUbuntu [x86_64] (v. 10.04, 10.10, 11.04, 11.10, 12.04, 12.10) など複数のプラットフォーム用のネイティブなパッケージシステム上で,コアサーバAPIとGUIを単一パッケージとして配布 することが可能になった。既存のChef 10オープンソースサーバのユーザのためのマイグレーションツールも同時にリリースされている。
 
Chef 11ではクライアントツールについても属性やセキュリティ,リモートファイルミラー,パーシャルテンプレート,ロックファイル,LWRPといった分野での機能修正を含む,数多くの改良が加えられている。その一方で,改良や新機能によって 互換性に影響を受けた 部分もある。例えばChef 11のサーバコンポーネントの配置とChef 10クライアントの実行を同時に実現するためには,Chef 11のクライアントコンポーネント要件を満たすようにクックブックを更新することが必要だ。
 
Chef 11クライアントツールスイートには,他にも次のような改良点がある。
  • knifeコマンドラインツールにknife-essentialが含まれるようになった。
  • knife sshがリモートコマンド実行に基づくエラーコードを返却するようになった。
  • Shefの名称が "chef-shell" に変更された。
  • 単一のクックブックを実行するツールとして "chef-apply" が追加された。
Chef 11は引き続きオープンソース製品として入手可能だが,同時に Opscodeのサポートも受けられる ようになった。

 

この記事に星をつける

おすすめ度
スタイル

BT