Criar ambientes virtuais é uma tarefa bastante comum em ambientes de programação e administração de redes. Todavia, conforme a evolução tecnológica, o processo requer uso de soluções que entreguem eficiência e agilidade. O Vagrant, por sua vez, representa tudo isso.
Mais precisamente, o Vagrant é uma solução de virtualização usada para montagem de ambientes virtuais para diversas finalidades, como testes e provisionamento. A validação das funcionalidades de um projeto é um dos ricos benefícios que fazem parte da ferramenta.
O grande diferencial do Vagrant é a sua integração com outras soluções do mercado em virtualização (como o VirtualBox), provisionamento e provimento de computação em nuvem. Portanto, estamos falando de um software que nos permite criar ambientes completos e configuráveis.
Quer saber mais informações sobre essa incrível ferramenta? Ao continuar a leitura do artigo, você conhecerá as principais funcionalidades do Vagrant, as diferenças em relação ao Docker e, claro, o seu processo de instalação e configuração.
Principais componentes do Vagrant
O Vagrant é constituído de uma série de funcionalidades que facilitam o gerenciamento de máquinas virtuais. Vejamos, abaixo, três dos mais relevantes recursos existentes na ferramenta.
Provider
O provider (provedor) é o componente cuja função é de auxiliar na construção de um ambiente. Isto é, se o usuário deseja instalar uma máquina virtual que execute o Debian, por exemplo, o provedor será utilizado para cumprir com o objetivo.
Provisioner
Por sua vez, o provisioner (provisionador) automatiza o processo de configuração do ambiente. Supondo que o usuário planeje criar um ambiente de desenvolvimento por meio do Vagrant, o provisionador será acionado para configurar o sistema operacional e instalar pacotes.
Box
Quando falamos em box (caixa) no Vagrant, referimo-nos a arquivos que contêm um sistema operacional acompanhado de pacotes básicos pré-instalados.
No próprio site do Vagrant há uma seção para download de boxes construídas e disponibilizadas por usuários voluntariamente.
Em suma, tais elementos são a base para o funcionamento do Vagrant. Note que a junção deles permite a criação de ambientes virtuais, customizados e de rápida implementação.
Diferenças entre Vagrant e Docker
Vagrant vs Docker: o que significa essa “batalha”? Dadas as diferenças entre as funções de cada solução não há sentido em tratá-las como rivais, mas apropriadas para diferentes contextos.
Primeiramente, temos de entender que o Docker serve para gerenciamento de contêineres que permite a replicação de aplicações / ambientes a outros hosts com o Docker instalado.
Como o Vagrant tem como foco o fornecimento de ambientes de desenvolvimento por meio de múltiplos sistemas operacionais, a consistência é a sua maior vantagem. Já o Docker, embora seja amplamente utilizado, não oferece suporte no mesmo nível.
No entanto, o Docker é muito vantajoso devido à leveza em comparação às máquinas virtuais, ou seja, carregar um container é consideravelmente mais rápido.
Quando a velocidade é mais conveniente e importante do que a alta compatibilidade e consistência, o ideal é optar pelo Docker. Do contrário, o Vagrant é a solução adequada.
Instalação do Vagrant no Linux
Interessou-se em experimentar o Vagrant usando a sua distro Linux? Ótimo! Ao longo deste tópico, você perceberá que o processo é simples e rápida. A distribuição utilizada para este passo a passo é o Ubuntu.
Vamos começar?
Primeiramente, assegure que esteja logado com usuário que tenha privilégios sudo. Caso ainda não tenha instalado os pacotes do VirtualBox, use a linha de comando:
sudo apt-get install virtualbox
Agora que o ambiente está preparado para receber o Vagrant, use o comando apt-get novamente:
sudo apt-get install vagrant
Para se certificar de que instalou a versão mais recente do programa, basta digitar vagrant e o terminal retornará as informações detalhadamente.
Foi fácil, não é mesmo? Mas o que fazer após a instalação do Vagrant em seu Ubuntu? Dando prosseguimento à criação de ambientes, ensinarei, brevemente, como fazer a configuração.
Primeiros passos com o Vagrant
Inicie criando um diretório para armazenar o seu projeto e, na pasta recém-criada, mantenha o arquivo vagrantfile. Portanto, digite no terminal:
mkdir ~/projeto-vagrant cd ~/projeto-vagrant vagrant init centos/7
Repare que usamos o comando vagrant init seguido de centos/7. O comando serve para iniciar um novo vagrantfile, enquanto o segundo usamos para especificar uma box.
Conforme vimos, você pode optar por várias box disponíveis no catálogo do Vagrant.
Se você seguiu à risca o processo até aqui, o Vagrant retornará a mensagem:
“A `Vagrantfile` has been placed in this directory. You are nowready to `vagrant up` your first virtual environment! Please readthe comments in the Vagrantfile as well as documentation on`vagrantup.com` for more information on using Vagrant.”
Na próxima etapa, utilize o comando vagrant up. Este comando criará e configurará a máquina virtual conforme as especificações do vagrantfile.
A mensagem output fornecerá alguns detalhes do ambiente, como endereço e username protocolados em SSH, bem como o diretório em que o arquivo foi salvo.
Comandos básicos do Vagrant
O seu ambiente virtual do Vagrant acabou de ser configurado, certo? Mas, é preciso aprender os comandos básicos para conseguir manipulá-lo. Vejamos os principais deles, abaixo.
vagrant up
O comando soa familiar? Nós o aplicamos no tópico anterior para dar continuidade às configurações do ambiente. Normalmente, ele também é utilizado para iniciar a máquina virtual.
vagrant ssh
É o comando de login na máquina virtual sem autenticação.
vagrant reload
Como o próprio nome sugere, este comando reinicia a máquina virtual.
vagrant halt
Serve para desligar a máquina virtual e, assim, seja iniciada normalmente no próximo boot.
vagrant suspend
Utiliza-se o vagrant suspend para salvar o estado da máquina virtual em vez de desligá-la.
vagrant resume
Quando o vagrant suspend é acionado, use o vagrant resume para religar o ambiente no estado em que foi salvo.
vagrant destroy
Este comando remove a máquina virtual do Vagrant. Utilize-o somente quando quiser eliminar um projeto definitivamente.
vagrant provision
Faz a execução restrita do provisioner, ou seja, o ambiente não é reiniciado. Em outras palavras, ele atualiza as configurações do sistema de maneira agilizada.
Anotou todos os comandos elencados no tópico? Então aproveite para testá-los e comente se tudo ocorreu conforme as expectativas.
No presente artigo, você conferiu uma introdução do Vagrant; do conceito aos processos de instalação e configuração. O que fazer com o conhecimento adquirido? Use-o como pontapé inicial para se aprofundar no tema e, assim, tornar-se um profissional mais completo.
Tem dúvidas sobre como percorrer o caminho para se desenvolver como administrador de sistemas? Recomendo que acesse a página do Profissionais Linux para receber as dicas que tanto procura. Confira!