Publicado a

Ver o plano antes de aplicar

Antes de mexer na infraestrutura, a ferramenta pode dizer exatamente o que vai criar, modificar e destruir. Ler esse plano, e exigir aprovação quando inclui algo destrutivo, evita a maioria dos desastres.

Linha de serviço Automação e IaC

«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

O que vai acontecer, antes de acontecerPlano de exemplo com três criações, duas modificações e uma destruição que exige aprovação.IAC · PLANOO que vai acontecer, antes de acontecer$ plan · ambiente produção+criarbalanceador.interno+criarregra_rede.saida_backups+criaralerta.disco_cheio~modificarinstancia.web (tamanho)~modificaretiquetas.custo-/+destruir e recriarbase_dados.encomendas (mudança de nome)Resumo: 3 a criar · 2 a modificar · 1 a destruirA linha destrutiva exige aprovação com nome.Era uma mudança de nome: a base de dados nova teria nascido vazia.Plano de exemploN100F · n100f.com

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

  1. O plano gera-se automaticamente em cada proposta de mudança e junta-se à revisão.
  2. O que se aplica é exatamente o plano revisto, não um calculado de novo minutos depois (nesse intervalo, a realidade pode ter mudado).
  3. 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.
  4. 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.

Se o seu custo cloud cresce sem que ninguém saiba porquê, ou a sua arquitetura depende de quem a montou, falemos.

Falemos