C'est une grande question et je vais donc la diviser en trois parties.
Vagabond
Vagrant est utilisé pour configurer une ou plusieurs machines virtuelles en:
- Importation d'images prédéfinies (appelées "boîtes")
- Définition de paramètres spécifiques à la machine virtuelle (adresse IP, noms d’hôte, redirection de port, mémoire, etc.)
- Exécution de logiciels de provisioning comme Puppet ou Chef
Notez qu’il n’installe pas de logiciel et n’installe pas la machine après le chargement de la VM et la définition des paramètres de VirtualBox. Considérez-le comme un moteur de script pour VirtualBox.
Voici quelques raisons pour lesquelles j'ai vu l'utilisation de Vagrant sur VirtualBox uniquement.
1. Configurer des réseaux multi-VM avec facilité
La plupart du contenu utilisateur avancé de Vagrant que j'ai lu concerne la configuration simultanée de plusieurs ordinateurs virtuels. Vagrant vous donne un seul fichier de configuration pour les configurer, vous permettant de tous les lancer avec une seule commande.
Supposons que vous avez configuré trois ordinateurs virtuels pour qu'ils se connectent en utilisant des adresses IP statiques sur le sous-réseau 192.168.1. *. Vous vous trouvez dans un emplacement qui utilise déjà ce sous-réseau pour distribuer des adresses IP, et vos ordinateurs virtuels sont maintenant en conflit. Avec Vagrant, vous pouvez simplement éditer le fichier Vagrant et recharger les ordinateurs virtuels, tandis qu'avec VirtualBox, vous devez ouvrir les paramètres de chaque ordinateur virtuel, sinon démarrer chaque ordinateur virtuel et les modifier à l'intérieur.
2. Contrôle de la source
En mettant les paramètres dans un fichier texte, cela permet de placer la configuration sous contrôle de source. Vous avez apporté des modifications la semaine dernière et brisé accidentellement l'image? Il suffit d’annuler les modifications et de recharger la machine virtuelle. Vous pouvez accomplir cela avec des instantanés VirtualBox, mais cela prendra beaucoup plus d'espace qu'un fichier Vagrantfile.
3. Diverses plates-formes
Un grand nombre de cases sont disponibles sur des sites tels que http://vagrantbox.es . Cela vous permet d'essayer divers systèmes d'exploitation ou distributions, en appliquant le même provisionnement pour configurer des environnements similaires. Cela peut aider à tester ou à ajouter de la prise en charge de nouvelles plates-formes et ne prendrait que du temps à utiliser uniquement VirtualBox.
Il existe de nombreux arguments pour utiliser un logiciel de provisioning, ainsi que pour utiliser des instantanés d'image. Pour plus de discussion, je vous renvoie à l'excellent article de Stephen Nelson-Smith intitulé Comment construire 100 serveurs Web en un jour .