Primeiro ponto: quase ninguém sabe o que é microserviços. Não sabendo sobre, descarte. Para fazer algo tem que entender daquilo.
Quase ninguém usa microsserviços. As poucas pessoas que dizem que usam não sabem o que é e só dizem que fazem, não é uma arquitetura de micrsosserviços. E só por isso não dá um monte de problema. Ela finge que fez, fala para todo mundo, muita gente acha que está todo mundo fazendo e assim perpeuta o mito, por isso sempr falo:
- A pessoa aprende errado
- Ela treina o erro
- Sempre executa o erro com a validação de quem faz o mesmo
- E ensina o erro, briga por ele e encontra validação nisso.
Microsserviços é algo extremamente complexo. Costuma-se dizer que é o problma mais difícil de resolver. Poucas pessoas têm capacidade disso. Na verdade preisa de muita pessoas. Se você não tiver um projeto com centenas ou milhares de pessoas nem converse sobre o assunto.
Você não vai ter a escala dos grandes sites. A maioria dos grandes sites escalam sem microsserviços. O Stack Overflow que já foi entre os 30 sites mais acessados do mundo escala até mesmo com um servidor, justamente por não usar microsserviços. Essa arquitetura é desperdiçadora de recursos, e até quem adotam se arrependeu. O maior proponente sovre muito com essa decisão e nós consumidores podemos ver que está mais prejudicando a lees do que beneficiando. Escala vem da capacidade da pessoa saber fazer certo. Escolher arquitetura que dizem que fz esse milgrae é muleta de aleijado (pessoas com deficiência física tem outro nome e merecem nosso respeito, estou falando de outra coisa aqui).
Quase todo mundo que usa MVC o faz por modinha, ele é complexo e desnecessário na maioria dos casos, e as tecnologias "modernas" estão fugindo dele, quem ainda prega o seu uso, exceto nos raros casos onde ele tem ganhos, está ultrapassado (já exatava há muitos anos, agora ficou mais claro).
API não é solução alternativa para MVC. API e MVC são coisas completamente distintas é como perguntar se é melhor uma vaca ou um filé à parmegiana. Primeiro precisa saber o que deseja.
Cada problema tem um contetxo, ignorar isso é o mais errado que pode fazer.
Moderno é algo subjetivo. qual o ganho que espera ter nisso? Quase tudo o que alam que é moderno dá mais prejuízo. É o moderno pelo moderno, é parecido com o que acontece com microsserviços, a pessoa só quer falar que faz para parecer melhor do que é. quem é bom faz o mais simples possível que funcione muito bem atendendo todos os requisitos funcjonais e não funcionais. Quem quee fazer o melhor não cai em modinhas.
Ajudei? Era o meu desejo.
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).