Terraform é uma ferramenta de infraestrutura como código. Em vez de criar servidores clicando em um painel, você descreve o que precisa em arquivos de texto, e o Terraform cria tudo para você.

Como funciona

Você escreve a configuração em uma linguagem declarativa. Nela, diz o que quer ter no final, e não os passos para chegar lá. O Terraform compara o que você descreveu com o que existe de fato e calcula o que precisa mudar.

O uso comum tem três comandos:

Terminal
terraform init
terraform plan
terraform apply

O init prepara o projeto e baixa os provedores. O plan mostra o que será criado, alterado ou removido, sem executar nada. O apply executa a mudança.

O Terraform guarda um registro do que criou, chamado de estado. É por ele que sabe o que já existe na próxima execução.

Exemplo prático

Imagine que você precisa de um servidor para a sua aplicação. Em vez de criar na mão, você escreve um arquivo.

hcl · main.tf
resource "aws_instance" "app" {
  ami           = "ID_DA_IMAGEM"
  instance_type = "t3.micro"
}

Se amanhã precisar de um ambiente igual para testes, basta rodar a mesma configuração de novo. Se algo quebrar, você recria tudo a partir do arquivo.

Como o arquivo é texto, ele pode ficar no Git, passar por revisão em pull request e ter histórico de mudanças.

Para que serve

O Terraform serve para:

  • Criar ambientes iguais de desenvolvimento, teste e produção.
  • Evitar erros de configuração manual.
  • Trabalhar com vários provedores de nuvem, como AWS, Google Cloud e Azure, com a mesma abordagem.
  • Documentar a infraestrutura no próprio código.

Para quem usa agentes de IA para programar, o Terraform é útil porque o agente pode propor mudanças em arquivos, e você revisa o plano antes de aplicar.

Cuidados

O comando apply altera recursos reais e pode gerar custo. Leia sempre o resultado do plan antes de aplicar. Guarde o arquivo de estado em local seguro, pois ele pode conter informações sensíveis, e nunca coloque chaves de acesso direto no código.

Diferença entre Terraform e Kubernetes

Terraform cria a infraestrutura, como máquinas, redes e bancos. Kubernetes orquestra containers que rodam sobre essa infraestrutura. É comum usar os dois juntos: Terraform monta o terreno, e Kubernetes organiza as aplicações.