Il poliedrico programma eBPF Linux trova le sue fondamenta

0
149

Steven J. Vaughan-Nichols

Di Steven J. Vaughan-Nichols per Linux e Open Source | 13 agosto 2021 — 20:16 GMT (21:16 BST) | Argomento: Software aziendale

Nel 1992, il Berkeley Packet Filter (BPF) è stato introdotto negli ambienti Unix come un nuovo filtro di pacchetti di rete molto più veloce. È stato bello, ma tutt'altro che rivoluzionario. Anni dopo, nel 2014, è stato modificato e portato nel kernel Linux come BPF esteso (eBPF). Lì aggiungerebbe nuove funzionalità radicali a Linux e viene utilizzato per numerosi e utili progetti basati su Linux e anche eBPF si sta spostando da Linux a Windows.

Cosa c'è di così speciale? Semplice, eBPF consente di eseguire programmi nel kernel Linux senza modificare il codice sorgente del kernel o aggiungere moduli aggiuntivi. In effetti, si comporta come una macchina virtuale (VM) sandbox leggera all'interno dello spazio del kernel Linux. Lì, i programmi che possono essere eseguiti in eBPF vengono eseguiti molto più velocemente, sfruttando le funzionalità del kernel non disponibili per altri programmi Linux di livello superiore.

Come Thomas Graf, CTO di Isovalent & Il cofondatore e presidente del consiglio di amministrazione di eBPF ha spiegato: 

Storicamente, il sistema operativo è sempre stato un luogo ideale per implementare l'osservabilità, la sicurezza e le funzionalità di rete grazie alla capacità privilegiata del kernel di supervisionare e controllare l'intero sistema. Allo stesso tempo, il kernel di un sistema operativo è difficile da evolvere a causa del suo ruolo centrale e dei suoi elevati requisiti di stabilità e sicurezza. Il tasso di innovazione a livello di sistema operativo è stato quindi tradizionalmente inferiore rispetto alle funzionalità implementate al di fuori del sistema operativo.

EBPF cambia radicalmente questa formula. Consentendo l'esecuzione di programmi in modalità sandbox all'interno del sistema operativo, eBPF consente agli sviluppatori di creare programmi eBPF che aggiungono funzionalità al sistema operativo in fase di esecuzione. Il sistema operativo garantisce quindi sicurezza ed efficienza di esecuzione come se fosse compilato nativamente con l'ausilio di un compilatore Just-In-Time (JIT) e di un motore di verifica. Ciò ha portato a un'ondata di progetti basati su eBPF che coprono una vasta gamma di casi d'uso, tra cui funzionalità di rete, osservabilità e sicurezza di nuova generazione.

Questo ha cambiato il modo in cui i sistemi operativi e i servizi infrastrutturali lavorano insieme. Ha colmato il divario tra kernel e programmi in spazio utente. EBPF ha inoltre consentito agli sviluppatori di combinare e applicare la logica su più sottosistemi che erano tradizionalmente completamente indipendenti.

Questi nuovi programmi includono debugger del kernel Linux, come bpftrace; software di sicurezza cloud-native con Falco e applicazioni di sicurezza Kubernetes che utilizzano Hubble. Ci sono molti nuovi programmi importanti e altri stanno arrivando. Quindi, aveva senso solo formare una nuova base per il progetto: la Fondazione eBPF sponsorizzata dalla Linux Foundation.

Puoi giudicare quanto sia importante la gente lo vede dai suoi membri fondatori. Questi includono Facebook, Google, Isovalent, Microsoft e Netflix. Come mai? Perché è già utile per loro. Ad esempio, Facebook utilizza eBPF come principale bilanciatore di carico definito dal software nei suoi data center e Google utilizza Cilium per portare la rete e la sicurezza basate su eBPF nelle sue offerte gestite Kubernetes GKE e Anthos.

Questa esplosione di progetti basati su eBPF la rende una delle tecnologie più influenti nel mondo del software per infrastrutture. Quindi, ha affermato Graf, “la domanda è alta per ottimizzare la collaborazione tra i progetti e garantire che il nucleo di eBPF sia ben mantenuto e dotato di una chiara tabella di marcia e di una visione per il futuro luminoso davanti a eBPF. È qui che entra in gioco la Fondazione eBPF, e istituisce un comitato direttivo eBPF per occuparsi della direzione tecnica e della visione di eBPF. Inoltre, con il porting di eBPF al kernel di Windows e porte aggiuntive su altre piattaforme in arrivo, la questione della portabilità del programma eBPF e dei requisiti di runtime di eBPF diventa più importante e richiede coordinamento”.

Voglio sapere di più? Vai al Summit eBPF gratuito e virtuale, il 18-19 agosto 2021. Sarai felice di averlo fatto. EBPF sta apportando cambiamenti fondamentali al networking, alla sicurezza e alle applicazioni nell'intero stack dell'infrastruttura, dai PC al cloud.

Storie correlate:

Portare l'eBPF di Linux su Windows 10 e Windows ServerPatch ora: la falla di sicurezza del file system Linux, soprannominata Sequoia, può prendere il controllo dei sistemiNew Relic open source Pixie, la sua piattaforma di osservabilità in-cluster nativa di Kubernetes

Argomenti correlati:

Linux Cloud Big Data Analytics Innovazione Collaborazione tecnologica e lavorativa Steven J. Vaughan-Nichols

Di Steven J. Vaughan-Nichols per Linux e Open Source | 13 agosto 2021 — 20:16 GMT (21:16 BST) | Argomento: Software aziendale