Boa tarde,
Porque eu deveria utilizar vagrant ao invés de docker? O docker não torna mais rápido o processo de criação e destruição de ambientes? E docker não seria mais escalável? Qual seria a utilização de um e de outro?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa tarde,
Porque eu deveria utilizar vagrant ao invés de docker? O docker não torna mais rápido o processo de criação e destruição de ambientes? E docker não seria mais escalável? Qual seria a utilização de um e de outro?
Olá, João Carlos. Tudo bem?
Eu também já me fiz essa pergunta. Pelo que eu entendi desde que comecei a estudar, há necessidades que os dois podem suprir, mas cada um tem suas peculiaridades.
Se você quer a possibilidade de provisionar a maior quantidade de sistemas operacionais com uma única ferramenta, o Vagrant é a melhor solução. Ele tem suporte para virtualizar BSD e Windows, por exemplo, plataformas que o Docker não oferece.
Além disso, o Vagrant proporciona um maior nível de isolamento do ambiente, já que usa virtualização completa, mas o Docker só isola até certo nível. Então, a depender do seu modelo de ameaças, talvez o Docker não seja o ideal, já que ele depende mais da segurança do host.
Outro caso em que o Vagrant teria um melhor uso, seria para montar uma infraestrutura em nuvem como a AWS, Azure etc. Se você fosse criar um serviço desses, a virtualização proporciona mais possibilidades que Containers.
Mas, de fato, o Docker pode ser melhor para fazer deploy de aplicações de forma mais leve e escalável. É mais rápido de testar, de modificar e possui uma performance melhor também, já que tem um nível a menos de abstração por rodar "mais perto" do hardware.
Espero ter ajudado.
Ótima explicação, muito obrigado!