Pular para o conteúdo
The Codeherd

Deploys chatos são uma feature

1 min

Pequenos, reversíveis, observáveis. A coisa mais sênior no meu último time não foi um sistema — foi que ninguém sentia nada quando a gente fazia deploy.

Chegamos lá encolhendo a unidade de mudança até o deploy deixar de ser um evento. Um pull request que mexia em um único comportamento, atrás de uma flag, revisável em dez minutos, era o padrão — não a exceção que a gente puxava sob pressão. Reescritas grandes ainda aconteciam, mas saíam como uma sequência de passos pequenos e chatos, em vez de uma virada de fim de semana.

Reversibilidade fez mais pela nossa confiança do que qualquer quantidade de teste pré-deploy. Toda mudança tinha um desfazer que levava menos tempo para executar do que a revisão de incidente que viria se a gente não tivesse um. Essa única propriedade nos deixava fazer deploy numa sexta à tarde sem o pavor de sempre, porque “reverter” era uma ação de cinco minutos, não uma sala de guerra.

Observabilidade fechava o ciclo: um painel que respondia “isso mudou o que eu esperava” em poucos minutos depois do deploy, sem ninguém precisar sair procurando. Quando a resposta era não, a gente sabia antes do cliente.

Nada disso é exótico. É, na maior parte, a disciplina de manter as mudanças pequenas mesmo quando uma mudança maior seria mais satisfatória de escrever — e a paciência de construir as ferramentas que tornam o “pequeno” barato em vez de tedioso.