System Design Space

    Глава 157

    Обновлено: 9 февраля 2026 г. в 20:31

    eBPF: The Documentary

    Прогресс части0/13

    Unlocking The Kernel — как технология расширения ядра Linux изменила networking, security и observability.

    eBPF: The Documentary

    Unlocking The Kernel — история создания революционной технологии

    Год:2023
    Производство:Isovalent

    Источник

    Книжный куб

    Обзор фильма от Александра Поломодова

    Перейти на сайт

    Что такое eBPF

    eBPF (extended Berkeley Packet Filter) — технология для безопасного и эффективного расширения возможностей операционной системы в runtime. Изначально это была только Linux, но потом технологию повторили и для других ОС.

    Суть в том, что для расширения возможностей ядра не требуются изменения в исходном коде ядра, а также не нужно подгружать отдельные модули. Безопасность достигается за счёт верификатора внутри ядра, который проводит статический анализ кода.

    Загруженные программы, прошедшие проверку, либо интерпретируются, либо JIT-компилируются для обеспечения производительности. Модель выполнения управляется событиями — программы прикрепляются к различным точкам перехвата в ядре и запускаются при возникновении события.

    Связанная тема

    Site Reliability Engineering

    Практики надёжности и observability от Google

    Читать обзор

    История создания

    💡 Идея

    Всё началось с того, что Alexei Starovoitov, работая в стартапе PLUMgrid над SDN (Software Defined Network), придумал встроить виртуальную машину в ядро Linux. Он создал новый набор инструкций на основе x86 assembly с верификацией безопасности в ядре.

    🔄 Эволюционный путь

    Идея была слишком революционной, и Chris Wright из Red Hat (сейчас CTO Red Hat) предложил эволюционный подход — интегрировать новую технологию в существующую подсистему BPF. Отсюда появилось название "extended Berkeley Packet Filter".

    📊 Трейсинг

    Изначально фокус был на сетях, но для этой проблемы уже было решение. Тогда фокус сместился на трейсинг — Brendan Gregg создал инструменты, которые превратились в bcc и bpftrace.

    🚀 Hyperscalers

    eBPF показал эффективность в Meta, Google, Netflix и других hyperscalers. Alexei Starovoitov ушёл в Facebook в 2015 году и показал там выдающиеся результаты.

    Развитие экосистемы

    🐝 Cilium

    Компания Isovalent создала Cilium — проект, который принёс возможности eBPF конечным пользователям Kubernetes.

    🔒 Security

    eBPF нашёл применение в безопасности — мониторинг системных вызовов, обнаружение аномалий и защита в runtime.

    📈 Observability

    Инструменты на базе eBPF позволяют глубоко профилировать системы без значительного влияния на производительность.

    🌐 Кроссплатформенность

    Технологию повторили для других операционных систем — eBPF вышел за пределы Linux.

    Ключевые персоны

    Alexei Starovoitov

    Создатель eBPF. Работал в PLUMgrid, затем в Facebook/Meta.

    Brendan Gregg

    Эксперт по производительности. Создатель bcc и bpftrace.

    Chris Wright

    CTO Red Hat. Предложил эволюционный путь интеграции в ядро.

    Влияние на индустрию

    Изначальную задумку удалось внедрить и поменять положение дел в индустрии. Раньше написание кода для исполнения внутри ядра (а не в userspace) было крайне сложным, долгим и дорогим. Теперь это можно сделать легко и быстро, используя eBPF.