Docker vs Vagrant – Será?

Quando comecei a ler sobre o Docker vi muitos artigos comparando ele com o Vagrant. Isso me deixou bastante confuso,...

Dextra

View posts by Dextra
Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes. A Dextra faz parte da Mutant, empresa B2B líder no mercado brasileiro e especialista em Customer Experience para plataformas digitais.
Data de publicação: 15/07/2014
testes exploratórios

Quando comecei a ler sobre o Docker vi muitos artigos comparando ele com o Vagrant. Isso me deixou bastante confuso, pois parecia que uma ferramenta estava concorrendo diretamente com a outra, com propósitos diferentes.
Ao me aprofundar tecnicamente no Docker constatei que são duas ferramentas distintas.
O Vagrant é o gerente “mandão”. Ele indica itens como:

  •  Local de inicialização do ambiente
    • VirtualBox, AWS, VMWARE, entre outros (alocação de recurso)
  • Ferramenta de automação que vai utilizar
    • Chef, puppet, shell, entre outros
  • Compartilhamento de pastas (local / remoto)
  • Versionamento da máquina virtual
  • Cache de instaladores

O Docker é o virtualizador de ambientes “sem a alocação prévia de recursos” de hardware da sua estação.

  •  Inicialização de ambiente
    • Docker
  • Ferramenta de automação
    • DockerFile (Shell script)
    • Já atuei executando receitas chef através do DockerFile
  • Versionamento da máquina Docker
  • Cache de instaladores embutido

Assim, o Docker no fim das conta lhe dá um novo SO dentro da seu Desktop só que sem a alocação prévia de recursos, como memória, CPU, disco que um VirtualBox ou VMWARE traria embutido. A alocação dos recursos da sua máquina ficaria por conta da inicialização de serviços que você executará na sua máquina Docker.
Ai vem algumas perguntas:
Mas se for assim, por que eu não executo os processos em minha própria máquina?
Imagine que você trabalhe em 6 projetos simultâneamente com uso de ferramentas distintas. Para isolar a sua máquina de problemas seria interessante você ter um ambiente virtualizado para cada um desses projetos. Caso você instale algo errado em sua estação, você poderia destruir o ambiente dos demais projetos tentando contemplar apenas um (perl, ruby, python) e teria um retrabalho gigantesco.
Mas para isso eu faço 6 máquinas virtuais no VirtualBox, não?
Sim. Porém, imagine que você alterne de projeto a todo momento. Teria que ligar uma VM/VBOX e desligar a outra para que os recursos do seu Desktop não fique alocado. Esse processo além de ser custoso é extremamente chato. No Docker basta você sair da máquina “Docker 1” e ir para a máquina “Docker 2” e iniciar os serviços.
Concluindo…
Na minha opinião, são ferramentas totalmente distintas. Atualmente, o Vagrant vem se adaptando para trabalhar com Docker e com este cenário teríamos um poder de automação muito grande utilizando as duas ferramentas.
 

Dextra

View posts by Dextra
Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes. A Dextra faz parte da Mutant, empresa B2B líder no mercado brasileiro e especialista em Customer Experience para plataformas digitais.

Comentários

  1. Luiz Alberto Cattani15 de setembro de 2014

    PARÁBENS PELO POST, MATOU MINHA DUVIDA.

    Responder
  2. muito bom o post!!25 de março de 2015

    Muito Bom o post!! Parabens!

    Responder
  3. Felipe kiko5 de janeiro de 2016

    Muito bom o artigo, tinha duvidas sobre a DIFERENÇA dos dois!

    Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

dezesseis + 5 =

Posts relacionados

  1. Sobre a Dextra

    Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes.

  2. Categorias

Scroll to top