Cuando las organizaciones optan por los microservicios, necesitan admitir docenas o cientos de aplicaciones específicas. Gestionar esos endpoints por separado significa dar soporte a muchas máquinas virtuales o VM, incluida la demanda. El software de clústeres, como Kubernetes, puede crear pods y ampliarlos, pero Kubernetes no proporciona enrutamiento, reglas de tráfico, herramientas sólidas de monitorización o depuración.
Introduzca la malla de servicio.
A medida que aumenta el número de servicios, el número de posibles formas de comunicación aumenta exponencialmente. Dos servicios tienen solo dos vías de comunicación. Tres servicios tienen seis, mientras que 10 servicios tienen 90. Una malla de servicios proporciona una forma única de configurar esas rutas de comunicación mediante la creación de una política para la comunicación.
Una malla de servicio instruye los servicios y dirige el tráfico de comunicaciones de acuerdo con una configuración predefinida. Eso significa que, en lugar de configurar un contenedor en ejecución (o escribir código para hacerlo), un administrador puede proporcionar configuración a la malla de servicios y hacer que complete ese trabajo. Antes, esto siempre tenía que ocurrir con los servidores web y la comunicación de servicio a servicio.
La forma más común de hacer esto en un clúster es utilizar el patrón sidecar. Un sidecar es un nuevo contenedor dentro del pod que enruta y observa el tráfico de comunicaciones entre los servicios y los contenedores.