Het veelzijdige eBPF Linux-programma krijgt een eigen fundament

0
83

Steven J. Vaughan-Nichols

Door Steven J. Vaughan-Nichols voor Linux en Open Source | 13 augustus 2021 — 20:16 GMT (21:16 BST) | Onderwerp: Bedrijfssoftware

In 1992 werd het Berkeley Packet Filter (BPF) in Unix-kringen geïntroduceerd als een nieuw, veel sneller netwerkpakketfilter. Dat was leuk, maar verre van revolutionair. Jaren later, in 2014, werd het aangepast en in de Linux-kernel gebracht als uitgebreide BPF (eBPF). Daar zou het radicaal nieuwe functies aan Linux toevoegen en het wordt gebruikt voor tal van nuttige op Linux gebaseerde projecten en eBPF gaat ook over van Linux naar Windows.

Wat is er zo speciaal aan? Eenvoudig, met eBPF kunt u programma's in de Linux-kernel uitvoeren zonder de kernelbroncode te wijzigen of extra modules toe te voegen. In feite werkt het als een lichtgewicht, sandbox virtuele machine (VM) in de Linux-kernelruimte. Daar werken programma's die in eBPF kunnen worden uitgevoerd veel sneller, terwijl ze profiteren van kernelfuncties die niet beschikbaar zijn voor andere Linux-programma's van een hoger niveau.

Zoals Thomas Graf, CTO van Isovalent & Mede-oprichter en voorzitter van de raad van bestuur van eBPF legt uit: 

Historisch gezien is het besturingssysteem altijd een ideale plek geweest om waarneembaarheid, beveiliging en netwerkfunctionaliteit te implementeren vanwege het bevoorrechte vermogen van de kernel om het hele systeem te overzien en te besturen. Tegelijkertijd is de kernel van een besturingssysteem moeilijk te ontwikkelen vanwege zijn centrale rol en hoge eisen aan stabiliteit en veiligheid. Het innovatietempo op het niveau van het besturingssysteem is dus traditioneel lager in vergelijking met functionaliteit die buiten het besturingssysteem wordt geïmplementeerd.

EBPF verandert deze formule fundamenteel. Door sandbox-programma's binnen het besturingssysteem te laten draaien, stelt eBPF ontwikkelaars in staat om eBPF-programma's te maken die tijdens runtime mogelijkheden aan het besturingssysteem toevoegen. Het besturingssysteem garandeert vervolgens de veiligheid en efficiëntie van de uitvoering alsof het native is gecompileerd met behulp van een Just-In-Time (JIT) compiler en verificatie-engine. Dit heeft geleid tot een golf van op eBPF gebaseerde projecten die een breed scala aan gebruiksscenario's omvatten, waaronder de volgende generatie netwerken, observatie en beveiligingsfunctionaliteit.

Dit heeft de manier veranderd waarop besturingssystemen en infrastructuurdiensten werken samen. Het overbrugde de kloof tussen kernel- en gebruikersruimteprogramma's. EBPF heeft ontwikkelaars ook in staat gesteld om logica te combineren en toe te passen op meerdere subsystemen die traditioneel volledig onafhankelijk waren.

Deze nieuwe programma's bevatten debuggers van de Linux-kernel, zoals bpftrace; cloud-native beveiligingssoftware met Falco en Kubernetes-beveiligingstoepassingen met Hubble. Dat zijn veel nieuwe, belangrijke programma's en er komen er nog meer aan. Het was dus alleen maar logisch om een ​​nieuwe basis voor het project te vormen: de door de Linux Foundation gesponsorde eBPF Foundation.

Je kunt beoordelen hoe belangrijk mensen het zien door de stichtende leden. Deze omvatten Facebook, Google, Isovalent, Microsoft en Netflix. Waarom? Omdat het al nuttig voor ze is. Facebook gebruikt bijvoorbeeld eBPF als de primaire softwaregedefinieerde load balancer in zijn datacenters, en Google gebruikt Cilium om op eBPF gebaseerde netwerken en beveiliging naar zijn beheerde Kubernetes-aanbiedingen GKE en Anthos te brengen.

Deze explosie van op eBPF gebaseerde projecten maakt het een van de meest invloedrijke technologieën in de wereld van infrastructuursoftware. Dus, zei Graf, “is de vraag groot om de samenwerking tussen projecten te optimaliseren en ervoor te zorgen dat de kern van eBPF goed wordt onderhouden en uitgerust met een duidelijke routekaart en visie voor de mooie toekomst die eBPF in het verschiet ligt. Dit is waar de eBPF Foundation van pas komt, en richt een eBPF-stuurgroep op om te zorgen voor de technische richting en visie van eBPF.Bovendien, met de poort van eBPF naar de Windows-kernel en extra poorten naar andere platforms op komst, wordt de kwestie van eBPF-programmaportabiliteit en eBPF-runtimevereisten belangrijker en vereist coördinatie.”

Wil meer weten? Ga naar de gratis en virtuele eBPF Summit, op 18-19 augustus 2021. Je zult blij zijn dat je dat gedaan hebt. EBPF brengt fundamentele veranderingen aan in netwerken, beveiliging en applicaties in de hele infrastructuurstack, van pc's tot de cloud.

Verwante verhalen:

De eBPF van Linux nu overzetten naar Windows 10 en Windows ServerPatch: beveiligingslek in Linux-bestandssysteem, Sequoia genaamd, kan systemen overnemen New Relic open source Pixie, het Kubernetes-native in-cluster observatieplatform

gerelateerde onderwerpen:

Linux Cloud Big Data Analytics Innovatietechnologie en samenwerking op het werk Steven J. Vaughan-Nichols

Door Steven J. Vaughan-Nichols voor Linux en open source | 13 augustus 2021 — 20:16 GMT (21:16 BST) | Onderwerp: Bedrijfssoftware