Drift de Terraform é o estado real da nuvem divergindo do código: alguém clicou no console, o apply seguinte explode ou ignora. IaC sem dono vira ticket eterno — cada squad pede exceção, ninguém reconcilia, a plataforma mente. Runbook no caderno e terminal aberto não substituem o nome de quem pode mudar o módulo.

Platform engineering quer golden path. Drift é o path mentiroso. DevOps e entrega contínua precisa de infra reproduzível. Kubernetes só com plataforma piora se o cluster “padrão” só existe no clique.

Por que o console vence

Urgência. Permissão larga. Módulo que não cobre o caso. Apply lento. O jeito fácil é o clique. Política honesta: console é emergência com ticket de reconciliação no mesmo dia — ou o clique é proibido e o módulo ganha o caso no sprint.

Dono de estado: um time (plataforma ou o serviço) para cada stack. Dono “todo mundo com a chave” é ninguém. Lock de state e CI de plan/apply com review são o mínimo. Sem CI, o laptop de fulano é a fonte da verdade.

Não inventamos taxa de drift. O plan do próximo apply diz. Se ninguém roda plan, o drift está só esperando o incidente.

Ritual de reconciliação

  1. import ou clique documentado no mesmo PR;
  2. proibir a permissão de clique no recurso que já está no código (quando o provedor permitir);
  3. alerta de drift se a ferramenta existir — senão, plan semanal no serviço crítico.

Maio, meio do trimestre, é quando o acúmulo de “só um security group” já é uma floresta. O sprint de higiene de IaC compete com feature. Se nunca compete, o ticket eterno é escolha.

Relação com plataforma

Self-service que cria recurso fora do módulo oficial é drift industrializado. Catálogo curto. Exceção com prazo. Caderno de runbook descreve o incidente; o código descreve o desejado. Os dois precisam apontar para o mesmo mundo.

O terminal ilegível da capa costuma mostrar um plan que ninguém quer apply. Esse medo é dado: o clique de março quebrou o módulo. A saída não é nunca mais apply. É o PR de reconciliação e a permissão de console reduzida no recurso já codificado. Time que vive de plan assustado opera no escuro — e o ticket eterno é exatamente esse apply adiado até o incidente de sábado.

Como a Tech Coders trata IaC na fábrica

Na fábrica de software, Terraform (ou equivalente) entra no sprint de 15 dias com dono, CI e reconciliação. Não operamos console como processo. Sustentação 24×7 precisa do estado verdadeiro. Resgate de nuvem muitas vezes começa pelo drift que ninguém quer apply.

Perguntas frequentes

ClickOps nunca é aceitável?

É aceitável como emergência, com PR de reconciliação no mesmo ciclo. Como hábito, é o ticket eterno.

Vários repos de Terraform ajudam?

Ajudam se cada um tem dono. Dezenas de repos órfãos pioram. Fronteira por serviço ou por plataforma, não por “pasta do intern”.

Terragrunt / CDK muda o drift?

Muda a ferramenta. Drift é comportamento humano e permissão. A disciplina é a mesma.

Dono de módulo pode ser o squad de produto?

Pode no recurso do produto. Shared (rede, IAM org) pede plataforma. Misturar os dois no mesmo state é o incidente clássico.