Quais as características devo estar alerta em um monolito quando ele começa a apresentar sinais que devo migrar para microserviços ? E quando e como devo escolher uma arquitetura monolitica ou em microserviços em um novo projeto ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Quais as características devo estar alerta em um monolito quando ele começa a apresentar sinais que devo migrar para microserviços ? E quando e como devo escolher uma arquitetura monolitica ou em microserviços em um novo projeto ?
A primeira parte vai depender do problema enfrentado pela empresa, pode ser questão de escalabilidade, em microserviços vc pode escalar apenas oo serviços críticos e mais acessados, tendo um economia maior; ou pela difícil manutenção do código, que está altamente acoplado. Essa é uma decisão complexa e que deve ser tomada para resolver problemas específicos.
Quanto a segunda parte, autores de renome como Robert Martin e Martin Fowler indicam iniciar um projeto como monolito mas de forma desacoplada a nível de código fonte, ou seja, controla-se as dependência entre os módulos. Então conforme os serviços vão sendo identificados passa-se para um desacoplamento em nível de implantação, ou seja, contrala-se as dependências por meio de unidades implantáveis, como arquivo jar no Java. E por fim, caso seja necessário, transformam-se essas unidades implantáveis em serviços.