Alerta! Vou bater pesado porque cansa ver repetições de algo dito burocraticamente, sem comprovação alguma.
Eu não tenho mais paciência para falar sempre sobre isso, vou fazer um conteúdo canônico com amplos detalhes, provavelmente em 2024, mas essa conversa de que microsserviço resolve isso ou aquilo quase sempre é mentira. Nunca ninguém mediu, só leram que é assim. O que eu já vi na prática é que quase sempre nunca dá o resultado que a pessoa espera, ou fica pior e tem que ficar de boca fechada pra ninguém perceber a besteira que fez, depois de ter adotado algo ruim. Mas o que mais acontece, por isso não dá tanto problema, é que fazem uma arquitetura monolítica disfarçada e chama de microsserviços. Assim todo mundo fica contente, quem usa porque tem algo simples que funciona, e o programador que pode por no currículo que "sabe trabalhar com microsserviços".
Fazer microsserviços de verdade é absurdamente mais difícil e mais caro de fazer, e está longe de ser a única solução de escala, tanto que alguns dos maiores softwares em escala nem passam perto e fazem isso com custos e equipes menores.
Estava hoje mesmo vendo os problemas que o Spotify me deu por causa dessa #%@&!, mas que por ser só um brinquedo, não tem importância. O mal que essas pessoas fizeram a todos por espalhar essa fake news pra inflar seus currículos. Pegam um software cheio de problemas, mantido por uma equipe caríssima, que tem pouco a evolução, e usam como referência de modernidade.
Quase ninguém precisa ou até mesmo tem ganhos com microsserviços. Em geral, a adoção é feita por falha grotesca de juniores ou no máximo plenos que tem o título de sêniores porque seguem receitas de bolo não comprovadas há anos.
É óbvio que tem casos pertinentes, mas eles são tão poucos que as pessoas não deveriam nem perder tempo com isso. Eu mesmo já perco demais tendo que desmistificar isso. Eu mesmo já usei alguma coisa de microsserço quando fazia sentido, mas nunca fará em nada que eu pegue ter a arquitetura toda assim.
E isso acontece muito porque muita gente ganha muito com custos, livros, consultorias, treinamentos, e com o currículo turbinado para quem acredita nessas pirotecnias.
Por isso vemos tanta latência inútil, consistência toda detonada, ou para não acontecer isso ter um custo absurdamente grande.
Boa parte disso foi inventado para compensar o problema do uso de nuvem que é outra coisa muito abusada e faz custar caro. O que se observa é a manutenção ficar lenta e cara, com repetições de trabalho aos montes porque as equipes ficam isoladas.
É muito raro ver publicações sobre microsserviços onde justificativas reais são apresentadas. E quando tem, em geral, tem muitos questionamentos e falam para não usar até ser o último recurso. E quando pergunta para quem adotou, de verdade ou não, todos dizem que o caso deles precisa sim, mas justificava nunca dão. Alguns têm equipes minúsculas e são dezenas, centenas e até milhares de vezes menores que alguns monólitos famosos que escalam facilmente de forma simples e com custo baixo, inclusive que ajuda manter a equipe enxuta.
Um dos motivos de ter falta de mão de obra é porque tem muita gente trabalhando em coisas irrelevantes que nem deveriam existir.
Para encerrar, aqui não tenho como por todos os delhaes ou dar provas disso, até porque fica difícil provar algo que está todo mundo escondendo. mas já parece alguns orgulhoso de terem largado as drogas e já falam sobre isso. Não escuta quem não quer. Mas se as pessoas leem sobre microsserviços sem provas e gostam, porque não vão gostar disso aqui também?
Anedota não valem, mas eu dei uma consultoria que mandei arrumar tudo de microsserviços e fazer o arroz com feijão. Entrou a performance que eles queriam de forma simples e barata. E tinha escolhido a arquitetura complicada porque falaram para eles que era o único jeito de ser rápido, e aconteceu o contrário.
Para quem ainda pode se salvar, cuidado com informações sobre microsserviços, em geral são repetições de quem não consegue provar o que estão pregando.
Em minha defesa, eu não preciso provar fazer o simples. O complexo é que precisa de comprovação. Quando ela aparece, pode usar. Pena que é fácil falsificar "comprovações", mas em geral nem precisa, quem vai bancar aceita só argumentos vazios.
Observou? Faz sentido para você?
Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).