Software para ambientes de desenvolvimento virtuais portáteis
Vagrant é um software de código aberto para criar e manter ambientes de desenvolvimento virtuais portáteis,[5] utilizando VirtualBox, KVM, Hyper-V, Docker containers, VMware, e AWS. Ele tenta simplificar a gerência de configuração de software das virtualizações para aumentar a produtividade do desenvolvimento. Vagrant é escrito na linguagem Ruby, mas seu ecossistema suporta o desenvolvimento em algumas outras linguagens.
História
Vagrant começou como um projeto pessoal por Mitchell Hashimoto em janeiro de 2010. A primeira versão do Vagrant foi lançada em março de 2010. Em outubro de 2010, a Engine Yard declarou que patrocinariam o projeto Vagrant. A primeira versão estável, Vagrant 1.0, foi lançada em março de 2012, exatamente dois anos após a versão original ser lançada. Em novembro de 2012, Mitchell formou uma organização chamada HashiCorp para sustentar o desenvolvimento em tempo integral do Vagrant. O Vagrant permaneceu permissivamente licenciado como software livre. A HashiCorp agora trabalha na criação de edições comerciais e fornece suporte e treinamento profissional ao Vagrant.
Vagrant era originalmente vinculado ao VirtualBox, mas a versão 1.1 adicionou suporte a outros softwares de virtualização como VMware e KVM, e para ambiente de servidores como Amazon EC2.[6] O Vagrant é escrito em Ruby, mas pode ser utilizado em projetos escrito em outras linguagens de programação como PHP, Python, Java, C#, and JavaScript.[7][8] Desde a versão 1.6, o Vagrant suporta nativamente containers Docker, que em alguns casos, servem como substituto para um sistema operacional completamente virtualizado.[9]
Arquitetura
Vagrant utiliza "Provisionadores" e "Provedores" como blocos de construção para gerenciar os ambientes de desenvolvimento. Provisionadores são ferramentas que permitem usuário personalizarem a configuração dos ambientes virtuais. Chef e Puppet são dois dos provisionadores mais usados no ecossistema do vagrant (Ansible) tem sido utilizado desde 2014[10]). Os provedores são os serviços que o Vagrant utiliza para configurar e criar os ambientes virtuais. O suporte à virtualização do VirtualBox, Hyper-V, e Docker é fornecida pelo Vagrant, enquanto o suporte de VMware and AWS é através de plugins.
Vagrant age em cima do software de virtualização como um invólucro e ajuda o desenvolvedor interagir facilmente com os provedores. Ele automatiza a configuração dos ambientes virtuais utilizando Chef ou Puppet, e o usuário não necessita utilizar nenhum outro software de virtualização. Os requisitos de máquina e software são escritos em um arquivo chamado "Vagrantfile" para executar os passos necessários para criar a caixa pronta para desenvolvimento. "Box" é um formato ( .box) para os ambientes Vagrants que é copiado para outra máquina para replicar o mesmo ambiente.
Ver também
Referências
Ligações externas