Puppet vs Chef、ユーザーとユースケースからの賛否両論[非公開]


56

私はすでにグーグルで「人形に、またはシェフに」という記事を読みました。

私は、ユースケース、つまり人々が実際の問題に基づいてどちらかを選択した現実世界の実装に興味があります。

私は特にコブラーの問題との統合に興味があります(この方向ではパペットがはるかに標準的なアプローチであることはわかっています)。cobbler-chef統合の経験はありますか?

前もって感謝します



1
@warren:あなたが概説した投稿は関連していません。投稿で行われたシェフについての言及だけでなく、このツールの直接比較をお願いしています。
drAlberT 2009

cobbler + chefの質問に答えるために、CobblerチェックアウトにChefが使用するJSONを返すブランチがありますが、テストするシステムがありません。テストに興味がある場合はお知らせください。
jtimberman

もちろん、今はできません...私は数か月後にテストを続けるつもりです。他の何かが今優先されました
-drAlberT

質問の終了に関して..私は「本当の問題」、コブラー統合、ユースケースを求めました...単に「意見」ではなく、やる気のある選択。あなたが議論できるように、私は閉鎖に反対です:)
drAlberT

回答:


63

正直なところ、これは単純な視点に帰着すると思います:Chefはより命令的でプログラム的な解決策のようです。ルビーのアイデア。

しかし、それはあなたがこの種のものに望むものではありません。システムが存在する場所に話しかけて、次のように宣言します。

「ポート80で、北からnginxという名前のデーモンを呼び出します。彼の仕事はサービスを提供することです。」

「ユーザーが存在する必要があり、彼の名前はチグジーである必要があり、彼はホイールのグループの強力な一人でなければなりません」

「火の壁を上げ、80,443,8080の場所で薄くする」

おそらく、花の少ない言語ではありますが。

Puppetは、そのパラダイムにより優れたIMOをサポートします。私はどちらかを使用していましたが、好みはありませんでしたが、それが下に来たとき、宣言は私に適していました。

傀儡。


2
将来さらに一歩進んで、宣言型構成を使用するLinuxディストリビューションを使用することもできます。nixos.org
iElectric

19

ここでChefとPuppetの詳細な比較を書きました:Puppet vs Chef:Puppetが勝つ10の理由。ユースケースは含まれていませんが、インフラストラクチャの自動化にどのツールを選択するのか疑問に思う人々に、いくつかの有用な出発点が提供されることを願っています。


3
とても良い仕事です。あなたが書いたポイントの多くが、パペットが「古い」という単純な事実に縛られていても、はるかに「サポートされている」。[OK]を、それは事実です...しかし、私はどれもが今まですでに公共...私は繰り返し、良い仕事を持っていたsendmailのbecouse postfixのを使用していなかっただろうと思い、私は考慮に入れ、それを取るよ
drAlberT

AlberT-はい、PuppetはChefよりもずっと長いので、コードの成熟度、開発者ベース、インストールベース、マインドシェアなどの先駆者の利点の多くがあります-これらは記事で明示的に認められています。Linux自動化タスクに関して、PuppetはChefより技術的に優れていますか?おそらくない。市場をリードする構成管理ツールであるPuppetとChefをお勧めします。
ジョンアランデル

2
ブログの記事は非常に時代遅れで、2011年の時点でパペットは純粋なルビーモジュールをサポートし、著者が評価したバージョンよりも多くの「動詞」を持っています。
robbyt

14

詳細については申し訳ありません。仕事を簡単に完了できるツールを使用してください。それが自動化のポイントですよね?

履歴:私は過去のギグでパペットを使用し、先月、新しいギグで切り替えを行うかどうかを確認するためにシェフに慣れるために約1週間を費やしました。

私は跳躍しませんでした。

用語:これらのシステムの両方での不幸な問題の1つは、専門用語の過負荷です。(レシピ、テンプレート、ノード、ロール、属性、プロバイダー)続きます。Chefがさらに一歩進んだことがわかりました。(ナイフ、棚など)

コードの成熟度:Chefが少々生々しいと感じたと言えば十分です。それは、3〜4年前の.21 / .22の時間枠で操り人形が感じたものによく似ています。多くの変化が起こっています。

それは人形でも起こっていなかったと言ってはいけません。(私は、ここ数年で登場したパペットの多くの優れた機能を再発見しました。-正規表現マッチング!)

Ruby:Chefのすべてのルビーのオーバーロードが好きではありませんでした。(始める前にgemとrakeが必要です)puppet a'la facterの複雑な問題を解決するにはrubyを使用できますが、必要ない場合は必要ありません。

複雑さ:GUIがシェフにフォーカスしているのが好きではありませんでした。私はそれがきれいだと気づいており、人形はアドオンとして作品にウェブインターフェースを持っていますが、それはもっと切り離されるべきだと感じています。

Chefのアーキテクチャははるかに複雑です。スケーラビリティは向上するかもしれませんが、多くの潜在的な障害点があります。
http://wiki.opscode.com/display/chef/Architecture

Chefには、APIサーバーとWebインターフェースに加えて、couchdb、rabbitmq、solrが必要です。

その上にMVCフレームワークとその背後にある複雑なデータストアを必要としないシンプルなクライアント/サーバーインターフェイスが必要です。

その部門では、Puppetははるかに単純です。(それを厄介にするために多くのアドオンがないと言わないでください)

仕事を成し遂げる:最後に、私は自分が知っていることを行った。1週間のサイドハッキングに費やし、Chefで基本的なことをやっと済ませることができた後、私は数時間で人形に戻り、基本的なニーズを打ち砕くことができました。(パッケージ管理、ユーザー管理、構成ファイルテンプレート)

モジュールに関する注意:Puppetは、サードパーティから提供された「モジュール」を使用するようになりました。私はこれらを使用することになりませんでした、そして、私は彼らの品質の広い範囲を見つけました。これらを掘り下げる前に、カバーの下を覗いて、何がどのように機能しているかを確認してください。


5

ここに意見があります:私達は私達の会社のそれらすべてを試み、操り人形を好みます。使いやすいからです。


Puppetの実行を監視するためにフロントエンドを使用しましたか?
SyRenity

1
@syrenityでは、実行が成功した場合にのみ更新される$ puppetvardir / state / state.yamlのmtimeをチェックするカスタムnagiosチェックを使用します。
rodjek

2
代わりにシェフはとても難しいですか?どうして?パペットがバイパスするシェフに近づくと実際に直面する困難は何ですか?
drAlberT


@NotNow:いいですね、独自のプロビジョニングシステムの代替としてcobbler統合をサポートするかどうかを確実に採用しました...
drAlberT

1

私自身、異なる設定で1000台のホストを管理する場合、パペットを使用する方がはるかに簡単な場合があります。グーグルのようなインファクト企業は、展開にパペットを使用しています。

パペットの主要な設計アーキテクチャは、適切な方法で構成すると、他のパペットよりもはるかに優れた機能を発揮します。たとえば、カスタム設定などにカスタムファクトを追加すると、以下のリンクから情報が提供される場合があります 。http://slashroot.in/puppet-tutorial-installing-puppet-master-and-puppet-agent

http://slashroot.in/puppet-tutorial-how-does-puppet-work


0

これは前回試したときから変わっているかもしれませんが、RHELでシェフを試していたとき、明確なインストール方法がありませんでした。誰かがすべてのパッケージが必要なyumリポジトリを作成しましたが、200個の奇妙なパッケージをインストールすることになりました。一方、Puppetには単一のrpm(およびいくつかの依存関係)があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.