El término microservicios se refiere a un modelo de arquitectura de software que consiste en diseñar una aplicación como una agregación de servicios débilmente acoplados. Cada componente está especializado en un servicio específico, accesible a través de una API y se comunica con el resto de los microservicios según un protocolo de comunicación predefinido.
El Dr. Peter Rogers introdujo el término "microservicios" por primera vez en 2005. Luego resurgió en 2011 durante una conferencia técnica en la que varios ponentes lo mencionaron para describir un tipo de desarrollo de software experimentado en sus empresas. Más tarde, fue popularizado por Netflix y Amazon, considerados pioneros en el uso de microservicios.
Mejoras
En los últimos años, hemos visto una transición en el desarrollo de software hacia los microservicios. Estos están reemplazando gradualmente las arquitecturas monolíticas en las que las aplicaciones se diseñan como un único bloque. Esto tiene como objetivo abordar la creciente necesidad de escalabilidad y agilidad. También busca minimizar las dependencias entre los feature teams o component teams. Los microservicios también permiten realizar cambios en un servicio específico sin afectar a toda la aplicación.
En el ciclo de vida de un producto, es común comenzar con una arquitectura monolítica, que es fácil de mantener para un equipo pequeño y propicia para la experimentación. A medida que el producto evoluciona, crece y se estructura, se vuelve esencial desacoplar los servicios y cambiar a una arquitectura de microservicios para reducir al máximo los riesgos de regresión y evitar dependencias innecesarias entre los diferentes equipos de desarrollo.
Desafíos
Sin embargo, es importante anticipar los desafíos técnicos que puede conllevar una arquitectura de microservicios:
- Congestión de redes debido a una gran cantidad de comunicaciones entre los diferentes servicios.
- Mayor consumo de memoria.
- Orquestación e integración de los diferentes servicios.
- Necesidad de un monitoreo independiente más sólido para cada servicio, para facilitar las investigaciones en caso de mal funcionamiento.
Para profundizar: Descarga nuestro libro Las organizaciones orientadas a producto