Esta é uma grande questão, então vou dividi-la em duas seções.
Vagabundo
O Vagrant é usado para configurar uma ou mais máquinas virtuais:
- Importando imagens pré-criadas (chamadas "caixas")
- Definindo configurações específicas da VM (endereço IP, nomes de host, encaminhamento de porta, memória, etc.)
- Execução de software de provisionamento, como Puppet ou Chef
Observe que ele não instala o software nem configura a máquina após o carregamento da VM e a configuração do VirtualBox. Pense nisso como um mecanismo de script para o VirtualBox.
Aqui estão algumas razões que eu vi para usar o Vagrant apenas no VirtualBox.
1. Configurar redes multi-VM com facilidade
A maior parte do conteúdo do usuário avançado do Vagrant que eu li foi sobre a configuração de várias VMs ao mesmo tempo. O Vagrant oferece um único arquivo de configuração para configurá-los, permitindo que você inicie todos eles com um único comando.
Digamos que você tenha configurado três VMs para a rede umas com as outras usando IPs estáticos na sub-rede 192.168.1. *. Você se encontra em um local que já está usando essa sub-rede para distribuir endereços IP e suas VMs agora estão em conflito. Com o Vagrant, você pode simplesmente editar o Vagrantfile e recarregar as VMs, enquanto que com o VirtualBox você teria que abrir as configurações para cada VM, se não inicializar cada VM e alterá-las para dentro.
2. Controle de Origem
Ao colocar as configurações em um arquivo de texto, ele permite que a configuração seja colocada sob o controle de origem. Fez algumas mudanças na semana passada e acidentalmente quebrou a imagem? Apenas reverta as alterações e recarregue a VM. Você pode fazer isso com instantâneos do VirtualBox, mas vai ocupar muito mais espaço do que apenas um Vagrantfile.
3. Várias plataformas
Há um grande número de caixas disponíveis em sites como o link . Isso permite que você experimente vários sistemas operacionais ou distribuições, aplicando o mesmo provisionamento para configurar ambientes semelhantes. Isso pode ajudar a testar ou adicionar suporte a novas plataformas e consumir muito tempo usando apenas o VirtualBox.
Existem muitos argumentos para usar o software de provisionamento, bem como o uso de instantâneos de imagem. Para uma discussão adicional, vou lhe indicar o excelente artigo de Stephen Nelson-Smith Como construir 100 servidores web em um dia .