Resumen

El desarrollo basado en microservicios es una tendencia emergente que surge de las necesidades de la industria de software, para mejorar la escalabilidad y flexibilidad de las aplicaciones web y
que hoy en día se reconoce como un nuevo modelo de arquitectura conocido como microservicios. Generalmente, las aplicaciones web tradicionales siguen una arquitectura por capas, en las que se hace separación lógica de la solución en tres capas: la interfaz de usuario, la lógica de la aplicación y el sistema de gestión de datos; sin embargo, el despliegue de la solución se realiza como una unidad monolítica que se ejecuta en un solo espacio de direcciones, generando problemas ante la demanda de aplicaciones con servicios especializados que requieren manejo de grandes volúmenes de datos integrados con enfoques IoT y con requerimientos de procesamiento distribuido. Las arquitecturas basadas en microservicios proponen una arquitectura en la que cada  funcionalidad de negocio se descompone en servicios web altamente cohesivos que pueden ser desplegados, evolucionados y escalados de manera independiente. Este enfoque trae beneficios como la flexibilidad, escalabilidad y productividad del equipo de trabajo, pero también conlleva nuevos retos que están siendo enfrentados, como la seguridad, el desempeño y la mantenibilidad de la solución. Uno de los aspectos más importantes para tener en cuenta en el desarrollo de este tipo de aplicaciones es el alineamiento organizacional a través de un enfoque de desarrollo orientado al dominio (DDD).