Categorías

Arquitectura

Service mesh en 2024: Ambient de Istio y Cilium Mesh

En 2024, el debate sidecar sí o no ya tiene respuesta: Istio Ambient Mesh y Cilium Service Mesh llevan sidecarless a producción, mientras Linkerd sigue con sidecars ultraligeros en Rust. La elección correcta depende del CNI que ya usas, las funciones que necesitas y el tamaño de tu equipo de operaciones, no de qué proyecto es mejor en abstracto.

Arquitectura

Cilium Service Mesh: cuando no necesitas sidecars

Cilium Service Mesh sustituye los sidecars de Istio o Linkerd por eBPF en el kernel: aplica políticas, cifrado WireGuard y observabilidad con Hubble sin un proxy por pod, y reduce el consumo de memoria de unos 100 GB a unos 5 GB en un clúster de 100 nodos. Conviene en clústeres grandes con equipos que dominan eBPF.

Arquitectura

Linkerd: la alternativa pragmática al service mesh

Linkerd es el service mesh para Kubernetes que elige simplicidad frente a catálogo de funcionalidades. Su proxy en Rust consume ~10 MB de RAM por sidecar, frente a los 50-100 MB de Envoy bajo Istio. Esta comparativa explica cuándo vale la pena adoptarlo, qué cuesta operarlo y cuándo Istio tiene más sentido.

Arquitectura

Service mesh en 2023: Istio, Linkerd y la opcion Cilium

Un service mesh añade mTLS, observabilidad uniforme y gestión de tráfico entre microservicios sin modificar el código de las aplicaciones. El ecosistema está consolidado: Istio es el más completo y complejo, Linkerd prioriza la simplicidad con proxies en Rust, y Cilium aporta service mesh sin sidecars mediante eBPF.

Arquitectura

Cilium y el futuro de la red de contenedores con eBPF

Cilium reemplaza iptables con programas eBPF en el kernel de Linux, sustituyendo cadenas lineales O(n) por lookups hash O(1). Los benchmarks muestran hasta un 50 % menos de latencia, el doble de throughput y un 70 % menos de CPU de kernel en clústeres Kubernetes.

Arquitectura

Kubernetes 1.28: contenedores sidecar como ciudadanos de primera

Kubernetes 1.28 introduce sidecar containers nativos en alpha mediante KEP-753: añadir el campo restartPolicy Always a initContainers garantiza el orden de arranque y apagado correcto. Resuelve el problema de Jobs que nunca terminan. Istio, Linkerd y agentes de observabilidad como Fluent Bit son los beneficiarios directos.