Skip to content
Latchkey

Terraform vs CloudFormation: IaC multi-cloud vs nativo da AWS

O Terraform é IaC multi-cloud com HCL e um ecossistema enorme de providers; o CloudFormation é nativo da AWS, profundamente integrado e com estado gerenciado pela AWS.

O Terraform provisiona infraestrutura em muitas clouds e serviços usando HCL e um vasto registry de providers, com estado que você gerencia. O CloudFormation é o serviço de IaC nativo da AWS - templates em YAML/JSON, estado e drift tratados pela AWS, e integração estreita com recursos da AWS como change sets e stack policies.

TerraformCloudFormation
EscopoMulti-cloud + muitos providersApenas AWS
LinguagemHCLYAML / JSON
EstadoBackend autogerenciadoGerenciado pela AWS
EcossistemaEnorme (registry, módulos)Nativo da AWS, CDK por cima
Melhor paraMulti-cloud, tooling amploEmpresas totalmente na AWS

No CI

O Terraform é o padrão quando você abrange várias clouds ou quer um ecossistema rico de módulos, mas você assume o backend de estado e o locking. O CloudFormation é atraente para empresas que usam só AWS - sem estado para gerenciar, change sets nativos, e os recursos mais recentes da AWS costumam chegar primeiro nele. Ambos fazem plan e apply de forma limpa no CI; cuidado com o locking de estado no Terraform e o drift de stack no CloudFormation.

Acelere

Faça cache dos plugins de providers (Terraform) e rode plan/apply no CI com locking. Os downloads de providers e o plan rodam em runners de CI; managed runners mais rápidos encurtam o setup a frio.

O veredito

Multi-cloud ou quer o amplo ecossistema e módulos: Terraform. Totalmente na AWS e quer estado gerenciado com integração nativa: CloudFormation. Escolha pelo escopo de cloud e por quanto do gerenciamento de estado você quer assumir.

Guias relacionados