// stack.lumi
DevOps

Terraform

Infraestrutura como codigo para cloud governada.

// o que é

Terraform permite declarar e versionar infraestrutura cloud como codigo. No contexto da Lumi Data, e essencial para ambientes reproduziveis, auditaveis e menos dependentes de configuracao manual.

Terraform implementa o paradigma de Infrastructure as Code declarativo com dois princípios fundamentais: idempotência (aplicar a mesma configuração múltiplas vezes sempre produz o mesmo resultado, independentemente do estado inicial) e convergência (o provider calcula o delta entre o estado declarado e o estado atual e executa apenas as mudanças necessárias). O state file do Terraform é o mecanismo que torna a idempotência possível: armazena o mapeamento entre recursos declarados e recursos reais na cloud, permitindo que o plan detecte drift (mudanças manuais feita fora do Terraform) e que o destroy saiba exatamente o que remover. Kief Morris (2016), em "Infrastructure as Code", estabelece os princípios que Terraform implementa: infraestrutura deve ser tratada com as mesmas práticas de engenharia do software de aplicação (versionamento, revisão de código, testes automatizados, CI/CD). Forsgren et al. (2018) em Accelerate documentam que times de elite fazem infrastructure changes via pull request com aprovação, exatamente o workflow que GitOps com Terraform enforce.

Como a Lumi enxerga:A Lumi organiza modulos, estados, pipelines e politicas para que Terraform vire governanca operacional, nao apenas script de provisionamento.
// na prática

Como empresas usam Terraform

01

Empresa crescendo de startup para scaleup migrando de ClickOps para IaC

A infraestrutura existente criada manualmente no console AWS é importada para Terraform com "terraform import", estabelecendo um state file como fonte de verdade. A partir daí, todas as mudanças passam por pull request com terraform plan como comentário automatizado, criando um histórico auditável de quem mudou o quê e quando — requisito de compliance que ClickOps não consegue atender.

02

Equipe de plataforma gerenciando múltiplos ambientes (dev/staging/prod)

Terraform Workspaces ou estrutura de módulos com diferentes tfvars separam os ambientes com a mesma configuração base. Promoção de mudanças de infra segue o mesmo fluxo do código de aplicação: branch, PR, review, merge, apply automatizado via CI/CD (GitHub Actions + Atlantis). O plano de produção é sempre revisado por um segundo engenheiro antes do apply.

03

Fintech ou healthtech com requisitos de compliance e auditoria

Terraform com políticas Sentinel ou OPA (Open Policy Agent) previne criação de recursos não-conformes — buckets S3 públicos, security groups com porta 22 aberta para o mundo, instâncias sem criptografia em repouso. O git history do repositório de infra é evidência de auditoria: cada mudança tem autor, timestamp, justificativa no commit message e aprovação no PR.

// decisão técnica

Quando usar — e quando não usar

Use quando
  • A infraestrutura cloud precisa ser reproduzível: criar um ambiente idêntico para staging, produção, ou disaster recovery deve ser um "terraform apply", não horas de trabalho manual
  • A organização tem requisitos de compliance (ISO 27001, SOC 2, LGPD) onde auditabilidade de mudanças de infraestrutura é mandatória — o git history do Terraform é a trilha de auditoria
  • O time tem múltiplos engenheiros tocando infraestrutura e colaboração sem conflito requer revisão de código, state compartilhado e lock durante apply
  • A cloud bill está crescendo e o time precisa entender o que está provisionado — Terraform como fonte de verdade torna o inventário de recursos legível
  • A empresa usa múltiplos cloud providers ou múltiplas contas/projetos — Terraform unifica o workflow de infraestrutura com o mesmo HCL independentemente do provider
Evite quando
  • O projeto é um experimento ou prova de conceito de 1-2 semanas onde a infraestrutura vai ser destruída no final — o overhead de escrever HCL, configurar backend de state e criar módulos não se paga em tempo tão curto
  • O time não tem processo de revisão de código para infra — Terraform sem peer review de terraform plan antes do apply é mais perigoso que ClickOps porque mudanças automáticas sem revisão podem destruir recursos de produção
  • A aplicação roda em uma plataforma totalmente gerenciada (Vercel, Railway, Heroku) onde a infraestrutura é abstraída e não existe recurso cloud para gerenciar — Terraform não tem o que fazer nesse contexto
  • O único engenheiro no time vai sair e ninguém mais conhece Terraform — Terraform sem maturidade do time de infra cria uma caixa preta pior que ClickOps porque o state fica sem dono
