Résolvent-ils tous les deux le même problème? Ou sont-ils pour deux ensembles de problèmes différents? Si c'est le cas pour quoi je préfère utiliser vagabond, et pour quoi mieux utiliser juju?
la source
Résolvent-ils tous les deux le même problème? Ou sont-ils pour deux ensembles de problèmes différents? Si c'est le cas pour quoi je préfère utiliser vagabond, et pour quoi mieux utiliser juju?
version rapide:
vagrant est un outil pour travailler avec des instances de virtualbox. Cela est généralement utilisé pendant le développement (sur un Mac) pour tester-déployer votre application sur des machines virtuelles qui ressemblent davantage à votre environnement de production éventuel (c'est-à-dire Linux). Il dispose d'une pile de gestionnaires (rubis) personnalisable pour créer un tel environnement virtuel comme vous le souhaitez. Vagrant est un outil puissant pour gérer par programmation des environnements virtuels et fournit toutes sortes de variations "locales" des techniques de développement de style d'intégration continue. Il est le plus souvent utilisé pour exécuter des machines virtuelles Ubuntu sur un Mac, mais s'exécutera sur diverses plates-formes et déploiera divers systèmes d'exploitation cibles. Afaik, cela ne fonctionne qu'avec virtualbox en tant que "fournisseur" sous-jacent.
juju est un outil pour orchestrer les services à l'aide de différents fournisseurs sous-jacents différents: les nuages ec2, les nuages openstack, les machines virtuelles lxc et les serveurs MaaS. Il partage une histoire de "développement local" (en utilisant des conteneurs lxc au lieu de machines virtuelles virtualbox) avec vagrant, mais c'est vraiment le seul chevauchement. En fait, j'aimerais voir un fournisseur vagabond écrit pour juju afin que juju puisse conduire des conteneurs virtualbox sur un environnement local avec la même facilité qu'il gère des images cloud et lxc. Ce serait parfait! En outre, juju tire vraiment beaucoup de sa valeur de l'ensemble des charmes / services qui peuvent être créés directement, alors que vagabond est essentiellement un fournisseur de conteneurs local de niveau inférieur.
En fait, nous fournissons une boîte Vagrant avec Juju afin que les utilisateurs puissent tester le fournisseur local à partir d'une machine virtuelle:
Notez que des efforts ont été faits pour «unifier» les scripts de déploiement autour de vagrant afin que les mêmes scripts puissent être utilisés pour déployer sur des instances cloud ainsi que sur des boîtes vagabondes. Ceux-ci semblent être pour la plupart exceptionnels du vagabond proprement dit, et soulignent franchement la nécessité d'un outil comme le juju.
Re "unifiant les scripts de déploiement autour de vagrant", Vagrant a une excellente intégration avec Puppet et Chef, qui peut être utilisé pour automatiser la configuration du système à travers les environnements, des boîtiers Vagrant au matériel local en passant par les clouds. En fait, beaucoup de gens utilisent Vagrant pour tester leurs scripts Puppet / Chef avant de les utiliser en production.
Il serait certainement intéressant d'ajouter Juju à la liste des outils d'automatisation qui fonctionnent avec Vagrant.