¿Cuáles son las ventajas de los microservicios?
Los microservicios descomponen la Arquitectura Monolítica en servicios ligeros independientes que sirven a un único propósito.  La productividad de los desarrolladores aumenta, ya que los equipos dedicados al servicio de responsabilidad única pueden controlar las versiones independientemente de otros servicios.  También pueden controlar el lenguaje en el que está escrito el servicio.  Esto es útil cuando determinados servicios pueden beneficiarse de estar escritos en Python frente a C#, Java o Javascript.  Los microservicios abogan por una arquitectura basada en eventos, en la que los servicios no están acoplados ni referenciados directamente.  Cada Microservicio puede publicar eventos que pueden ser consumidos/suscritos por otros servicios.  La Containerización y los Microservicios van bien juntos a la hora de diseñar Microservicios, teniendo en cuenta que el paradigma exige que los Contenedores sean inmutables y tratados como Ganado.  Las versiones nuevas y antiguas del mismo Microservicio pueden lanzarse una al lado de la otra en un patrón A/B, lo que ayuda a garantizar cualquier actualización.  Los Contenedores pueden alojar los Microservicios rápidamente y probarse en distintos entornos con fiabilidad, garantizando que todas las dependencias se encapsulan en la compilación de la imagen en ejecución.