El nuevo programa de código abierto de Solo, BumbleBee, facilitará mucho la creación de programas eBPF de Linux
En 1992, el filtro de paquetes de Berkeley (BPF) se introdujo en los círculos de Unix como un filtro de paquetes de red nuevo y mejorado. Agradable, pero no tanto. Luego, en 2014, se cambió y se incorporó al kernel de Linux como BPF extendido (eBPF) . Una vez más, eso estuvo bien. Esta bien. Poco después, sin embargo, los desarrolladores comenzaron a usarlo para ejecutar código de espacio de usuario dentro de una máquina virtual (VM) en el kernel de Linux . Y luego fue un gran problema. Como dijo el experto en rendimiento informático de Netflix, Brendan Gregg, con eBPF, "los superpoderes finalmente han llegado a Linux ".
¿Qué superpoderes? eBPF le da el poder de ejecutar programas en el kernel de Linux sin cambiar el código fuente del kernel o agregar módulos adicionales. De hecho, actúa como una máquina virtual ligera dentro del espacio del kernel de Linux. Allí, los programas que pueden ejecutarse en eBPF se ejecutan mucho más rápido, mientras se aprovechan las características del kernel que no están disponibles para otros programas de Linux de nivel superior.
Por supuesto, ejecutar aplicaciones que se acercan al kernel incluso con eBPF no es fácil. Ahí es donde Solo.io , una empresa de redes de aplicaciones, entra en juego con su nuevo proyecto de código abierto, BumbleBee . BumbleBee simplifica la construcción, el empaquetado y la distribución de herramientas eBPF al generar automáticamente un código de espacio de usuario estándar para desarrollar herramientas eBPF.
Si eso suena un poco a Docker , tiene razón. Eso es por diseño. El código de BumbleBee también le permite conectar sus programas a otros flujos de trabajo de imágenes de Open Container Initiative (OCI) para su publicación y distribución. ¿Significa esto que podría incorporar programas eBPF en un flujo de trabajo de integración continua / desarrollo continuo (CI / CD) ? Si lo hace.
Normalmente, eBPF se utiliza como una forma segura de mejorar el kernel con tecnologías de observación, redes y seguridad. Estos programas se ejecutan en respuesta a eventos como la llegada de paquetes de red. Por lo general, los programas eBPF se escriben en un lenguaje de nivel superior, como C, y luego se compilan Just in Time (JIT) en un ensamblaje x86 para obtener el máximo rendimiento y seguridad.
La arquitectura eBPF espera que los programas eBPF se carguen como código de bytes, y el kernel tiene estructuras y formatos de datos que son específicos para cada versión del kernel. No es fácil, en letras mayúsculas. Además, empaquetar y distribuir estos programas binarios es tedioso, lento y propenso a errores. El objetivo de BumbleBee es simplificar el desarrollo, el empaquetado y el intercambio de herramientas eBPF y acelerar la adopción de eBPF.
"En Solo.io, vemos a eBPF como una tecnología habilitadora crítica que mejorará las redes de aplicaciones. Hemos estado trabajando durante el último año para aprovechar la tecnología eBPF con Gloo Mesh , nuestra oferta de malla de servicios basada en Istio para la empresa", dijo Idit Levine, fundador y director ejecutivo de Solo.io. "Al desarrollar extensiones de eBPF, nos hemos enfrentado a muchos desafíos técnicos, y esto nos llevó a desarrollar BumbleBee para ayudar a optimizar nuestros esfuerzos de eBPF. Dado que realmente creemos en los beneficios de eBPF, estamos felices de compartir BumbleBee con la comunidad para acelerar la adopción de eBPF. . "
BumbleBee incluye una interfaz de línea de comandos (CLI) que genera automáticamente el código de espacio de usuario para programas eBPF al exponer mapas automáticamente como registros, métricas e histogramas. El desarrollador solo tiene que preocuparse por escribir el código eBPF.
Solo.io construyó BumbleBee usando libbpf , un nuevo conjunto de herramientas para crear programas BPG. Con él, por ejemplo, puede escribir sondas eBPF sin código de espacio de usuario. BumbleBee detecta y muestra automáticamente mapas en su programa que permiten que el espacio del usuario y los programas de espacio del kernel compartan datos. Esto se logra mediante el uso de convenciones y palabras clave especiales de BPF.
Si está trabajando con eBPF, BumbleBee exige su atención. Incluso en esta etapa temprana, puede ayudarlo a escribir programas eBPF de manera más rápida y segura.
Historias relacionadas:
Netflix presenta la codificación AV1 en PC con Linux
Netflix: Misterios Sin Resolver hace su triunfal regreso en julio
[Fuente]: zdnet.com
Anónimo.( 6 de Enero de 2022).BumbleBee. [Fotografía]. Modificado por Carlos Zambrado Recuperado de bumblebee-project.org