// visão lumi

IaC com Terraform não é opcional em nenhum projeto Lumi que envolve provisionamento de recursos cloud — é o mínimo de qualidade de operação que aceitamos entregar. Nossa linha é clara: se o recurso foi criado no console sem Terraform, ele não existe para nós formalmente, e a primeira etapa é importar ou recriar. Usamos remote state com locking (S3 + DynamoDB ou Terraform Cloud) desde o primeiro recurso, módulos com interfaces explícitas para reutilização entre projetos, e terraform plan automatizado em PR como gate de revisão antes de qualquer apply em produção. Alinhamos com os princípios de GitOps: o repositório é a única fonte de verdade sobre o estado desejado da infraestrutura, e nenhuma mudança acontece fora do fluxo de código.

Lumi escolhe quando

  • Todo provisionamento de recursos cloud em projetos com duração acima de 2 semanas e qualquer requisito de reprodutibilidade de ambiente
  • Organizações com requisitos de compliance (SOC 2, ISO 27001, LGPD) onde auditabilidade de mudanças de infraestrutura via git history é evidência de controle
  • Times com múltiplos engenheiros tocando infraestrutura onde revisão de terraform plan via PR previne mudanças não intencionais em produção
  • Projetos multi-cloud ou multi-conta onde HCL unificado simplifica o workflow independentemente do provider

Lumi não recomenda quando

  • Experimentos e POCs de 1-2 semanas onde recursos cloud temporários são criados diretamente no console e destruídos ao final — o custo de setup do Terraform supera o benefício
  • Times sem processo de revisão de código para infra — Terraform com apply automático sem peer review de plan é mais perigoso do que ClickOps manual
// aplicações

Onde essa tecnologia gera valor

01

Provisionamento AWS, Azure e GCP

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

02

Redes, bancos, buckets e clusters

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

03

Ambientes por stage

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

04

Governanca e revisao de mudancas

A Lumi conecta essa aplicação ao objetivo de negócio, definindo arquitetura, dados, segurança e indicadores de sucesso antes da implementação.

// fundamentos

Referências acadêmicas e técnicas

HashiCorp. (2021). Infrastructure as Code: What Is It? Why Is It Important? HashiCorp Learn. learn.hashicorp.com.

Define os princípios de IaC com Terraform — idempotência, versionamento, estado declarativo — e o workflow de plan/apply como mecanismo de revisão de mudanças de infraestrutura.

Morris, K. (2016). Infrastructure as Code: Managing Servers in the Cloud. O'Reilly Media.

Estabelece os princípios de IaC — imutabilidade, reproductibilidade, tratamento de infra como código de aplicação — que fundamentam as práticas de Terraform em projetos de produção.

Kim, G., Humble, J., Debois, P., & Willis, J. (2016). The DevOps Handbook. IT Revolution Press.

Contextualiza IaC como prática fundamental do Primeiro Caminho do DevOps (Flow) — infraestrutura como código acelera o fluxo de mudanças de desenvolvimento para produção.

Forsgren, N., Humble, J., & Kim, G. (2018). Accelerate: The Science of Lean Software and DevOps. IT Revolution Press.

Documenta que times de elite fazem mudanças de infraestrutura via peer review — exatamente o workflow GitOps que Terraform com PR e terraform plan automatizado implementa.

HashiCorp. (2023). Terraform Documentation: State. developer.hashicorp.com/terraform/language/state.

Documentação do mecanismo de state do Terraform, cobrindo remote state com locking, import de recursos existentes e detecção de drift como fundamentos operacionais.

// tecnologias relacionadas

DevOps

// próximo passo

Quer saber se esse stack faz sentido para você?

A Lumi avalia contexto, dados, equipe, custo e maturidade para recomendar a tecnologia certa e entregar com responsabilidade.