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:
terraform init
terraform plan
terraform applyO 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.
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.