Arquitetura de software · Estrutura do código · 6 min de leitura
Monólito ou microsserviços
Microsserviços dão independência a times e partes do sistema, ao custo de uma complexidade operacional que muitas equipes não precisam ter.
Arraste para o lado para ver o diagrama inteiro.
Comece pelo monólito modular
Um único deploy com módulos bem separados é mais simples de desenvolver, testar e operar. Muitas empresas, como sugere Martin Fowler, começam assim e extraem serviços quando as fronteiras ficam claras.
Quando microsserviços valem a pena
- Vários times precisam publicar com independência.
- Partes com necessidades de escala muito diferentes.
- Fronteiras de domínio estáveis.
O custo
- Chamadas pela rede: latência, falhas parciais, retries.
- Consistência entre bancos: sagas e eventos em vez de uma transação.
- Observabilidade, deploy e segurança para cada serviço.
Em resumo
- Monólito modular primeiro, na maioria dos casos.
- Microsserviços resolvem problemas de organização e escala.
- Cada serviço com seus dados.
- Exigem observabilidade e automação maduras.
Vantagens e custos
Vantagens
- Deploy e escala independentes
- Times autônomos
Custos e riscos
- Complexidade operacional
- Consistência distribuída
- Latência e falhas de rede