回答:
マーク、これは素晴らしい質問であり、誰かがジュジュについて私に言ったときに私が尋ねた最初の質問でした。大きな違いをいくつかご紹介します。
Jujuはサービスをカプセル化します-チャームは、サービスが他のサービスとの間で構成データを公開または消費するために必要なすべての方法を定義します。チャームがそれを行う方法は、チャームのビジネスです。シェルスクリプトからソロモードのChefまでの任意のツールを使用できます。
Jujuはプロビジョニングを調整します-jujuは、使用可能なリソースを追跡し、必要に応じてリソースを追加または削除できます。現在、これらのリソースは、AWS EC2マシン、OpenStackクラウド(HPクラウドなど)、Microsoft Azure、Joyent、MAAS経由のベアメタルマシン、およびLXC / KVMローカルプロバイダーです。
Jujuは共有を簡単にします。誰でもJuju Charm Storeにチャームを投稿できます。これらの魅力は審査され、ジュジュコミュニティによって査読されます。
以下は、ウェブ全体で行われた他の比較です。
(免責事項-私はPuppetの創設者であり、Puppet LabsのCEOです)
ジュジュのことはよくわからないが、私が言えることから、彼らは幾分異なる層に座っている。Puppetはマシン自体の動作と機能の管理に優れていますが、jujuは主にマシンのセットについて話すことに専念しており、Puppetやシェルスクリプトなどの外部ツールに対してマシンを特定の方法で動作させる方法を主にパントしています。
Puppetでの戦略は、最高のスタックをゼロから構築することですが、jujuはスタックの特定のレイヤーであり、他のレイヤーは他のツールに任せるようです。したがって、Puppetで問題全体を解決することはできます(ただし、場合によっては多少の手間がかかります)が、jujuを他のツールと統合して多くのことを行う必要があります。
実際、jujuは、グラフなどはありませんが、Amazon のCloudFormationのオンプレミスバージョンのようです。そのため、Puppetなどで使用できますが、それに代わるものではありません。
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と考えてください。
ソース -警告:ログインが必要です。
最も簡単に言えば、jujuはサービスディスカバリ、キーバリューストア、および構成管理をカプセル化します。Puppet / chefなどは純粋な構成管理です。
Jujuはイベントベースであり、中央の「ブートストラップノード」を使用して、イベントの追跡とオーケストレーションを行います。Puppetとchefはイベントベースで表示されるようにできますが、通常はスケジュールに従って関連ジョブを実行するだけです。
Afaik、jujuを分散状態またはエージェントレス状態で実行することはできません。これはほとんどの構成管理システムで可能です。
ほとんどの場合、パペットなどはドメイン固有の言語ですが、jujuはシステムであり、言語ではありません。