Tema 17

17. Service mesh, mTLS y políticas de tráfico entre microservicios

Cuando la cantidad de microservicios crece, reforzar identidad, cifrado y control de tráfico en cada servicio manualmente se vuelve costoso y difícil de sostener. El service mesh aparece como una capa que puede estandarizar parte de estas funciones, siempre que se entienda bien su alcance y sus límites.

Objetivo Aplicar identidad y control de tráfico de forma consistente
Enfoque mTLS, políticas y observabilidad de red interna
Resultado Reducir confianza implícita entre servicios

17.1 Introducción

En arquitecturas pequeñas todavía puede ser viable que cada servicio gestione manualmente autenticación mutua, métricas de tráfico, retries, timeouts y políticas de acceso hacia otros servicios. A medida que la plataforma crece, sostener esa lógica de manera homogénea se vuelve difícil.

El service mesh intenta resolver parte de ese problema agregando una capa dedicada a la comunicación entre servicios. Esa capa puede ofrecer cifrado automático, identidad de workloads, políticas declarativas, telemetría de red y control fino del tráfico.

Sin embargo, es importante evitar una idea peligrosa: el service mesh no reemplaza por sí solo el diseño seguro de aplicaciones, la autorización de negocio ni la gobernanza del clúster. Su valor aparece cuando complementa esas piezas, no cuando se usa como sustituto de todo lo demás.

17.2 Qué es un service mesh

Un service mesh es una capa de infraestructura orientada a gestionar la comunicación entre servicios. En muchos modelos se apoya en proxies que interceptan tráfico de entrada y salida de los workloads, permitiendo aplicar políticas y recopilar telemetría sin reimplementar todo dentro del código de aplicación.

Esto permite separar cierta lógica transversal de red y observabilidad de la lógica de negocio, aunque también introduce complejidad adicional de operación.

17.3 Qué problemas intenta resolver

Problema Qué aporta la malla Límite
Tráfico interno sin cifrar mTLS entre workloads No reemplaza autorización de negocio
Falta de identidad de servicios Identidad de workload verificable No resuelve identidades humanas ni permisos funcionales por sí sola
Políticas de tráfico inconsistentes Reglas declarativas y centralizadas Puede volverse compleja si no se gobierna
Poca visibilidad del tráfico este-oeste Métricas, logs y trazas de red No muestra toda la semántica del dominio

17.4 mTLS entre microservicios

Uno de los beneficios más valorados del service mesh es habilitar mTLS de forma más transparente entre workloads. Esto permite que cada servicio no solo cifre el tráfico, sino que también autentique al extremo remoto con identidad verificable.

En términos prácticos, mTLS dentro de la malla ayuda a:

  • Evitar que un servicio acepte tráfico de un origen no legítimo.
  • Reducir exposición frente a observación de tráfico interno.
  • Materializar mejor principios de Zero Trust dentro del clúster.

17.5 Identidad de workload y políticas basadas en identidad

Cuando el mesh emite o utiliza identidades de workload de forma consistente, las políticas pueden expresarse en términos más ricos que simplemente IPs o segmentos de red. Esto mejora claridad y reduce acoplamiento con detalles efímeros del runtime.

Por ejemplo, puede resultar más robusto permitir tráfico desde un servicio identificado como parte de cierto dominio que desde una dirección o pod específico que cambiará con los despliegues.

17.6 Políticas de tráfico

Además del cifrado, el service mesh suele permitir aplicar reglas sobre cómo se enruta, limita o observa el tráfico entre servicios. Esto puede incluir timeouts, retries, circuit breaking, rate limiting, routing por versión o denegación de tráfico entre ciertos workloads.

El valor aparece cuando esas políticas son coherentes, auditables y alineadas con las capacidades reales del sistema. Si se vuelven una colección caótica de reglas ad hoc, la malla deja de simplificar y pasa a oscurecer.

17.7 Observabilidad del tráfico este-oeste

Muchos problemas de plataformas distribuidas ocurren en el tráfico interno entre servicios. El service mesh suele mejorar la observabilidad de ese tráfico al exponer métricas, errores, latencias y patrones de comunicación que antes quedaban invisibles o fragmentados.

