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
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.