彼らは両方とも同じ問題を解決していますか?または、2つの異なる問題のセットに対応していますか?もしそうなら、私は放浪者を使用する方が良いですか?
クイックバージョン:
vagrantは、virtualboxインスタンスを操作するためのツールです。これは通常、開発中(Mac上)に使用され、最終的な実稼働環境(Linuxなど)に似た仮想マシンにアプリをテスト展開します。カスタマイズ可能な(Ruby)ハンドラースタックを使用して、このような仮想環境を自由に作成できます。 Vagrantは、仮想環境をプログラムで管理するための強力なツールであり、継続的な統合スタイルの開発手法のあらゆる種類の「ローカル」バリエーションを提供します。 MacでUbuntu VMを実行するために最もよく使用されますが、さまざまなプラットフォームで実行され、さまざまなターゲットオペレーティングシステムを展開します。 Afaik、それは、基礎となる「プロバイダー」としてvirtualboxでのみ動作します。
jujuは、さまざまな基盤プロバイダー(ec2クラウド、openstackクラウド、lxc VM、MaaSサーバー)を使用してサービスを調整するツールです。 「ローカル開発」のストーリー(virtualbox VMの代わりにlxcコンテナーを使用)をvagrantと共有していますが、実際にはそれだけが重複しています。実際、jujuがクラウドおよびlxcイメージを駆動するのと同じくらい簡単にローカル環境でvirtualboxコンテナーを駆動できるように、juju向けに書かれた浮浪者プロバイダーを見たいです。それはぴったりです!また、jujuは、その価値の多くを、すぐにすぐに使用できるチャーム/サービスのセットから得ていますが、vagrantは本質的に低レベルのローカルコンテナープロバイダーです。
実際、ユーザーがVM内からローカルプロバイダーをテストできるように、JujuにVagrantボックスを提供しています。
haveがあるため、同じスクリプトを使用してクラウドインスタンスや迷惑メールボックスにデプロイできるように、迷惑メールの周りにデプロイスクリプトを「統一」する努力が行われていることに注意してください。これらは、ほとんどが放浪者からの一時的な補助者であり、率直に言って、jujuのようなツールの必要性を強調しています。
「vagrantの周りの展開スクリプトを統一する」ことで、VagrantはPuppetとChefとの優れた統合を持ち、Vagrantボックスからローカルハードウェア、クラウドまで、環境全体の自動システム構成に使用できます。実際、多くの人がVagrantを使用してPuppet/Chefスクリプトをテストしてから実稼働で使用しています。
Vagrantで動作する自動化ツールのリストにJujuを追加するのは確かに素晴らしいことです。