Introdução
Microsserviços costumam parecer sinônimo de maturidade técnica. Em muitos contextos, porém, eles entram cedo demais e empurram o time para uma complexidade que o produto ainda não precisa.
Antes de separar serviços, vale perguntar se o problema é mesmo arquitetura ou apenas falta de organização no monólito atual.
Quando microsserviços realmente fazem sentido
- Domínios com autonomia clara e fronteiras bem entendidas
- Times que precisam evoluir partes do sistema em ritmos muito diferentes
- Escala operacional que torna o acoplamento atual um gargalo real
O custo que quase sempre é subestimado
Distribuir serviços não distribui só responsabilidade. Distribui observabilidade, deploy, tracing, falha de rede, debugging e governança.
- Mais contratos entre partes do sistema
- Mais pontos de falha
- Mais necessidade de monitoração e disciplina de integração
O critério que usamos para decidir
- Primeiro tentamos organizar melhor o monólito.
- Só extraímos serviço quando a fronteira está madura.
- Levamos em conta a capacidade operacional do time, não só o desenho ideal.
Conclusão
Microsserviços podem ser a resposta certa, desde que o problema também seja o certo. Escala sem contexto vira custo. Simplicidade bem estruturada costuma durar mais.