Обновлено: 24 марта 2026 г. в 15:23

eBPF: The Documentary

hard

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

eBPF важен тем, что меняет не одну утилиту, а сам уровень, на котором инженеры могут видеть систему.

Глава связывает kernel extensibility, networking, observability и security в одну платформенную историю, где новая видимость в production появляется без прежней цены в intrusive instrumentation.

В design review и ретроспективах материал помогает обсуждать low-level telemetry, platform leverage и границы между kernel-space capabilities и пользовательскими инструментами.

Практическая польза главы

Практика проектирования

Переводите знания о эволюции eBPF и low-level observability для production систем в конкретные эксплуатационные решения: интерфейсы алертинга, runbook-границы и rollback-стратегии.

Качество решений

Оценивайте архитектуру через SLO, error budget, MTTR и устойчивость critical-path, а не только через функциональную полноту.

Interview articulation

Структурируйте ответ вокруг reliability lifecycle: сигнал деградации, реакция, локализация причины, восстановление и профилактика повторов.

Trade-off framing

Явно фиксируйте компромиссы по эволюции eBPF и low-level observability для production систем: скорость релизов, уровень автоматизации, стоимость 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.

Связанные главы

  • Site Reliability Engineering - Базовые практики надежности и observability, в которых eBPF помогает видеть поведение системы на уровне ядра.
  • Observability & Monitoring Design - Дополняет тему eBPF как источника low-level telemetry для диагностики производительности и инцидентов.
  • Linux - Дает системный контекст по ядру, процессам и сетевому стеку, на котором работает eBPF.
  • Kubernetes Fundamentals - Показывает, как eBPF-инструменты (например, Cilium) усиливают сетевые и security-возможности в Kubernetes.
  • Security Engineering Overview - Связывает eBPF с runtime-защитой, мониторингом системных вызовов и обнаружением аномалий.

Чтобы отмечать прохождение, включи трекинг в Настройки