O Terraform é uma ferramenta de infraestrutura como código (IaC) desenvolvida pela HashiCorp, que ganhou popularidade por sua capacidade de gerenciar infraestruturas de forma eficiente e escalável. Este guia visa desmistificar o Terraform para iniciantes, oferecendo uma visão abrangente e exemplos práticos.
Terraform é uma ferramenta de IaC que permite definir, provisionar e gerenciar diferentes tipos de recursos e infraestruturas, como os principais players de mercado no quesito nuvem pública (AWS, Azure, Google Cloud, etc) usando uma linguagem de configuração declarativa conhecida como HashiCorp Configuration Language (HCL).
O Terraform é escolhido por sua capacidade de gerenciar recursos como código de maneira eficiente e escalável, onde ele suporta múltiplos provedores de nuvem, permitindo uma gestão unificada e simplificada.
Com sintaxe declarativa, ele define o estado desejado da infraestrutura, automatizando a criação, atualização e destruição de recursos.
Além do mais, o Terraform promove consistência e colaboração, pois os arquivos de configuração podem ser versionados e revisados como código e, sua execução em planos permite visualizar mudanças antes da aplicação, minimizando riscos.
O Terraform é ideal para ambientes complexos e dinâmicos, onde ele ajuda com a otimização da gestão de infraestrutura, aumentando a produtividade e reduzindo erros humanos.
Para começar, é necessário instalar o Terraform em sua máquina local.
Se estiver usando Linux, você pode executar os seguintes comandos:
# Instala as bibliotecas básicas para o funcionamento do Terraform
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
# Adiciona a chave do repositório na máquina local
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
# Adicionando o repositório na lista de repositórios locais
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
# Faz a instalação do Terraform
sudo apt-get update && sudo apt-get install terraform
Também é possível instalar usando no MacOS, utilizando o Brew:
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
Assim como é possível baixar o binário do Terraform diretamente no site oficial através do link https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli (onde inclusive você pode baixar o instalador caso esteja usando Windows).
# No caso de Linux / MacOS você pode rodar os seguinte comandos:
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
export AWS_DEFAULT_REGION=""
# Comando para inicializar o Terraform
terraform init
Este comando é o responsável por baixar todos requisitos para que o provider escolhido funcione corretamente.
# Comando para verificar os recursos que serão criados
terraform plan
# Comando para criar os recursos informados
terraform apply
O comando plan é o responsável por mostrar todos os recursos que serão criados/alterados/destruídos pelo Terraform. Esse é um comando extremamente poderoso e que pode te ajudar a decidir se você continua ou não.
Agora que você conferiu o que será modificado, é hora de informarmos para o Terraform que ele pode ir adiante fazendo tais ações. Para isso, você executará:
Por fim, informaremos ao Terraform para deletar essa nossa recém máquina virtual. Para isso, o comando necessário é:
# Comando para criar os recursos informados
terraform destroy
À medida que o Terraform escala, é importante seguir umas boas práticas a fim de não se perder no seu gerenciamento! Alguns exemplos simples que podemos citar são:
Versionamento de Estado: Utilize um backend remoto para armazenar o estado, como o S3 da AWS, para facilitar o trabalho em equipe
A Mentoria Next Level DevOps é um programa de mentoria de 12 meses com encontros semanais ao vivo, com um grupo seleto e restrito, onde estaremos do seu lado para mantê-lo relevante e atualizado no mercado de tecnologia, aprendendo e implementando as melhores práticas e ferramentas de DevOps.
Clique aqui para entrar na prioridade pela melhor oferta de lançamento
Este guia introdutório ao Terraform abordou desde os conceitos básicos até um exemplo prático de como provisionar uma instância EC2 na AWS. Com a prática, você poderá explorar funcionalidades mais avançadas e se beneficiar da automação e eficiência que o Terraform proporciona.
Espero que este guia tenha sido útil para desmistificar o Terraform e ajudar você a dar os primeiros passos nessa poderosa ferramenta de IaC. Continue explorando e experimentando para aprofundar seu conhecimento!