Introdução
A maioria das discussões sobre microserviços gira em torno de arquitetura, linguagem, containers, mensageria, escalabilidade, pipelines... e esquece o mais importante:
O cliente.
Como exemplo, a Netflix não adotou microserviços para seguir uma tendência. Nem para agradar arquitetos. Nem para criar diagramas bonitos com caixinhas coloridas.
Ela fez isso porque:
- O cliente quer fazer login rapidamente;
- Quer receber sugestões certeiras;
- Quer assistir sem travar;
- E quer tudo isso funcionando a qualquer hora, em qualquer dispositivo.
Isso exige:
- Velocidade;
- Resiliência;
- Independência entre partes do sistema;
- E capacidade de evoluir partes sem travar o todo.
Microserviços não são o objetivo. São o meio
Muita gente começa errado: quebra o monolito em pedaços, sem um problema real, sem uma razão funcional. O resultado? Uma rede de mini-monólitos que precisam conversar o tempo todo, mas foram criados para funcionarem isoladamente.
Eles não eliminam o acoplamento. Eles apenas espalham o acoplamento na rede.
Microserviços não são "modernos" porque usam HTTP e JSON. São modernos quando resolvem um problema real com elegância.
O que a Netflix entendeu
Ela viu que, para entregar uma experiência rápida e personalizada, seria melhor ter:
- Um serviço só para recomendações;
- Outro só para autenticação;
- Outro para o player;
- Outro para imagens e legendas;
- E todos rodando de forma independente e escalável.
Com isso:
- Um erro no serviço de recomendação não afeta o player;
- Uma mudança no sistema de pagamento não derruba a busca;
- Um aumento de tráfego no login não trava o streaming.
Isso é microserviço com objetivo.
Então quando usar?
Quando você tiver:
- Um problema real de escala;
- Um sistema já modularizado e maduro;
- Equipes separadas com domínios claros;
- Infraestrutura preparada para orquestração, deploy, testes, monitoramento;
- E principalmente: um motivo funcional, não apenas arquitetural.
Conclusão
Microserviços devem servir ao cliente. E não ao ego de quem desenha.
Comece com um bom monólito modular. Ele vai te mostrar, com o tempo, onde e quando extrair. E se não mostrar, talvez você nem precise.
No fim das contas, o sistema não deve parecer moderno por modismo. Deve funcionar bem.
E isso, sim, é arquitetura com sentido.