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


80

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

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

回答:


48

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

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

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

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

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


1
Puppetは、リソースの説明、VMのプロビジョニング、およびモジュールの共有も扱います。Jujuがどのように異なる方法で、またはより良い方法で、または異なる問題を解決するかを説明できますか?
poolie

その回答の時点では、Puppet Cloudプロビジョニング担当者は知りませんでした。Puppetモジュールは、前回チェックしたときに名前が空いていなかったため、ユーザーがそれを使用するためにpuppetモジュールのコードを変更する必要がある共有の問題があります。
SpamapS

puppetには名前空間があります。私はPuppetをあまり使用していませんが、私の理解では、2つのモジュールが実際に同じ論理的なものを管理しようとしているときに問題が発生することがほとんどです。ジュジュにはそれを防ぐための体系的な方法がありますか?
プーリー

puppetの名前空間は、動作中のスタンドアロンpuppetモジュールの共有を容易にするために最近変更されました。過去には、2つのモジュール間で通信するためにグローバル変数に相当するものが必要でした。ジュジュは、インスタンスの構成を形や形で処理しません。オーケストレーションの促進役にすぎないため、1つのファイルで2つのチャームが戦うのを防ぐことはできません。
SpamapS 2013年

1
こんにちは@SpamapS、これはあなたの2番目のポイントに関するものです(別名Jujuはプロビジョニングを調整します)。パペットでは、「require」、「notify」などを使用して関係を定義できます。オーケストレーションのプロビジョニングにこの構造を単純に使用することはできませんか?または、Jujuは異なるレベルのオーケストレーションセマンティクスを提供しますか?
デニスウィーラシリ

33

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

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

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

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


6
ここでパンティングが正しい単語であるかどうかはわかりません。それは、パッケージをautotools / scons / setup.pyにビルドするパッケージを言うようなものです。パッケージがすべてのビルドのすべてのステップを実行しようとした場合、パッケージはありません!
SpamapS

9

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と考えてください。

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


3

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

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

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

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

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