Publicado a

O que não convém automatizar

Automatizar não compensa sempre. Há tarefas tão raras, tão variáveis ou tão arriscadas que o script custa mais do que poupa, ou faz mais dano do que evita. Saber distingui-las faz parte do ofício.

Linha de serviço Automação e IaC

A tentação de automatizar tudo

Depois de ver o que a automação poupa, aparece a tentação contrária: automatizar qualquer coisa que se faça mais de uma vez. E algumas automações acabam por ser piores do que o trabalho manual: levam mais tempo a construir do que o tempo que pouparão em anos, falham quando a situação muda um pouco ou executam com total confiança algo que precisava que alguém pensasse.

Duas perguntas para decidir

O que automatizar, e o que nãoMatriz de frequência face a risco com quatro respostas: automatizar, automatizar com aprovação, documentar e manter manual.IAC · CRITÉRIOO que automatizar, e o que nãoAutomatizar com aprovaçãofrequente e arriscadaManter manual e ensaiadorara e arriscadaAutomatizar por completofrequente e de baixo riscoProcedimento escritorara e de baixo riscoFrequenteRaraArriscadaou variávelBaixoriscoExemplos: limpar temporários (verde) · mudança destrutiva de rede (âmbar) ·migração anual (azul) · recuperação face a um desastre total (vermelho).N100F · n100f.com

Antes de automatizar uma tarefa convém responder a duas perguntas: com que frequência acontece? e quanto risco ou variação tem cada vez?

  • Frequente e de baixo risco: automatizar por completo. É o terreno do artigo anterior.
  • Frequente mas arriscada: automatizar a preparação e a execução, mas com uma aprovação humana antes do passo irreversível (como o plano com aprovação das mudanças destrutivas).
  • Rara e de baixo risco: provavelmente basta um bom procedimento escrito. Automatizar algo que acontece uma vez por ano raramente compensa.
  • Rara e arriscada: mantê-la manual, escrita ao detalhe e ensaiada. A recuperação face a um desastre total costuma estar aqui: automatizam-se as suas peças, mas a decisão e a coordenação são de pessoas.

Sinais de que algo não deve ser automatizado ainda

  • Ninguém sabe descrever com precisão quando a tarefa está «bem feita».
  • Cada vez que se faz, faz-se de forma diferente.
  • Um erro não se pode desfazer.
  • Exige decidir algo que não está escrito em nenhuma regra.

Em todos estes casos, o primeiro passo não é um script, mas escrever o procedimento e repeti-lo até deixar de variar. O que se pode escrever com precisão pode automatizar-se depois.

Fecho da série

Reconstruir a partir do código, declarar em vez de ordenar, cuidar do estado, reutilizar com módulos, ler o plano e o seu custo, manter cada servidor na sua linha de base, detetar o desvio, poder voltar atrás, transformar as normas em regras que se verificam sozinhas, incorporar o herdado e automatizar a operação com critério. A infraestrutura deixa de ser uma coleção de peças únicas e passa a ser algo que se pode descrever, revisar, repetir e explicar.


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