Terraform, Pulumi e companhia. Infraestrutura como código versionado — reproduzível, revisível, reversível.
Categoria · DevOps & Infra
Infraestrutura como código.
A Infrastructure as Code descreve servidores, redes, bases de dados e permissões como código versionado — com ferramentas como o Terraform ou o Pulumi. Em vez de clicar numa consola da cloud, define-se o estado-alvo em ficheiros.
Esses ficheiros ficam no repositório ao lado do código da aplicação: revisíveis no pull request, reproduzíveis por comando, reversíveis através do histórico.
Porque não clicamos infraestrutura.
Ambientes montados manualmente acabam por divergir e já ninguém sabe ao certo por que razão algo está configurado de determinada forma. Como IaC, a infraestrutura está documentada, porque o código é a documentação.
Montar um ambiente de staging e de produção idênticos passa a ser um comando. É disto que precisamos quando implementamos plataformas e as operamos de forma rastreável durante anos.
O preço disso.
A IaC tem uma curva de aprendizagem percetível, e o state — o ficheiro que representa o estado atual — tem de ser gerido com disciplina. Se for contornado manualmente na consola, surge exatamente a deriva que se queria evitar.
Para uma experiência descartável e curta, o esforço é demasiado e até trava. Para tudo o que vive mais do que algumas semanas e vai para produção, compensa claramente.

