Categories: Open SourceSoftware

Solo BumbleBee erleichtert Linux eBPF-Programmierung

Seit 1992 gibt es den Berkeley Packet Filter (BPF) für Unix als verbesserten Netzwerk-Paketfilter. Im Jahr 2014 wurde er geändert und als erweiterter BPF (eBPF) in den Linux-Kernel aufgenommen. Bald darauf begannen Entwickler jedoch, es zur Ausführung von Userspace-Code innerhalb einer virtuellen Maschine (VM) auf dem Linux-Kernel zu verwenden.  Und dann war es eine große Sache. Wie der Netflix-Experte für Computerleistung, Brendan Gregg, sagte, sind mit eBPF „die Supermächte endlich zu Linux gekommen“.

Welche Superkräfte? eBPF gibt Ihnen die Möglichkeit, Programme im Linux-Kernel auszuführen, ohne den Kernel-Quellcode zu verändern oder zusätzliche Module hinzuzufügen. Es handelt sich dabei um eine leichtgewichtige Umgebung (VM) innerhalb des Linux-Kernels. Programme, die in eBPF ausgeführt werden können, laufen viel schneller und profitieren von Kernel-Funktionen, die anderen Linux-Programmen auf höherer Ebene nicht zur Verfügung stehen.

Natürlich ist es nicht einfach, Anwendungen so nah am Kernel auszuführen, selbst mit eBPF. An dieser Stelle kommt Solo.io, ein Unternehmen für Anwendungsnetzwerke, mit seinem neuen Open-Source-Projekt BumbleBee ins Spiel. BumbleBee vereinfacht das Erstellen, Verpacken und Verteilen von eBPF-Tools durch die automatische Generierung von Boilerplate-User-Space-Code für die Entwicklung von eBPF-Tools.

Es gibt dabei Ähnlichkeiten zu Docker. Das ist so gewollt. Der Code von BumbleBee ermöglicht es Ihnen auch, seine Programme in andere Image-Workflows der Open Container Initiative (OCI) zur Veröffentlichung und Verteilung einzubinden. Das bedeutet, dass Sie eBPF-Programme in einen Continuous Integration/Continuous Development (CI/CD)-Workflow einbinden können.

Normalerweise wird eBPF als sicherer Weg verwendet, um den Kernel mit Beobachtbarkeit, Netzwerk- und Sicherheitstechnologien zu erweitern. Diese Programme werden als Reaktion auf Ereignisse wie eintreffende Netzwerkpakete ausgeführt. eBPF-Programme werden in der Regel in einer höheren Sprache, wie beispielsweise C, geschrieben und dann Just in Time (JIT) in x86-Assembler kompiliert, um maximale Leistung und Sicherheit zu gewährleisten.

Die eBPF-Architektur erwartet, dass eBPF-Programme als Bytecode geladen werden, und der Kernel hat Datenstrukturen und Formate, die für jede Kernelversion spezifisch sind. Das ist, in Großbuchstaben, nicht einfach. Darüber hinaus ist das Verpacken und Verteilen dieser Binärprogramme mühsam, zeitaufwändig und fehleranfällig. Das Ziel von BumbleBee ist es, die Entwicklung, die Paketierung und den Austausch von eBPF-Tools zu vereinfachen und die Verbreitung von eBPF zu beschleunigen.

„Bei Solo.io sehen wir eBPF als eine entscheidende Technologie, die die Vernetzung von Anwendungen verbessern wird. Wir haben im letzten Jahr daran gearbeitet, die eBPF-Technologie mit Gloo Mesh zu nutzen, unserem Istio-basierten Service-Mesh-Angebot für Unternehmen“, erklärt Idit Levine, Gründer und CEO von Solo.io. „Während der Entwicklung von eBPF-Erweiterungen sahen wir uns mit vielen technischen Herausforderungen konfrontiert, was uns dazu brachte, BumbleBee zu entwickeln, um unsere eBPF-Bemühungen zu rationalisieren. Da wir von den Vorteilen von eBPF überzeugt sind, freuen wir uns, BumbleBee mit der Community zu teilen, um die Einführung von eBPF zu beschleunigen.“

BumbleBee enthält eine Befehlszeilenschnittstelle (CLI), die automatisch den User-Space-Code für eBPF-Programme generiert, indem sie die Maps automatisch als Logs, Metriken und Histogramme darstellt. Der Entwickler muss sich nur um das Schreiben des eBPF-Codes kümmern.

Solo.io hat BumbleBee unter Verwendung von libbpf entwickelt, einem neuen Toolset für die Erstellung von BPG-Programmen. Damit können Sie zum Beispiel eBPF-Sonden mit null Userspace-Code schreiben. BumbleBee erkennt und zeigt automatisch Karten in Ihrem Programm an, die es dem User-Space- und dem Kernel-Space-Programm ermöglichen, Daten gemeinsam zu nutzen. Dies wird durch die Verwendung von speziellen BPF-Konventionen und Schlüsselwörtern erreicht.

Wenn Sie mit eBPF arbeiten, verdient BumbleBee Ihre Aufmerksamkeit. Selbst in diesem frühen Stadium kann es Ihnen helfen, eBPF-Programme schneller und sicherer zu schreiben.

ZDNet.de Redaktion

Recent Posts

Microsoft nennt weitere Details zu kostenpflichtigen Patches für Windows 10

Erstmals liegen Preise für Verbraucher vor. Sie zahlen weniger als Geschäftskunden. Dafür beschränkt Microsoft den…

14 Stunden ago

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

1 Tag ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

1 Tag ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

1 Tag ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

2 Tagen ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

2 Tagen ago