Vagrant (software)

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.

Vagrant
Captura de tela
Vagrant (software)
Vagrant iniciando uma máquina virtual usando vagrant up
Autor Mitchell Hashimoto[1]
Desenvolvedor HashiCorp (Mitchell Hashimoto and John Bender)
Lançamento 8 de março de 2010 (14 anos)[2]
Versão estável 2.4.0 (16 outubro 2023; 205 dias[3])
Escrito em Ruby
Sistema operativo Debian, CentOS, Arch Linux, Linux, FreeBSD, macOS, and Microsoft Windows
Gênero(s) Gerenciamento de configuração
Licença MIT License[4]
Estado do desenvolvimento Ativo
Página oficial www.vagrantup.com

História editar

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 editar

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 editar

Referências

  1. Marvin, Rob (26 de fevereiro de 2015). «Mitchell Hashimoto is automating the world». Software Development Times. Software Development Times. Consultado em 27 de junho de 2016 
  2. «mitchellh/vagrant: Release v0.1.0». GitHub. Consultado em 6 de setembro de 2015 
  3. «Releases · v2.4.0». Consultado em 18 de outubro de 2023 
  4. Vagrant's LICENSE
  5. «Introducing Vagrant | Linux Journal». www.linuxjournal.com. Consultado em 14 de setembro de 2016 
  6. Mitchell Hashimoto (2013). Vagrant: Up and Running (PDF). [S.l.]: O'Reilly Media. p. 13. ISBN 978-1449335830 
  7. «Vagrant: EC2-Like Virtual Machine Building and Provisioning from Ruby». Consultado em 14 de maio de 2012 
  8. «Vagrant - Getting Started - Project Setup». Consultado em Jan 19, 2016 
  9. Mitchell Hashimoto (6 de maio de 2014). «Vagrant 1.6». Consultado em 14 de junho de 2014 
  10. Brett, Adam (23 de setembro de 2014). «Vagrant & Ansible Quickstart Tutorial». adamcod.es. Consultado em 6 de agosto de 2017 

Ligações externas editar