Ambientes: desenvolvimento, teste e produção
Por que importa
'Na minha máquina funcionava' é quase sempre uma diferença de ambiente: uma versão diferente, uma variável faltando, uma permissão existente. Quando os ambientes são construídos a partir da mesma fonte, as diferenças se reduzem apenas à configuração.
O que difere e o que é idêntico
Idêntico: versões, estrutura, o processo de deploy, o esquema do banco de dados. Diferente: endereços, segredos, tamanho dos recursos e dados.
Dados de produção não são copiados como estão para ambientes de teste. Se dados realistas são necessários — mascare-os ou gere dados sintéticos. É tanto um requisito de privacidade quanto higiene.
Ambientes efêmeros
Um ambiente criado para cada mudança e deletado após o merge encurta drasticamente as revisões: você pode ver e não só imaginar. Compensa a partir do segundo membro do time.
Indo mais fundo
Gerencie os ambientes como código para que um ambiente possa ser reproduzido do zero. O teste: se todos os servidores fossem deletados hoje de manhã, quanto tempo levaria para reconstruir tudo? Se a resposta não é conhecida, isso não é infraestrutura, mas um monte de ações manuais acumuladas.