Los microservicios, también conocidos como arquitectura de microservicios, es un estilo arquitectónico utilizado para aplicaciones de software estructuradas como una colección de servicios.
Las aplicaciones para empresas se suelen componer de tres partes principales:
Una interfaz de usuario orientada al cliente (una aplicación o página HTML que se ejecuta en un dispositivo de usuario final)
Una base de datos (que almacena los datos de la aplicación)
Una aplicación del lado del servidor (que define el trabajo funcional y lógico de la operación)
Este estilo de arquitectura monolítica no es flexible y es difícil de modificar. Pequeños cambios realizados en una parte del sistema requieren que se vuelva a implementar todo el monolito.
Por otro lado, la arquitectura de microservicios diseña la aplicación como una colección de servicios funcionales con administración descentralizada. Un microservicio intenta solucionar una única cuestión, como la búsqueda de datos, la función de registro o la función de servicio web. Estos microservicios se pueden implementar de forma independiente, pueden utilizar sus propios recursos de computación y se pueden comunicar entre sí.
Por ejemplo, una aplicación de noticias se puede componer de microservicios independientes, como deportes, delitos, información general, etc. Cada microservicio puede administrar su propia recuperación y clasificación de contenido. También se pueden escalar o reducir verticalmente según sea necesario. Durante un evento deportivo importante, el microservicio de deportes usará potencia de procesamiento adicional, pero se reducirá verticalmente después de que finalice el evento.