Categorías

Metodologías

Profiling continuo con eBPF en producción

El profiling continuo con eBPF toma muestras del stack de cada proceso cada pocos milisegundos sin tocar el código, y guarda el historial para comparar el rendimiento de una semana con otra. El coste medido en producción está entre el 1% y el 3% de CPU, y compensa sobre todo en bases de datos, pasarelas de API y servicios de alta concurrencia.

Tecnología

eBPF para profiling continuo: Parca y Beyla

El profiling continuo con eBPF captura flame graphs de CPU de todos los procesos de un nodo Linux las 24 horas, sin instrumentar código ni reiniciar servicios, con menos del 1 % de overhead. Parca cubre el clúster completo, Beyla añade métricas y trazas HTTP/gRPC automáticas, y Pyroscope aporta detalle nativo por lenguaje en los servicios más críticos.

Herramientas

Grafana Beyla: auto-instrumentación sin tocar código

Grafana Beyla es un agente eBPF que instrumenta automáticamente aplicaciones existentes sin tocar su código: observa las syscalls del kernel y genera trazas OpenTelemetry y métricas RED para servicios en Go, Java, Python, Node y Rust. Aporta cobertura amplia e inmediata, pero no sustituye al SDK manual para métricas de negocio y lógica interna.

Tecnología

Parca: perfilado continuo abierto basado en eBPF

Parca es una herramienta de perfilado continuo basada en eBPF que analiza el uso de CPU de todo el clúster de Kubernetes las 24 horas, sin instrumentar el código y con un overhead inferior al 1 %. Sirve para detectar regresiones de rendimiento antes de producción y para leer flame graphs al depurar.

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

Monitorización de contenedores: más allá de cAdvisor

cAdvisor sigue incluido en kubelet y cubre métricas de superficie, pero en un cluster Kubernetes de producción no basta. El stack mínimo moderno combina cAdvisor con kube-state-metrics, node-exporter, Prometheus y Grafana como base; eBPF para visibilidad profunda de red y syscalls; y OpenTelemetry para contexto de aplicación.

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.

Tecnología

Falco: deteccion de amenazas en tiempo de ejecucion con eBPF

Falco es un proyecto graduado de la CNCF que engancha el kernel de Linux con eBPF y detecta comportamientos anómalos en syscalls sin instrumentar ninguna aplicación. Se despliega como DaemonSet en Kubernetes, emite eventos en JSON y necesita proceso de triaje para aportar valor. En producción, la alert fatigue es el problema más común.

Arquitectura

eBPF: observabilidad en el kernel sin recompilar

eBPF es una tecnología del kernel de Linux que permite cargar y ejecutar programas verificados con alto rendimiento, sin recompilar el kernel ni reiniciar el sistema. Corre de forma segura en una máquina virtual dentro del kernel y es la base de herramientas como Cilium, Pixie, Falco y Tetragon para tracing, redes y seguridad en tiempo real.

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

Pixie: observabilidad nativa de Kubernetes con eBPF

Pixie usa eBPF para instrumentar automáticamente clústeres de Kubernetes sin modificar el código de la aplicación. Un agente por nodo captura tráfico HTTP, gRPC, SQL y Redis a nivel de kernel y expone en minutos mapa de servicios, perfiles de CPU y trazas SQL. Complementa a Prometheus para diagnóstico reactivo sin sidecars ni redeploys.

Tecnología

eBPF: monitorización de alto rendimiento en Linux

eBPF (Extended Berkeley Packet Filter) es una tecnología del kernel de Linux que ejecuta programas verificados directamente en el kernel, sin módulos ni cambios de código fuente. El verificador rechaza cualquier programa inseguro antes de ejecutarlo, y permite monitorizar llamadas al sistema, tráfico de red y operaciones de E/S con menor coste de CPU que las sondas externas tradicionales.