«Era só mudar um nome»
Há incidentes que começam com uma mudança inocente. Muda-se o nome de um recurso no código, aplica-se e a ferramenta, que não sabe que é o mesmo, destrói o antigo e cria um novo. Se era uma base de dados, o nome novo chega com uma base de dados vazia.
A ferramenta tê-lo-ia avisado. Bastava ler o plano.
O que diz um plano
Antes de aplicar, uma ferramenta de infraestrutura como código calcula a diferença entre o declarado e o que existe, e mostra-a:
- Criar: recursos novos.
- Modificar: mudanças que se aplicam sobre um recurso existente sem o substituir.
- Destruir e recriar: mudanças que exigem apagar o recurso e criar outro. São as perigosas.
- Destruir: recursos que deixam de estar no código.
O plano é o equivalente à revisão de uma mudança de código: lê-se antes, não depois.
Como transformar o plano numa porta de aprovação
- O plano gera-se automaticamente em cada proposta de mudança e junta-se à revisão.
- O que se aplica é exatamente o plano revisto, não um calculado de novo minutos depois (nesse intervalo, a realidade pode ter mudado).
- Tudo o que é destrutivo exige aprovação explícita de uma pessoa, com nome, tal como as portas de aprovação da série de Plataforma.
- Os recursos críticos protegem-se contra a eliminação no próprio código, para que nem mesmo um plano aprovado por erro os possa eliminar.
Um plano que diz algo mais
O plano diz o que muda. Falta uma pergunta que quase nunca se faz nesse momento e que importa tanto como a outra: quanto vai custar?
Como o aplicamos: Automação e IaC.