Cuando las organizaciones se trasladan a microservicios, necesitan admitir decenas o cientos de aplicaciones específicas. Gestionar esos endpoints por separado significa admitir muchas máquinas virtuales o VM, incluida la demanda. El software de clúster, como Kubernetes, puede crear pods y escalarlos, pero Kubernetes no proporciona enrutamiento, reglas de tráfico, herramientas sólidas de supervisión o depuración.
Introduzca la malla de servicios.
A medida que aumenta el número de servicios, aumenta exponencialmente el número de posibles formas de comunicarse. 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 única manera de configurar esas rutas de comunicación creando una política para la comunicación.
Una malla de servicios instrumenta los servicios y dirige el tráfico de comunicaciones según una configuración predefinida. Esto significa que en lugar de configurar un contenedor en ejecución (o escribir código para hacerlo), un administrador puede proporcionar la configuración a la malla de servicios y hacer que ésta complete ese trabajo. Antes, esto siempre tenía que ocurrir con los servidores sitio web y la comunicación de servicio a servicio.
La forma más común de hacerlo en un clúster es usar el patrón sidecar. Un sidecar es un nuevo contenedor dentro del pod que encamina y vigila el tráfico de comunicaciones entre servicios y contenedores.