私はすでにグーグルして "to-puppet-or-to-chef-that-is-the-question" の記事を読みました。
私は、ユースケース、人々が実際の問題に基づいてどちらか一方を選択した実際の実装に興味があります。
私は特にcobblerとの統合に興味があります問題(私は人形が多くの標準的なアプローチであることを知っていますこの方向); cobbler-chef統合での経験は誰ですか?
前もって感謝します
正直に言うと、これは単純な見方に帰着すると思います。シェフはより命令的なプログラムによる解決策のように見えます。Ruby Rubyのアイデアのすべてを備えた世界の道です。
これは、この種のことに対しては望んでいないことです。あなたはシステムがどこにあるのか、そしてdeclare:
「ポート80で、nginxという名前のデーモンを北から召喚します。彼の仕事は仕えることです。」
「ユーザーは存在しなければならず、彼の名前はチグジーであり、彼はホイールのグループで最も強力な人物の1人でなければなりません。」
「火の壁を上げなさい、80,443,8080の場所で薄い」
など、おそらく言語では花が少なくなります。
Puppetは、そのパラダイムにより優れたIMOをサポートしています。私はどちらかを使用したのですが、好みはありませんでしたが、それに到達すると、宣言型の方が適していました。
傀儡。
シェフとパペットの詳細な比較をここに書きました: パペットとシェフ:パペットが勝つ10の理由 。ユースケースは含まれていませんが、インフラストラクチャの自動化のためにどのツールを選択すればよいか疑問に思う方のために、これがいくつかの有用な出発点となることを願っています。
冗長性について申し訳ありません。仕事をやりやすくするツールを使用してください。それが自動化のポイントですね。
歴史:私は過去のギグで人形を使用し、先月は新しいギグで切り替えを行うかどうかを確認するためにシェフに慣れるために約1週間費やしました。
飛ばなかった。
専門用語:これらのシステムの両方の不幸な問題の1つは、専門用語の過負荷です。 (レシピ、テンプレート、ノード、ロール、属性、プロバイダー)それはどんどん続きます。シェフがさらに一歩進んだことに気づきました。 (ナイフ、シェフなど)
コードの成熟度:Chefが少しばかり生意気すぎると私が言っただけで十分です。それは、3〜4年前の.21/.22タイムフレームで人形がどのように感じたかによく似ています。たくさんの変化が起こっています。
それは人形でも起こらなかったことは言うまでもありません。 (私は、過去数年で表面化したパペットの多くの優れた機能を再発見しました。-正規表現マッチング!)
Ruby:私はすべてのRuby Chefのオーバーロードが好きではありませんでした(開始する前にgemとrakeが必要です)。Ruby to操り人形師の複雑な問題を解決しますが、したくない場合は、そうする必要はありません。
複雑さ:シェフにGUIを集中させるのは好きではありませんでした。私はそれがきれいで、人形がアドオンとして作品にウェブインターフェースを持っていることを理解していますが、それはもっと分離されるべきだと感じています。
Chefのアーキテクチャーははるかに複雑です。拡張性は向上しますが、潜在的な障害点がたくさんあります。
http://wiki.opscode.com/display/chef/Architecture
Chefには、APIサーバーとWebインターフェースに加えて、couchdb、rabbitmq、solrが必要です。
その上にMVCフレームワークを必要とせず、背後に複雑なデータストアを必要としないシンプルなクライアント/サーバーインターフェイスが欲しいだけです。
その部署では人形はもっと単純です。 (混乱させるためのアドオンがたくさんないのは言うまでもありません)
仕事を終わらせる:最後に、私は自分が知っていることを行いました。 1週間のサイドハッキングに費やし、Chefで基本的なことをほとんどできなくなった後、私は人形に戻り、数時間で基本的なニーズを理解することができました。 (パッケージ管理、ユーザー管理、構成ファイルテンプレート)
モジュールに関する注意:Puppetは最近、サードパーティから提供された「モジュール」を使用するように移行しました。私はこれらを使用することになったわけではなく、それらの品質には幅広い範囲がありました。これらを掘り下げる前に、カバーの下をのぞいて、何がどのように機能しているかを確認してください。
ここに意見があります:私達は私達の会社でそれらすべてを試しました、そして私たちは人形を好みます。使いやすいからこそ。
私自身、puppetを使用すると、構成が異なる1000台のホストを管理する方がはるかに簡単なケースを見てきました。グーグルのような影響力のある企業は、展開に人形を使用しています。
Puppetの主な設計アーキテクチャーは、正しい方法で構成した場合、他のものよりもはるかにうまく機能するようなものです。たとえば、カスタム構成などのカスタムファクトを追加すると、以下のリンクにいくつかの情報が表示される場合があります http://slashroot.in/puppet-tutorial-installing-puppet-master-and-puppet-agent
これは前回試してから変わっているかもしれませんが、RHELでchefを試していたとき、インストールする明確な方法がありませんでした。誰かが必要なすべてのパッケージを含むyumリポジトリを作成しましたが、最終的に200個の奇妙なパッケージがインストールされました。一方、Puppetには単一のrpm(およびいくつかの依存関係)があります。