BumbleBee, an excellent project to simplify the creation and distribution of eBPF programs

solo.io, the cloud computing company, microservices, sandboxed and serverless, unveiled the open source project "BumbleBee". The new project simplifies the developer experience to build, package and distribute eBPF tools, according to Solo.

BumbleBee automatically generates a user space code boilerplate to develop eBPF tools, the company explained. It also provides a Docker-like experience to package an eBPF program. This allows you to connect to other OCI image workflows for publishing and distribution.

About BumbleBee

BumbleBee makes it possible to package an eBPF program as a container image from the Open Container Initiative (OCI) that can run on any system without recompiling or using additional components in user space.

Interaction with the eBPF code in the kernel, including the processing of data coming from the eBPF processor, is handled by BumbleBee, which automatically exports this data in the form of metrics, histograms, or logs, which can be accessed, for example, using the curl utility. The proposed approach allows the developer to concentrate on writing eBPF code. and not get distracted by organizing interaction with this code from user space, assembly, and loading into the kernel.

The CEO of Solo.io, Idit Levine says that:

The company developed BumbleBee to automatically generate the repeating user-space code that is required to access eBPF technologies that run at the kernel level. BumbleBee includes a command line interface (CLI) that automatically generates user space code for eBPF programs by automatically exposing maps such as logs, metrics, and histograms.

To manage eBPF programs, a Docker-style "bee" utility is provided, with which you can immediately download the eBPF driver of interest from an external repository and run it on the local system.

The toolkit allows you to generate a C code framework for the eBPF drivers of a selected theme (currently only file and network drivers that intercept calls to the network stack and file systems are supported). Based on the generated framework, the developer can quickly implement the functionality that interests him.

Unlike BCC (BPF Compiler Collection), BumbleBee does not fully rebuild driver code for each kernel version Linux (BCC uses on-the-fly compilation with Clang every time the eBPF program is run).

To resolve portability issues, Are developing the tool kits CO-RE and libbpf, which allow you to compile code once and use a special universal loader that adapts the loaded program to the current kernel and BTF (BPF Type Format) types.

BumbleBee is a plugin on top of libbpf and provides additional types for automatic interpretation and display of data placed in standard RingBuffer and HashMap eBPF map structures.

To build the final eBPF program and save it as an OCI image, simply run the command:

bee build file_with_code name:version

And run the command

bee run name:version

By default, events received from the controller will be displayed in the terminal window, but if necessary you can get the data by calling the curl or wget utilities on the network port bound to the controller.

Drivers can be distributed through OCI-compliant repositories, for example, to run an external driver from the ghcr.io (GitHub Container Registry) repository, you can run the command

bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)

To put the controller in the repository, the command is offered

bee push

And to link the version

bee tag

The biggest benefit of eBPF is simply efficiency. The total cost of processing for security, networking, and storage platforms should decrease as more providers take advantage of their capabilities. 

Today, eBPF is widely used by web-scale companies such as cloud service providers. Facebook is using it as the main software-defined load balancer in its data centers, while Google is using open source Cilium networking software within its managed Kubernetes offerings. 

Going forward, though, Levine says it's now only a matter of time before eBPF becomes much more widely adopted as more operating systems enable the capability.

Finally if you want to know more about it, you can check the details In the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.