Esto es útil tanto para performance como para seguridad:

  • Ayuda a detectar rutas inesperadas de comunicación.
  • Permite ver servicios que reciben tráfico fuera de lo previsto.
  • Facilita auditoría sobre quién habló con quién y cuándo.

17.8 Límites reales del service mesh

El service mesh no reemplaza varios controles que siguen siendo necesarios:

  • No decide por sí solo si una operación de negocio está permitida.
  • No corrige payloads inseguros ni validaciones de entrada débiles.
  • No elimina la necesidad de RBAC, network policies o hardening del clúster.
  • No evita errores de diseño en contratos, secretos o exposición de datos.
El service mesh mejora el plano de comunicación. No reemplaza la responsabilidad de cada servicio sobre sus datos, su lógica y sus permisos de negocio.

17.9 Complejidad operativa

Agregar una malla también implica más componentes, certificados, proxies, políticas y puntos de fallo potencial. Esto exige madurez operacional. Si el equipo no tiene visibilidad suficiente o no entiende el comportamiento de la malla, puede terminar con una plataforma más difícil de operar y depurar.

Las preguntas importantes aquí son:

  • Quién administra la malla.
  • Cómo se versionan y validan las políticas.
  • Cómo se depuran fallos de conectividad o identidad.
  • Qué impacto tiene la malla sobre latencia y consumo.

17.10 Sidecars y superficie adicional

En muchos diseños de service mesh los sidecars se convierten en parte del runtime de cada pod. Eso mejora consistencia de control, pero también amplía la cantidad de componentes que deben mantenerse, observarse y endurecerse.

Si los sidecars o sus configuraciones se vuelven demasiado opacos, la investigación de incidentes y la resolución de problemas puede volverse considerablemente más compleja.

17.11 Políticas declarativas y gobierno

El valor de una malla aumenta cuando las políticas de tráfico e identidad se expresan de forma declarativa, revisable y versionada. Esto permite entender qué servicios están autorizados a hablar entre sí y bajo qué condiciones.

Sin ese gobierno, es común acumular excepciones, bypasses y reglas temporales que luego nadie recuerda por qué existen.

17.12 Escenarios donde aporta más valor

  • Plataformas con muchos microservicios y múltiples equipos.
  • Entornos donde el tráfico interno necesita identidad y cifrado homogéneos.
  • Casos donde la observabilidad del tráfico este-oeste es crítica.
  • Organizaciones que ya tienen madurez en Kubernetes y gobierno de plataforma.

En entornos pequeños o inmaduros, la complejidad del mesh puede superar sus beneficios si se adopta demasiado pronto.

17.13 Errores comunes

  • Asumir que mTLS resuelve autorización funcional entre servicios.
  • Introducir la malla sin capacidad de observación y troubleshooting.
  • Acumular políticas sin versionado ni revisión.
  • No entender qué tráfico queda dentro o fuera del alcance del mesh.
  • Usar la malla para tapar problemas de diseño de APIs o de límites de dominio.
La malla no debe compensar una arquitectura confusa. Debe reforzar una arquitectura que ya tiene límites y responsabilidades razonablemente claros.

17.14 Qué debes recordar de este tema

  • El service mesh ayuda a estandarizar identidad, cifrado y políticas de tráfico entre servicios.
  • mTLS reduce confianza implícita en el tráfico interno.
  • Las políticas basadas en identidad suelen ser más robustas que las basadas solo en red.
  • La malla mejora observabilidad del tráfico este-oeste, pero no reemplaza controles de negocio.
  • Su adopción solo vale la pena cuando la organización puede sostener su complejidad operativa.

17.15 Conclusión

Un service mesh bien operado puede transformar la seguridad y gobernanza de la comunicación interna entre microservicios. Permite aplicar mTLS, identidad de workloads y políticas de tráfico de manera más uniforme, además de mejorar la visibilidad del sistema. Pero su valor depende de usarlo como complemento de una arquitectura ya razonablemente sana, no como reemplazo de diseño, permisos o validaciones de negocio.

En el próximo tema estudiaremos supply chain security: dependencias, SBOM, firma y verificación de artefactos para mover el foco desde el runtime hacia la confianza en lo que construimos y desplegamos.