Provisionar infraestrutura como código (IaC), utilizando a ferramenta Vagrant.
O Vagrant é uma ferramenta de automação da HashiCorp onde é possível desenvolver ambientes completos, utilizando um arquivo de configuração.
Esse arquivo utiliza a linguagem HCL (HashiCorp Configuration Language), que é baseada na linguagem Ruby.
Como sua estrutura base, para "subir" os ambientes de desenvolvimento, o Vagrant utiliza os Providers, Provisioning e as Vagrant Boxes:
- Providers são utilizados para fornecer os recursos de virtualização;
- Provisioning são responsáveis por executar algumas tarefas de forma automatizada;
- Vagrant Boxes são "caixas" onde contém os sistemas operacionais.
Em ambiente de produção é recomendável criar suas próprias boxes, ou utilizar boxes oficias (CentOS, Debian, Ubuntu).
O Vagrantfile é responsável por descrever toda infraestrutura, e subir o ambiente diretamente no Vagrant.
Toda a interação com o Vagrant é realizada através de sua interface de linha de comando (CLI).