Was ist der Unterschied zwischen Vagabund und Juju?

10

Lösen beide das gleiche Problem? Oder sind sie für zwei verschiedene Arten von Problemen? Wenn ja, wofür ist es besser, Vagabund zu verwenden, und für was ist es besser, Juju zu verwenden?

txwikinger
quelle

Antworten:

19

Schnellversion:

vagrant ist ein Tool zum Arbeiten mit Virtualbox-Instanzen. Dies wird normalerweise während der Entwicklung (auf einem Mac) verwendet, um Ihre App in virtuellen Maschinen zu testen und bereitzustellen, die eher Ihrer späteren Produktionsumgebung (dh Linux) ähneln. Es verfügt über einen anpassbaren (Ruby-) Stapel von Handlern, mit denen Sie eine solche virtuelle Umgebung nach Ihren Wünschen erstellen können. Vagrant ist ein leistungsstarkes Tool zur programmgesteuerten Verwaltung virtueller Umgebungen und bietet alle Arten von "lokalen" Variationen von Entwicklungstechniken im Stil einer kontinuierlichen Integration. Es wird am häufigsten zum Ausführen von Ubuntu-VMs auf einem Mac verwendet, läuft jedoch auf verschiedenen Plattformen und stellt verschiedene Zielbetriebssysteme bereit. Afaik, es funktioniert nur mit virtualbox als zugrunde liegendem "Provider".

juju ist ein Tool zum Orchestrieren von Diensten mit verschiedenen zugrunde liegenden Anbietern: ec2-Clouds, Openstack-Clouds, lxc-VMs und MaaS-Server. Es teilt eine "lokale Entwicklungs" -Geschichte (Verwendung von lxc-Containern anstelle von Virtualbox-VMs) mit Vagrant, aber das ist wirklich die einzige Überlappung. Tatsächlich würde ich gerne einen vagabundierenden Anbieter sehen, der für Juju geschrieben wurde, damit Juju Virtualbox-Container in einer lokalen Umgebung genauso einfach steuern kann wie Cloud- und LXC-Images. Das würde gut passen! Außerdem leitet Juju einen großen Teil seines Wertes aus den Charms / Services ab, die sofort einsatzbereit sind, während Vagrant im Wesentlichen ein lokaler Containeranbieter auf niedrigerer Ebene ist.

Tatsächlich stellen wir Juju eine Vagrant-Box zur Verfügung, damit Benutzer den lokalen Anbieter von einer VM aus testen können:

Beachten Sie, dass es werden Anstrengungen unternommen worden , um „Unify“ Bereitstellungsskripts um vagabundierende so dass die gleiche Skripte verwendet werden kann , um Cloud - Instanzen zu implementieren sowie vagabundierenden Boxen. Diese scheinen, abgesehen vom eigentlichen Vagabund, größtenteils einmalig zu sein und unterstreichen offen gesagt nur die Notwendigkeit eines Werkzeugs wie Juju.

m_3
quelle
1

Um "Bereitstellungsskripte um Vagrant herum zu vereinheitlichen", verfügt Vagrant über eine hervorragende Integration mit Puppet und Chef, mit denen die Systemkonfiguration in verschiedenen Umgebungen automatisiert werden kann, von Vagrant-Boxen über lokale Hardware bis hin zu Clouds. Tatsächlich verwenden viele Leute Vagrant, um ihre Puppet / Chef-Skripte zu testen, bevor sie in der Produktion verwendet werden.

Es wäre sicherlich schön, Juju zur Liste der Automatisierungstools hinzuzufügen, die mit Vagrant funktionieren.

Jeff
quelle