Executando verificação de segurança...
1

Qual é a melhor abordagem para o desenvolvimento de aplicações modernas: adotar uma arquitetura de microserviços (API) ou optar por um framework MVC tradicional?

Qual é a melhor abordagem para o desenvolvimento de aplicações modernas: adotar uma arquitetura de microserviços (API) ou optar por um framework MVC tradicional? Como a escolha entre essas arquiteturas pode impactar as oportunidades de carreira ?

Carregando publicação patrocinada...
2

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.

Quer ver mais? https://www.google.com/search?hl=en&as_q=microsservi%C3%A7o+maniero&as_epq=&as_oq=&as_eq=&as_nlo=&as_nhi=&lr=&cr=&as_qdr=all&as_sitesearch=tabnews.com.br&as_occt=any&as_filetype=&tbs=#ip=1

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).

1

Uma contribuição que eu posso dar para você é que deve-se levantar os requisitos da sua aplicação antes de adotar uma arquitetura, assim sendo não tem uma melhor abordagem, a melhor abordagem sempre será a que se encaixa no seus requisitos

1

Tudo depende de uma série de fatores, incluindo o tamanho e a complexidade da aplicação, os requisitos de escalabilidade, de que forma ela pode lidar com falhas e com sobrecargas (métodos de balanceamento de carga, adoção ou não de circuit breakers), objetivos de negócio e as habilidades da equipe de desenvolvimento.
Sugiro fazer um levantamento de requisitos antes, até para evitar certos viéses da internet.
O uso de um framework mvc em um monolito pode te poupar tempo na maioria das vezes, principalmente se estiver desenvolvendo um MVP (mas não é regra).
Desenvolvedores com experiência em arquitetura de microserviços podem estar sendo mais procurados por empresas que precisam desenvolver aplicações complexas e escaláveis. Essa experiência pode ser um diferencial na hora de conseguir uma vaga ou uma promoção.
Desenvolvedores com experiência em framework MVC são mais procurados por empresas que precisam desenvolver aplicações de pequeno e médio porte. Essa experiência também pode ser útil para desenvolvedores que desejam trabalhar com aplicações web ou mobile.
Então, resumindo, depende do que você procura.

1
  1. O que é uma aplicação moderna?
  2. É pra estudo, é pro seu pequeno negócio ou é pra empresa que vc trabalha?
  3. A empresa que vc trabalha é pequena ou grande?
  4. O servico que vc precisa prover será muito ou pouco acessado?
  5. O serviço que vc precisa prover precisaria ser escalado com o tempo ou é algo que vai permanecer neste tamanho?
  6. Os seus colegas dev sabem lidar com microsservicos?
  7. Vc conseguiria recrutar devs com essa habilidade no mercado?
  8. Vc tem orçamento para levantar esses devs?
  9. Vc tem orçamento para bancar essa arquitetura?
  10. Vc tem como lidar com o SRE de uma aplicação nessa arquitetura?
  11. Tem como lidar com a segurança de um monte de endpoint conversando por ai?
  12. ...

Todas essas perguntas servem para responder a primeira: nao existe "aplicação moderna". O que existe é uma necessidade, uma demanda, e a forma mais sustentável de lidar com ela.

Eu tenho uma super airfryer em casa. Mas tem dias que eu quero apenas fritar um único filé de frango. O dispêndio em pegar a air fryer, esperar 20 minutos ate meu filé estar frito e ainda lavar a airfryer (e quem ja lavou airfryer sabe que é um saco) acaba me fazendo pegar minha pequena frigideira e resolvendo o problema em 3 minutos.

Entendeu a alegoria?