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

DSL oder Kabel – Welcher Anschluss passt zu Ihnen?

Internet in den eigenen vier Wänden ist heutzutage nicht mehr wegzudenken. Denn egal, ob Homeoffice…

7 Minuten ago

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

4 Stunden ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

5 Stunden ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

5 Stunden ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

20 Stunden ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

22 Stunden ago