Monólito modular x microsserviços
Pergunta
Quando um monólito (bem modularizado) é a escolha certa e quando microsserviços passam a fazer sentido?
Resposta esperada
Monólito modular vence por padrão em times pequenos e produtos ainda mudando de forma: um deploy, um banco, transações locais, refatoração entre módulos sem versionar contrato, debugging sem tracing distribuído. Microsserviços passam a compensar quando: partes do sistema têm perfis de escala muito diferentes (escalar só o que precisa), times independentes começam a pisar no pé um do outro no mesmo repo/deploy, ou há necessidade real de isolamento de falha/tecnologia. O erro comum é adotar microsserviços cedo por 'boa prática' e herdar consistência eventual, latência de rede, orquestração e observabilidade distribuída sem ter o problema que justifica esse custo. Um caminho saudável é o monólito modular com fronteiras claras, extraindo serviço só quando a dor aparece.
Por que perguntam isso
Pergunta sênior clássica. O sinal de maturidade é tratar microsserviços como custo a ser justificado, não como meta. 'Monólito modular primeiro' é a resposta forte.