Terraform vs CloudFormation: qual IaC usar na cloud
Terraform e CloudFormation resolvem o mesmo problema de formas diferentes. Eu testei os dois em projetos reais e comparo por critérios que importam no uso diário: preço, curva de aprendizado, gerenciamento de estado e risco de lock-in.
Terraform e CloudFormation resolvem o mesmo problema de formas diferentes. Eu testei os dois em projetos reais e comparo por critérios que importam no uso diário: preço, curva de aprendizado, gerenciamento de estado e risco de lock-in.
Se você administra infraestrutura na AWS, a escolha entre Terraform e CloudFormation não é só de gosto. Cada ferramenta cobra um preço diferente em aprendizado, manutenção e flexibilidade. Eu usei as duas em projetos reais e comparo por critérios que decidem o dia a dia, não por especificação de marketing.
Preço: nenhuma cobra licença, mas o custo real é outro
As duas ferramentas são gratuitas. CloudFormation é um serviço nativo da AWS; Terraform é open source, com versão comercial opcional. O custo real aparece na operação: CloudFormation exige menos trabalho de manutenção de estado, enquanto Terraform cobra disciplina da equipe para não corromper o estado remoto.
Facilidade de uso: CloudFormation para quem quer simplicidade, Terraform para quem quer controle
CloudFormation usa YAML ou JSON e gerencia o estado da stack sozinho. Você cria, atualiza e remove recursos sem se preocupar com arquivos de estado. Terraform usa HCL, uma linguagem própria, e exige configurar um backend remoto (S3, por exemplo) para o estado. Para um time pequeno sem experiência em IaC, CloudFormation tem curva mais curta. Para quem já conhece HCL ou precisa de lógica condicional e loops, Terraform é mais expressivo.
Multi-cloud: Terraform vence quando a AWS não é o único destino
CloudFormation funciona apenas na AWS. Terraform tem provedores para AWS, Azure, GCP e serviços de terceiros. Se a sua empresa opera em mais de uma nuvem, Terraform evita reescrever a infraestrutura do zero. Se você está 100% na AWS e não planeja sair, CloudFormation elimina a complexidade de gerenciar um provedor externo.
Gerenciamento de estado: o ponto que mais gera erro na prática
CloudFormation mantém o estado da stack no próprio serviço. Rollback de falha é automático e consistente. Terraform guarda o estado em arquivo, que precisa ser versionado e travado para evitar conflitos. Em um projeto com dois desenvolvedores, eu perdi uma manhã com um lock de estado expirado. CloudFormation não me deu esse problema. Por outro lado, o estado do Terraform permite planejar mudanças com terraform plan, algo que no CloudFormation exige change sets, que são menos intuitivos.
Durabilidade e ecossistema: Amazon atualiza primeiro, comunidade expande depois
CloudFormation recebe suporte a novos serviços AWS no lançamento. Terraform depende do time da HashiCorp e da comunidade para atualizar provedores. Em recursos muito novos, CloudFormation sai na frente. Em recursos maduros, Terraform costuma ter módulos prontos e documentação extensa. Para quem usa serviços AWS de ponta, a espera do Terraform pode incomodar.
Veredito: a escolha depende do seu horizonte
Para quem opera exclusivamente na AWS, quer simplicidade e menos risco operacional, CloudFormation é a escolha certa. Para quem precisa de multi-cloud, prefere uma linguagem mais flexível ou já investiu em HCL, Terraform entrega mais controle. A especificação impressiona, o uso decide: teste as duas em um projeto pequeno antes de padronizar.
FAQ
Terraform é mais barato que CloudFormation?
As duas ferramentas são gratuitas. O custo está na manutenção: CloudFormation reduz trabalho de estado, enquanto Terraform exige configurar backend remoto e políticas de lock. Terraform Enterprise tem custo comercial, mas a versão open source cobre a maioria dos casos.
CloudFormation funciona fora da AWS?
Não. CloudFormation é um serviço exclusivo da AWS. Para gerenciar recursos em outras nuvens, você precisa de Terraform ou outra ferramenta multi-cloud.
Qual é mais fácil de aprender, Terraform ou CloudFormation?
CloudFormation é mais fácil para quem já usa AWS e YAML. Terraform exige aprender HCL e conceitos de estado. Para quem vem de programação, HCL é mais familiar que templates YAML gigantes.
Terraform substitui CloudFormation em projetos AWS?
Substitui, mas com custo de operação. Você ganha multi-cloud e expressividade, mas perde o gerenciamento automático de estado e o rollback nativo da AWS. Em projetos 100% AWS, CloudFormation costuma ser mais simples de manter.
Vale a pena usar os dois juntos?
É possível, mas não recomendo. Manter duas ferramentas de IaC dobra o trabalho de versionamento e revisão. Escolha uma para o padrão e use a outra apenas em casos específicos, como um módulo Terraform pronto que economiza tempo.
Como decidir entre Terraform e CloudFormation em 2025?
Liste seus provedores de nuvem e o tamanho do time. Um provedor só e equipe pequena apontam para CloudFormation. Multi-cloud ou necessidade de módulos reutilizáveis apontam para Terraform. Teste as duas em um projeto piloto de duas semanas antes de decidir.
Letícia Sampaio Khoury
Editora de Gadgets e Consumo Tech
Testa o gadget no dia a dia real, avalia se vale a grana sem deslumbre de novidade.
Ver todos os artigos →