¿Cuál es la diferencia entre los microservicios y los macroservicios (en el desarrollo de software)? Es uno mejor que el otro?

Esta es una pregunta interesante, pero intentaré responder lo mejor que pueda.

Cuando pienso en micro servicios, pienso en una API de servicio web autónoma, que realiza un pequeño subconjunto de tareas necesarias para una aplicación más grande. Por ejemplo, digamos que usted necesita algún tipo de procesador de documentos que convierte los documentos de texto o de palabra a un PDF. Ahora bien, esto necesita ser compartido por múltiples aplicaciones. Entonces podemos escribir un microservicio para realizar esto para un número específico de aplicaciones que lo necesitan. Fíjate en que no he dicho que sea para toda la empresa, ya que ahí es donde entran los macroservicios.

Un macroservicio también sería una API de servicio web autónoma, en la que las necesidades estarían en toda la empresa. Este sería un servicio que abarcaría toda una empresa, e incluso serviría a los clientes para una necesidad particular.

Decidir cuál es mejor, depende de cuál es la necesidad. Para construir micro servicios, estás compartimentando la lógica, lo cual es beneficioso en sí mismo, si lo arquitecturas correctamente. Un macroservicio también podría hacer uso de los microservicios, llamando a muchos microservicios, en parte haciendo del macroservicio un punto centralizado de todos los microservicios dentro de la empresa.