Una malla de servicios permite a los desarrolladores de servicios delegar las tareas de comunicación de red y centrarse más en la lógica de negocio.

¿Qué es una malla de servicios?

Una malla de servicios es una capa de infraestructura configurable para una aplicación de microservicios. Permite que la comunicación entre las instancias de servicio sea flexible, fiable y rápida. La malla ofrece detección de servicios, equilibrio de carga, cifrado, autenticación y autorización, compatibilidad con el patrón de disyuntor y otras funcionalidades.

La malla de servicios suele implementarse proporcionando una instancia de proxy, denominada sidecar, para cada instancia de servicio. Los sidecars se encargan de las comunicaciones entre servicios, la supervisión y los aspectos relacionados con la seguridad; es decir, de todo aquello que pueda abstraerse de los servicios individuales. De este modo, los desarrolladores pueden ocuparse del desarrollo, el soporte y el mantenimiento del código de la aplicación en los servicios, mientras que los equipos de operaciones pueden mantener la malla de servicios y ejecutar la aplicación.

Istio, respaldado por Google, IBM y Lyft, es actualmente la arquitectura de malla de servicios más conocida. Kubernetes, diseñado originalmente por Google, es actualmente el único framework de orquestación de contenedores compatible con Istio.

Vídeo sobre las mallas de servicios

¿Qué es una malla de servicios en una arquitectura de microservicios?

Una malla de servicios aborda algunos de los principales retos que plantea la implementación de una arquitectura de microservicios. Una malla de servicios ofrece mayor flexibilidad a la hora de elegir entre diversas tecnologías de implementación de microservicios y permite centrarse más en la lógica de negocio, en lugar de dedicar más tiempo a las funciones de red entre servicios.

Malla de servicios y descubrimiento de servicios

Una malla de servicios funciona con un protocolo de descubrimiento de servicios para detectar los servicios a medida que se ponen en marcha. Después, la malla los retira gradualmente cuando desaparecen. El descubrimiento de servicios es un marco de gestión de contenedores que mantiene una lista de las instancias que están listas para recibir solicitudes —o para que otros servicios las descubran—. Juntos, aportan resiliencia a la comunicación entre servicios.

Referencias