Terraform + Ansible: divisão correta de responsabilidades
Quando Terraform e Ansible têm fronteiras claras, o pipeline ganha previsibilidade e o drift cai.
Problema real e contexto
Sem fronteira entre ferramentas, tasks se sobrepunham e mudanças manuais viravam fonte recorrente de drift.
A prioridade foi criar um modelo simples para saber onde cada responsabilidade vive.
Decisões técnicas
- Terraform para recursos declarativos de infraestrutura.
- Ansible para configuração de sistema e pacotes.
- Pipelines independentes com checkpoints de integração.
- Inventário e estado versionados com revisão obrigatória.
Tip
Evite usar Ansible para 'corrigir' recurso que deveria ser gerenciado por Terraform.
Checklist final
- Publicar matriz de responsabilidades TF x Ansible.
- Bloquear mudanças fora de pipeline.
- Executar detecção de drift em rotina contínua.
- Documentar exceções temporárias com prazo de remoção.
Erros comuns
- Provisionar e configurar o mesmo recurso em duas ferramentas.
- Aplicar hotfix manual sem registrar no IaC.
- Não revisar módulo reutilizável após mudança crítica.
Keywords
- Terraform
- Ansible
- IaC
- drift
- automation
Related reading
- Docker → Kubernetes (K3s) em ambiente multi-tenant DevOps Checklist prático da migração para K3s: rollout, isolamento por tenant e trade-offs que evitaram incidentes.
- Observabilidade para 1.200 servidores: VictoriaMetrics vs Prometheus Observability Quando usar Prometheus puro e quando o VictoriaMetrics traz melhor retenção e custo em escala.
- Exporters Prometheus custom: Aruba, Meraki e Zabbix Observability Como padronizar métricas heterogêneas de rede e observabilidade para consultas consistentes.