web-dev-qa-db-ja.com

JujuとPuppet / Chefの違いは何ですか?

Juj とPuppet/Chefの主な違いについてサードパーティに尋ねてみました。第三者はJujuにあまり馴染みがなく、言うことができませんでした。彼らは、他の人は勢いがあり、彼らのリードを克服するのは難しいだろうと単に述べました。

Jujuに最も近い人々は、このソフトウェアの利点を強調し、構成管理の分野でPuppet/Chefを追い越すのはなぜでしょうか?

79
mark

マーク、これは素晴らしい質問であり、誰かがジュジュについて私に言ったときに私が尋ねた最初の質問でした。大きな違いをいくつかご紹介します。

  • Jujuはサービスをカプセル化します-チャームは、サービスが他のサービスとの間で構成データを公開または消費するために必要なすべての方法を定義します。チャームがそれを行う方法は、チャームのビジネスです。それを行うには、ShellスクリプトからソロモードのChefまでの任意のツールを使用できます。

  • Jujuはプロビジョニングを調整します-jujuは、使用可能なリソースを追跡し、必要に応じて追加または削除できます。現在、これらのリソースは、AWS EC2マシン、OpenStackクラウド(HPクラウドなど)、Microsoft Azure、Joyent、MAAS経由のベアメタルマシン、およびLXC/KVMローカルプロバイダーです。

  • Jujuは共有を簡単にします。誰でもチャームを Juju Charm Store ;に投稿できます。これらの魅力は審査され、ジュジュコミュニティによって査読されます。

以下は、ウェブ全体で行われた他の比較です。

47
SpamapS

(免責事項-私はPuppetの創設者であり、Puppet LabsのCEOです)

juj はよくわかりませんが、私が言えることから、彼らは幾分異なる層に座っています。 Puppetはマシン自体の動作と機能の管理に優れていますが、jujuは主にマシンのセットについて話すことに専念しており、Puppetやシェルスクリプトなどの外部ツールに対してマシンを特定の方法で動作させる方法を主にパントしています。

Puppetでの戦略は、最高のスタックをゼロから構築することですが、jujuはスタックの特定のレイヤーであり、他のレイヤーは他のツールに任せるようです。したがって、Puppetを使用して問題全体を解決することはできます(ただし、必要以上に少し手間がかかる場合もあります)が、jujuを他のツールと統合して多くの作業を行う必要があります。

実際、jujuは、グラフなどはありませんが、Amazonの CloudFormation のオンプレミスバージョンのようです。そのため、Puppetなどで使用できますが、それに代わるものではありません。

32
Luke Kanies

Jujuが他の自動化ツールとどのように適合するかについての別の見解を次に示します。

UbuntuおよびJujuの背後にあるCanonicalのクラウド戦略を担当しています。 JujuはPuppetやChefのライバルではありません。 JujuはPuppetまたはChefをインストールでき、Jujuのサービスのカプセル化であるチャーム内から、既存のPuppetモジュールまたはChefレシートを呼び出すことができます。

ジュジュとは? Jujuを使用すると、ITスタック/サービス/アプリケーションを即座に展開、統合、および拡張できます。苦労せずにすぐにITを獲得できます。コマンドラインまたはGUIを使用します。

したがって、Jujuは、クラウド(JujuはCanonicalのデフォルトのOpenStackインストーラーです)、その上にあるインフラストラクチャ(web/app/dbサーバー、Hadoop、MongoDBなど)を構築できるため、PaaSよりもDevopsツールに近くなりますが、注目すべきことに、Jujuを使用すると、アプリケーションをデプロイしてすぐに統合できます(WordpressとMySQLの追加関係により、MySQL内のWordpressテーブルとデータが自動的にセットアップされます)。

また、アプリサーバー(Java、php、node.js、scalaなど)はバージョン管理と連携できるため、アプリの自動展開とスケーリングが可能です。そのため、PaaSとは異なり、特定のソフトウェアスタックに制限されることはありませんが、すぐに展開、統合、およびスケーリングの利点を得ることができます。それは、制限されたりロックされたりすることなく、ソフトウェアサービスを即座に展開、統合、および拡張する柔軟なPaaSまたはFlexiPaaSと考えてください。

ソース -警告:ログインが必要です。

8
Jorge Castro

最も簡単に言えば、jujuはサービスディスカバリ、キーバリューストア、および構成管理をカプセル化します。 Puppet/chefなどは純粋な構成管理です。

Jujuはイベントベースであり、中央の「ブートストラップノード」を使用して、イベントの追跡とオーケストレーションを行います。 Puppetとchefはイベントベースで表示されるようにできますが、通常は関連するジョブをスケジュールに従って実行するだけです。

Afaik、分散状態またはエージェントレス状態でjujuを実行することはできません。これはほとんどの構成管理システムで可能です。

ほとんどの場合、パペットなどはドメイン固有の言語ですが、jujuはシステムであり、言語ではありません。

3
J0hnG4lt