Service Mesh
Capa de infraestructura dedicada a gestionar la comunicación entre microservicios, proporcionando observabilidad, seguridad y control de tráfico de forma transparente.
¿Qué es?
Un service mesh es una capa de infraestructura que gestiona la comunicación entre microservicios de forma transparente. Cada servicio tiene un proxy sidecar que intercepta todo el tráfico de red, proporcionando observabilidad, seguridad y control sin modificar el código de la aplicación.
Capacidades
| Capacidad | Qué resuelve | Sin mesh | Con mesh |
|---|---|---|---|
| Observabilidad | Visibilidad del tráfico | Instrumentar cada servicio manualmente | Métricas, traces y logs automáticos |
| Seguridad | Cifrado entre servicios | Configurar TLS en cada servicio | mTLS automático, rotación de certificados |
| Control de tráfico | Deploys seguros | Todo o nada | Canary, traffic splitting, circuit breakers |
| Políticas | Gobernanza | Implementar en cada servicio | Rate limiting y access control centralizados |
Implementaciones
| Service Mesh | Proxy | Características |
|---|---|---|
| Istio | Envoy | El más completo, complejo |
| Linkerd | linkerd2-proxy | Ligero, simple |
| AWS App Mesh | Envoy | Integración AWS nativa |
| Consul Connect | Envoy | Multi-plataforma |
¿Cuándo necesitas un service mesh?
- Muchos microservicios (>10) comunicándose entre sí
- Necesitas mTLS entre servicios
- Requieres observabilidad detallada del tráfico
- Canary deployments o traffic splitting
¿Por qué importa?
Un service mesh gestiona la comunicación entre microservicios de forma transparente: mTLS, circuit breaking, observabilidad y traffic management sin modificar el código de la aplicación. Es la capa de red que hace operables los sistemas distribuidos complejos.
Referencias
- Istio Documentation — Documentación oficial.
- Linkerd — Service mesh ligero.
- Envoy Proxy — CNCF, 2024. Proxy de alto rendimiento usado por la mayoría de service meshes.
Contenido relacionado
- Kubernetes
Plataforma de orquestación de contenedores que automatiza el despliegue, escalado y gestión de aplicaciones containerizadas a escala, convirtiéndose en el estándar de facto para cloud native.
- Microservicios
Estilo arquitectónico que estructura una aplicación como colección de servicios pequeños, independientes y desplegables, cada uno con su propia lógica de negocio y datos.
- Zero Trust
Arquitectura de seguridad que verifica rigurosamente cada solicitud independientemente de su origen, eliminando la confianza implícita en redes internas.
- Patrón API Gateway
Patrón que proporciona un punto de entrada único para múltiples microservicios, manejando routing, autenticación, rate limiting y agregación de respuestas.