eBPF Summit 2021 videos are available: Watch Now!

Comprendre eBPFProjets

Le noyau Linux a toujours été l'endroit idéal pour implémenter les aspects inspection/supervision, réseau, et sécurité du système. Malheureusement, la nécessité de changer le code du noyau ou de charger des modules rend la tâche contraignante, et revient souvent à empiler les couches d'abstraction. eBPF est une technologie révolutionnaire permettant d'exécuter des programmes au sein du noyau Linux, dans un environnement confiné, sans changer le code source du noyau ni charger de modules.

Grâce à cette capacité à programmer le noyau, les composants logiciels peuvent s'appuyer sur le système existant. Ils viennent le perfectionner et l'enrichir en fonctionnalités, en évitant de rajouter des couches d'abstraction, mais sans compromettre l'efficacité ou la sureté du système.

eBPF a conduit au développement d'une nouvelle génération d'applications, capables de reprogrammer le noyau Linux, et même de mettre en œuvre une logique commune à différents sous-systèmes du noyau, jusqu'ici décorrélés les uns des autres.

Sécurité
eBPF permet d'observer et de comprendre tous les appels système, et de se placer au niveau des paquets et des sockets pour obtenir une vision de toutes les opérations réseau. La combinaison de ces éléments forme une fondation sans précédent pour sécuriser les systèmes d'information. Alors même que le filtrage des appels système, la régulation des flux réseaux, et le suivi du contexte d'exécution des processus sont typiquement gérés par des solutions distinctes, eBPF offre à la fois vision et contrôle sur tous les composants, ouvrant ainsi la voie à un système de sécurisation qui porte sur un domaine plus large, et propose un contrôle plus poussé.
Réseau
La programmabilité et la performance d'eBPF en font une solution idéale pour le traitement de paquets pour tous types d'applications réseau. Programmer avec eBPF permet d'analyser et d'implémenter de nouveaux protocoles, d'appliquer une logique de routage des paquets pour répondre à des besoins en évolution constante, sans jamais quitter le contexte du noyau Linux. Le compilateur JIT (« Just-In-Time », compilation à la volée) permet d'atteindre, à l'exécution des programmes, des performances similaires à celles du code compilé nativement dans le noyau.
Traçage et profilage
La possibilité d'attacher des programmes eBPF sur des « trace points » et des « probe points », que ce soit dans le noyau ou dans les applications utilisateurs, apporte une dimension nouvelle en termes de visibilité. Les deux vues produites par l'introspection du noyau, d'une part, et du comportement des applications en cours, d'autre part, peuvent être combinées pour obtenir une perspective unique et déterminante sur le système, et pour résoudre les problèmes de performance. Des structures de données élaborées permettent de collecter des indicateurs statistiques et d'extraire l'information utile de manière efficace, sans passer par un export constant d'échantillons de données comme le font les systèmes traditionnels.
Observabilité et supervision
Au lieu de se baser sur des jauges et des compteurs statiques exposés par le système d'exploitation, eBPF collecte et agrège dans le noyau des métriques personnalisées, et rend possible la génération d'observations basées sur un large éventail de sources disponibles. Seules les données utiles sont relevées, et les représentations telles que les histogrammes sont générées à la source de l'évènement plutôt qu'à la réception d'un flot d'échantillons exportés du noyau. eBPF offre ainsi une visibilité du système avec une portée accrue, tout en réduisant significativement le cout associé à la collecte de données.

Découvrir eBPF en vidéo

Les derniers articles du blog

May 4, 2021

Title iconeBPF Updates #5: CNCF Proposals, Kinvolk Acquired, eCHO, the Cost of Tail Calls, Systemd Features, Reverse Debugging, Static Linking

Spring is back in the Northern Hemisphere, and with it all kinds of features are blooming for eBPF. Kernel 5.12 is out and version 5.13 is on track to bring new exciting functionalities. At the same time, new projects hatch and companies are enjoying renewed activity. Several eBPF-related projects applied to join or upgrade their status in the bosom of CNCF. After some delay, no doubt caused by winter hibernation, welcome to the fifth issue of the eBPF Updates!

February 23, 2021

Title iconeBPF Updates #4: In-Memory Loads Detection, Debugging QUIC, Local CI Runs, MTU Checks, but No Pancakes

In several parts of the globe, February is traditionally about love, and pancakes. eBPF sure received a lot of love over the last weeks! Blogging, conferencing, and kernel development have resumed full speed after the quiet period at the end of the year. Here are all the latest updates, plus a section focusing on program size limits. Alas, uncertainty remains as for eBPF getting pancakes.

Sélection d'articles de blogs par la communauté eBPF

Loading...