Service Mesh
Un service mesh es una capa de infraestructura que gestiona la comunicación entre microservicios. Maneja gestión de tráfico, seguridad y observabilidad de forma transparente para la aplicación.
¿Qué es un Service Mesh?
Un service mesh es una capa de infraestructura dedicada para la comunicación servicio a servicio en arquitecturas de microservicios. Se coloca como un proxy transparente entre los servicios y maneja tareas como balanceo de carga, cifrado, autenticación, lógica de reintentos y observabilidad – sin requerir cambios en la aplicación.
¿Cómo funciona un Service Mesh?
Patrón Sidecar Proxy
El patrón clásico de service mesh se basa en proxies sidecar. Junto a cada contenedor de servicio, se inyecta automáticamente un contenedor proxy (típicamente Envoy). Este proxy sidecar intercepta todo el tráfico de red entrante y saliente y aplica las políticas configuradas. La aplicación solo se comunica con el proxy local.
Control Plane y Data Plane
Un service mesh consta de dos capas. El data plane engloba todos los proxies sidecar y procesa el tráfico real. El control plane configura y gestiona los proxies centralmente. Defines reglas en el control plane y el data plane las ejecuta.
Implementaciones populares de Service Mesh
- Istio: El service mesh más extendido con funcionalidades completas para gestión de tráfico, seguridad y observabilidad. Complejo pero muy potente.
- Linkerd: Un service mesh ligero enfocado en Kubernetes con bajo overhead y fácil operación.
- Cilium Service Mesh: Service mesh basado en eBPF que opera sin proxies sidecar, haciéndolo especialmente eficiente.
Funciones principales de un Service Mesh
Gestión de tráfico
Un service mesh permite control granular sobre el tráfico de red: canary deployments, pruebas A/B, división de tráfico, circuit breaking y manejo inteligente de reintentos. Por ejemplo, puedes dirigir el 5% del tráfico a una nueva versión y hacer rollback automáticamente ante errores.
Mutual TLS (mTLS)
Los service meshes cifran automáticamente la comunicación entre servicios con mTLS. Cada servicio recibe su propio certificado que se rota regularmente. Esto asegura que solo servicios autenticados puedan comunicarse entre sí – zero trust a nivel de red.
Observabilidad
El service mesh genera automáticamente métricas, trazas y logs para cada comunicación servicio a servicio. Obtienes una visión completa de latencias, tasas de error y dependencias sin cambios en el código.
¿Cuándo necesito un Service Mesh?
Un service mesh vale la pena con más de 10-15 servicios, cuando necesitas control granular del tráfico, cifrado mTLS automático u observabilidad completa sin cambios de código. Para configuraciones más pequeñas, el overhead suele ser excesivo – los mecanismos nativos de Kubernetes como Network Policies e Ingress Controllers son suficientes.
Service Mesh para empresas medianas
Para empresas medianas, recomendamos introducir un service mesh solo cuando el panorama de microservicios haya alcanzado un tamaño crítico. Comienza con Linkerd para una entrada ligera o evalúa Cilium Service Mesh si ya usas Cilium como CNI. La inversión se recupera a través de seguridad simplificada y mejor observabilidad.
Preguntas frecuentes sobre Service Mesh
Un API gateway es el punto de entrada central para tráfico externo (norte-sur). Un service mesh gestiona la comunicación interna entre servicios (este-oeste). Ambos se complementan – el API gateway para clientes externos, el service mesh para la red interna.
Un service mesh basado en sidecar típicamente añade 1-3ms de latencia por salto. Para la mayoría de aplicaciones, esto es insignificante. Las soluciones basadas en eBPF como Cilium Service Mesh minimizan el overhead al trabajar a nivel de kernel.
Un service mesh simplifica significativamente mTLS pero no es la única opción. Puedes implementar mTLS manualmente con cert-manager y TLS a nivel de aplicación – pero esto es considerablemente más complejo de gestionar y escalar.
Para comenzar, recomendamos Linkerd por su menor complejidad y consumo de recursos. Istio ofrece más funcionalidades pero requiere más experiencia operativa. La elección depende de tus requisitos y el tamaño del equipo.
Términos relacionados
Servicios relacionados
DevSecOps
Seguridad reforzada, integrada en cada capa del stack de infraestructura.
Kubernetes
Orquestación de contenedores a gran escala: diseñamos, operamos y gestionamos clústeres Kubernetes listos para producción.
Observabilidad
Monitoreo y alertas Full-Stack que predicen incidencias antes de que los usuarios se vean afectados.
Edge Networking
Optimización global de CDN y enrutamiento BGP para aplicaciones de misión crítica.
Última actualización: abril 2026