Si bien soy relativamente nuevo en el mundo de los microservicios, intentaré responder su pregunta lo más completa posible.
Cuando utilice la arquitectura de microservicios, tendrá un mayor desacoplamiento y separación de preocupaciones. Dado que está dividiendo literalmente su aplicación.
Esto da como resultado que su base de código será más fácil de administrar (cada aplicación es independiente de las otras aplicaciones para mantenerse en funcionamiento). Por lo tanto, si lo hace correctamente , en el futuro será más fácil agregar nuevas funciones a su aplicación. Mientras que con una arquitectura monolítica, podría resultar muy difícil de hacer si su aplicación es grande (y puede asumir que en algún momento lo será).
Además, la implementación de la aplicación es más fácil , ya que está construyendo los microservicios independientes por separado y implementándolos en servidores separados. Esto significa que puede crear e implementar servicios cuando lo desee sin tener que reconstruir el resto de su aplicación.
Dado que los diferentes servicios son pequeños y se implementan por separado, es obvio que es más fácil escalarlos , con la ventaja de que puede escalar servicios específicos de su aplicación (con un monolítico, escala la "cosa" completa, incluso si es solo una parte específica dentro del aplicación que está recibiendo una carga excesiva).
Sin embargo, para aplicaciones que no están destinadas a ser demasiado grandes para administrarlas en el futuro. Es mejor mantenerlo en la arquitectura monolítica. Dado que la arquitectura de microservicios tiene serias dificultades involucradas. Dije que es más fácil implementar microservicios, pero esto solo es cierto en comparación con los grandes monolitos. Al usar microservicios, tiene la complejidad adicional de distribuir los servicios a diferentes servidores en diferentes ubicaciones y necesita encontrar una manera de administrar todo eso. La creación de microservicios lo ayudará a largo plazo si su aplicación se vuelve grande, pero para aplicaciones más pequeñas, es más fácil mantenerse monolítico.