Esta es una gran pregunta, así que la dividiré en tres secciones.
Vagabundo
Vagrant se utiliza para configurar una o más máquinas virtuales mediante:
- Importación de imágenes prefabricadas (llamadas "cajas")
- Establecer configuraciones específicas de VM (dirección IP, nombres de host, reenvío de puertos, memoria, etc.)
- Ejecución de software de aprovisionamiento como Puppet o Chef
Tenga en cuenta que no instala software ni configura la máquina después de cargar la VM y establecer la configuración de VirtualBox. Piense en ello como un motor de secuencias de comandos para VirtualBox.
Aquí hay algunas razones que he visto para usar Vagrant solo en VirtualBox.
1. Configure redes de varias máquinas virtuales con facilidad
La mayor parte del contenido de usuario avanzado de Vagrant que he leído ha sido sobre la configuración de varias máquinas virtuales al mismo tiempo. Vagrant le proporciona un único archivo de configuración para configurarlos, lo que le permite iniciarlos todos con un solo comando.
Supongamos que ha configurado tres máquinas virtuales para conectarse en red mediante IP estáticas en la subred 192.168.1. *. Te encuentras en una ubicación que ya está usando esa subred para entregar direcciones IP, y tus máquinas virtuales ahora entran en conflicto. Con Vagrant, simplemente puede editar el archivo Vagrant y volver a cargar las máquinas virtuales, mientras que con VirtualBox tendría que abrir la configuración de cada máquina virtual, si no arrancar cada máquina virtual y cambiarlas dentro.
2. Control de fuente
Al poner la configuración en un archivo de texto, permite que la configuración se ponga bajo control de origen. ¿Hizo algunos cambios la semana pasada y accidentalmente rompió la imagen? Simplemente revierta los cambios y vuelva a cargar la VM. Puede lograr esto con las instantáneas de VirtualBox, pero ocupará mucho más espacio que solo un Vagrantfile.
3. Diversas plataformas
Hay una gran cantidad de cajas disponibles en sitios como http://vagrantbox.es . Esto le permite probar varios sistemas operativos o distribuciones, aplicando el mismo aprovisionamiento para configurar entornos similares. Esto puede ayudar a probar o agregar soporte a las nuevas plataformas, y llevaría mucho tiempo usar solo VirtualBox.
Existen muchos argumentos para usar el software de aprovisionamiento, así como también para usar instantáneas de imágenes. Para una discusión adicional, le señalaré el excelente artículo de Stephen Nelson-Smith Cómo construir 100 servidores web en un día .