Уникернелы были сложными. Ключевое слово — были

Unikernels were hard. key word: were

Уникернелы были сложными. Ключевое слово — были

Джеффри Хантли и Джастин Кормак обсуждают возрождение уникернелов: теперь ИИ снимает барьеры, которые делали их непрактичными. Хантли рассказывает, как за неделю портировал Orleans на OCaml и собрал распределённую уникернел-ОС, а Кормак с помощью агента написал mkfs.xfs на Rust. Они спорят о сокращении поверхности атаки, Nix, S3 как хранилище и о том, почему уникернелы снова актуальны.

Уникернелы были сложными. Ключевое слово: были. Теперь у нас есть ИИ.
  1. RantyDave

    У меня был ограниченный опыт в embedded-разработке, и в рамках этого я стал фанатом Zephyr (http://www.zephyrproject.org) и задумался о его потенциальном применении в качестве unikernel.

    С плюсами: это unikernel. Вы компилируете его вместе с вашим приложением и получаете бинарник. Он поддерживает работу на виртуальном оборудовании (https://docs.zephyrproject.org/latest/hardware/virtualizatio...), а virtio — это новые bios, верно?

    С минусами: я думаю, портирование «традиционного» софта — скажем, Nginx — на него будет мучительным. И я не могу давать никаких гарантий по его производительности — так же, как контейнерные образы Alpine Linux не обязательно быстрые.

    Но есть целая цепочка инструментов, отладка, драйверы и т.д. для того, что компилируется в крошечный размер и запускается практически мгновенно. Разве это не должно быть для чего-то полезно?

  2. scrubs

    Естественным проектом для R&D был бы высокочастотный OMS или что-то вроде менеджера книги заявок/цен NYSE.

    Такие приложения в любом случае обычно делают kernel bypass для сетевого ввода-вывода после жёсткой чистки ОС, чтобы убрать как можно больше прерываний и прочего лишнего джиттера, который OMS не нужен.

    Однако я полагаю, что низкоуровневый код kernel bypass (например, dpdk, libfabric) зависит от Linux, чтобы дисциплинированно общаться с железом.

    Кто-нибудь знает лучше?

    Существенно более быстрый OMS таким способом мог бы стать практичной альтернативой FPGA, которые мы иногда видим в этой области. (железо, конечно, будет размещено рядом)

  3. ianseyler

    Приятно это видеть! Я предлагаю облачный сервис для хостинга unikernel'ов на основе моего ядра BareMetal.

    ~$0.005 CAD/ч за небольшую VM с сетью, 4MiB RAM и без диска.

    https://baremetal.returninfinity.com

  4. angry_octet

    Если у вас серьёзные цели по минимизации поверхности атаки, вам нужно embrace FOGAs. Unikernel'ы, написанные LLM, имеют слишком много раздутости.

    Части Zynq UltraScale+ сочетают жёсткий ARM CPU с FPGA-фабрикой. Вы можете постепенно изолировать быстрый путь и высокозащищённые компоненты в логике. LLM становятся довольно хороши в использовании инструментов синтеза.

    https://www.amd.com/en/products/system-on-modules/kria/k26/k...

  5. eyberg

    Уменьшение поверхности атаки — определённо плюс, но это далеко не главная выгода для безопасности от запуска unikernel'ов.

    Вот почему мне никогда особо не нравилось говорить о «сокращении поверхности атаки» так много, потому что люди неизбежно сводят всё к строкам и коду, и хотя сокращение — это хорошо, это просто не передаёт, в чём на самом деле самая большая проблема.

    Эксплуатация уязвимостей — это точка входа номер один для утечек данных, а инъекция команд ОС — это CWE номер один в CISA Kev за прошлый год.

    Вторжение в систему повторялось что-то вроде 64 раз в прошлогоднем DBIR.

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

Ещё за этот день

2026-10-10