BPF, o eBPF (extended BPF), es una máquina virtual de propósito general dentro del kernel de Linux que permite a los desarrolladores ejecutar programas personalizados en puntos de enganche predefinidos (hooks) del kernel. Estos programas se escriben en un subconjunto restringido de C, se compilan a bytecode BPF y luego son verificados por un 'verifier' del kernel para asegurar que son seguros (no pueden causar crashes, bucles infinitos o acceder a memoria no autorizada) antes de ser cargados y ejecutados. BPF proporciona acceso de bajo nivel a eventos del kernel, como llamadas al sistema, eventos de red, trazas de funciones y puntos de sondeo (probes), ofreciendo una flexibilidad sin precedentes para extender la funcionalidad del kernel de forma segura y performante.
BPF ha trascendido su origen como filtro de paquetes para convertirse en una herramienta fundamental en una amplia gama de sistemas. Ejemplos concretos incluyen: Cilium, que lo utiliza para implementar redes y políticas de seguridad de alto rendimiento en Kubernetes; Falco, que lo emplea para la detección de amenazas y anomalías a nivel de kernel; y herramientas de observabilidad como bpftrace y BCC (BPF Compiler Collection), que permiten la instrumentación dinámica y el análisis de rendimiento sin modificar las aplicaciones ni reiniciar servicios. También es la base de soluciones de balanceo de carga de alto rendimiento y firewalls distribuidos.
Para un Arquitecto Staff+, BPF es crucial porque redefine la observabilidad, la seguridad y la capacidad de red a escala. Permite la creación de soluciones de infraestructura altamente eficientes y personalizadas sin la sobrecarga de los módulos de kernel tradicionales o la necesidad de modificar el kernel. Esto se traduce en menor latencia, mayor rendimiento y una superficie de ataque reducida. Sin embargo, su complejidad requiere un profundo conocimiento del kernel y sus interfaces. La decisión de adoptar BPF implica un trade-off entre la potencia y flexibilidad que ofrece versus la curva de aprendizaje y la necesidad de experiencia especializada para diseñar, depurar y mantener programas BPF de manera efectiva en entornos de producción críticos.