Quando você estuda algo prático, você monta laboratórios? E como você monta esses laboratórios de estudos usando máquina virtuais, por aí? É importante entender que você se torna menos produtivo(a) se usa recursos tradicionais para subir uma VM: arquivo ISO, instalação e configurações manuais tradicionais, por exemplo.
Pois, todo esse processo é somente para ter o mínimo para deixar seu laboratório funcional. Imagina 3 ou 5 vezes o mesmo processo.
Se você pretende ganhar tempo e padronizar seu trabalho, conheça a Vagrant
Olá, Vagrant
Vagrant é uma ferramenta open source de automação escrita em Ruby e mantida pela HashiCorp, a mesma empresa responsável por outras ferramentas como o Terraform, Vault e o Nomad – tão usadas na infraestrutura atual.
Com ela, através de um script, é possível criar uma infraestrutura virtualizada e até mesmo configurar suas máquinas, garantindo assim que todos os que executarem o script em suas máquinas tenham o mesmo ambiente.
Basicamente, toda máquina criada pela Vagrant é baseada em uma Vagrantbox, uma imagem base pronta com alguns pacotes necessários para seu funcionamento juntamente como Vagrant.
Para criar as máquinas, um script chamado Vagrantfile, escrito em Ruby, permite descrever todos os aspectos de uma máquina virtual:
- hostname,
- ip
- cpu
- memória
- disco
- sistema operacional
- quantidades de máquinas que serão criadas
- scripts que devem ser executados para o provisionamento
+ entre outros aspectos
Para padronizar seu trabalho, imagine que para cada ambiente de teste que criar, precisará instalar o sistema operacional na máquina, formatar o disco, definir usuários, chaves de acesso e instalar os pacotes necessários para seja lá o que quiser rodar.
Talvez, clonar fosse a solução mais óbvia
Entretanto, com a Vagrant a replicação do seu ambiente de estudos é definido com o mínimo de interferência. Tudo está centrado em código a partir de uma única fonte de execução.
Aprenda Vagrant hoje!!
Tenho uma ULTRA Aula que ensino justamente sobre a Vagrant num cenário simples, didático e prático.
Durante a aula, você vai ter acesso aos seguintes tópicos:
- Introdução
- Visão geral arquitetura vagrant
- Arquivo vagrantfile
- Máquina virtual Ubuntu no provider Virtualbox
- Provisionamento de recursos via shell script
- Máquina virtual Ubuntu no provider QEMU/kvm
- Container Docker com Vagrant
- Provisionamento de recursos via Docker
- Múltiplas máquinas virtuais no modo Multi machine
Contudo, antes de assistir a aula, é bom saber:
- Administração Linux
- Fundamentos de Redes de computadores
- Fundamentos de Docker
Assim, ao final dessa aula, você será capaz de:
- Entender arquitetura do Vagrant
- Criar e manipular arquivo Vagrantfile
- Instanciar recurso virtualizado usando Virtualbox, KVM e Docker
- Provisionar configurações por meio de script shell e container docker
- Fazer deploy de ambiente multi machine
Por fim, com o que for aprendido, você poderá instanciar e provisionar recursos em ambientes virtualizados para desenvolvimento local ou pequenos contextos em produção. É um grande atrativo para lidar com a declaração de código na infraestrutura