Ansibleと比較したPuppetの制限は何ですか?


16

PuppetとAnsibleの違い、特にAnsibleと比較してどのようなPuppetの制限があるのか​​を理解したいと思います。

Puppetでできないことはありますが、Ansibleではできますか?言い換えれば、なぜ一部の人々がPuppetからAnsibleに移行するのでしょうか?


私は答えをこれとは別に分けました。理由の1つは、redhatがそれに投資しているすべてのお金かもしれません。
ᴳᵁᴵᴰᴼ

回答:


19

もちろん、Puppet、Ansible、Chefにはそれぞれ長所と短所があり、ここにもお気に入りのツール追加します。だから、私は意見から離れて、事実としてAnsibleで素晴らしいことを共有しようとします。

Ansibleを他のものよりも優れたものにする主な機能は、ターゲットノードで実行されているカスタム/追加エージェントに依存する必要がなく、代わりにssh接続のみに基づいていることです。はい、まだsshサーバー、Python、およびノー​​ド上のPythonライブラリが必要です。選択したディストリビューション(または幸運なことに、いくつかのWindowsノードがあります)が同梱されていない場合は、少しなりますブートストラップに苦痛。しかし、それはありそうにないことであり、あなたのディストリビューションについてもう一度考えさせるかもしれません。

これにより、監視が簡単になり、追加のリソースを消費したり、システムがデーモンを常にルートとして実行するように強制したりせず、一般的にUNIX哲学の内部で気分が良くなります。Chefにはchef-solo、Puppetをマスターレスで実行できますが、クローンとフックを介してそれぞれ「反対方向」に動作します。Ansibleでは、ソースリポジトリのマージにより、ジェンキンス、gitマスター、またはたとえばRundeckのような他のツールであっても、私たち全員が慣れている方法で展開をトリガーできます。


ansibleでsshの設定を台無しにしてしまった場合、マシンからロックアウトされることに注意してください。これはプッシュモデルの欠点です。Puppetまたはchefはcrontabジョブで動作できるため、無許可のPythonコードよりもシステムに影響を与えることはありません
Tensibai

1
エージェントに関する注意:私は、HSE(高セキュリティ環境)でAnsibleをオンボードすることを、ChefとPuppetを拒否したセキュリティチームによって承認されました。場合によっては、エージェントレスが勝利要因です。
ウッドランドハンター

2
SSHの設定を破ると、いずれにしてもAnsibleを超える問題が発生します。さまざまな環境でSSHの変更などを実稼働前にテストすることは、DevOpsの優れた実践です。また、SSH構成が記述の一部として正しいことを検証することも可能templateです。Ansible モジュールを使用すると、非常に簡単になります。
-RichVel

Ansibleのエージェントレスアーキテクチャは、たとえばPuppetエージェントをインストールできないルーターなどの管理に適しているという意見を聞いたことがあります。しかし、そのようなデバイスにはPythonインタープリターが付属していますか?おそらくそうではないので、Ansibleが管理するすべてのコンポーネントでPythonは本当に強い要件ですか?
Drux

9

いいえ、PuppetからAnsible(またはその逆)に移行する人々は、どちらのツールでも達成できることと達成できないこととは何の関係もありません。Puppet / Chef / Ansible-それは主に好みの問題です。

たとえば、AnsibleはPythonに基づいており、Python開発者は通常、それ(DSLを学習する必要はありません)、またはRuby(Chefの場合)に慣れています。Python開発者がAnsibleを拡張するのも簡単です。

しかし、本質的には、あなたが達成できることに関して、それらはすべて非常に似ています。一部の分野には相対的な長所があり、他の分野には短所がありますが、通常、それらの選択はチームのスタイル/文化/好みによって行われます。


7

Puppet 4.0までは、設計上の選択であったPuppetでアクションを具体的に注文するのが困難であったため、複数のサーバーまたはサービスにまたがるアプリケーション調整する簡単な方法はありませんでした。Ansibleは、特に複数のサーバーにまたがるステップのオーケストレーションと順序付けが優れていました。これは、ステップの順序が間違っていると、最終的に一貫性が得られるまでそれらのステップを繰り返すことで回復不能なエラーが発生する可能性があるアプリケーションで特に重要でした。

それはもはや問題ではないので、区別は主に好みに基づいています。


2
人形のデザインの選択がChefが始まった理由の1つであり、数年前に私たちのインフラストラクチャとCDシステムのためにChefに移った主なものでした。
テンシバイ

2
PuppetオーケストレーションはPuppet Enterprise(商用)機能のみですが、Ansibleのオーケストレーションはオープンソースバージョンです。一般に、AnsibleはPuppetよりもインストールと学習がはるかに簡単です-両方の評価を行ったので、現在Ansibleを使用しています。他にも違いがありますので、個人的な好みの問題ではありません。
-RichVel

1
私は以前の仕事と現在の仕事の両方でAnsibleを使用していますが、独自の問題があります。Ansibleを使用すればするほど、別の選択肢を学ぶことに興味があります。モジュールの開発にPythonを使用せず、アクティブで重要なオープンソースコミュニティを持つために、この代替手段を希望します。Ansibleのプルリクエストは、レビューされるまで1年近くかかります。このレートでは、プロプライエタリである可能性もあります。
ジリクルダ

1
多くの人がパペットエージェントに不満を言っていますが、クラウド上でグループの自動スケーリングを行い、vmのイメージを再構築したくない場合、vmがパペットマスターに接続することは問題ありません。小さなエージェントがいます。
c4f4t0r
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.