質問: Knife-soloを使っていたのですが、大規模サービスなどのサーバは数台とかではなく、数十、数百台となると思います。 その際、Chef-serverを利用する方が良いと聞きました。もちろん数台の場合でもChef-serverは使えると思いますが、管理運用が大変らしいです。 個人的に二つを比べた時、なぜ大規模向きなのはChef-serverかと考えたのですが、DBに状態を保存できるからではないでしょうか?またGUI上でのどのノードがどのレシピを使用するのか簡単に行えることだと思うのですが。 ですが、下記の記事を読んだところ、ノードの登録、レシピ作成、ノードとレシピの関連付けが全てGUI上でできるわけではないと思いました。 http://dev.classmethod.jp/server-side/add-node-run-recipe/ ※この記事によると、レシピ作成は記述する必要がありますし、ノードの登録もコマンドを打つ必要があります。また、各ノードへのChef環境のインストールは、ノードにログインしコマンドを打ちインストール必要があります。 これをするのであれば、Knife-soloのprepareを使ってインストールした方が簡単なのではないでしょうか? 数百台もこれらの作業をすると思うと、なぜChef-serverが大規模サービス向きなのか理解できません。 文章が多々わからないところがあるかもしれませんが、よろしければ回答宜しくお願い致します。
回答: chefは構成管理ツールです。 初回構成から変更がないようなシステムであれば、お得意の方法で展開するのもありかもしれませんが、例えば、脆弱性の問題から(最近であればssl、bindなど)パッケージを入れ替える必要が発生した場合、サーバ側でレシピとノードへの割り当てを行い、プッシュするだけで数千のサーバに配布することが可能になる等の利点があります。 クライアント設定が面倒であればクライアントレスの構成管理ツールを再考してみては如何でしょうか? ansibleとかitamaeとか?