TheCodeNaked

Microserviços — Ep. 2: O Verdadeiro motivo para usar microserviços — e por que quase ninguém fala sobre isso (Copy)

Todo mundo fala em escalar, dividir, modernizar. Mas qual é o verdadeiro motivo para adotar microserviços? Neste episódio, vamos direto ao ponto: mostrar por que essa arquitetura foi criada, o problema real que ela resolve — e por que tanta gente ignora (ou esconde) essa verdade ao implementá-la.

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.

Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado