Сооснователь проекта Unikraft Фелипе Уики в новом выпуске подкаста Kubelist рассказал о будущем облачных технологий. По его словам, стандартные контейнеры Docker могут уступить место микровиртуальным машинам, особенно в эпоху искусственного интеллекта. Ключевыми преимуществами новой архитектуры называются производительность и безопасность.
По словам Фелипе Уики, безопасность должна быть стандартом, а не опцией. Контейнеры Docker имеют ограничения по изоляции из-за использования общего ядра Linux, что создает большую поверхность для атак. Эксперты по безопасности предупреждали об уязвимостях CVE в контейнеризации.
По этой причине современные публичные облака вынуждены запускать контейнеры внутри виртуальных машин для обеспечения защиты. Виртуальные машины предоставляют лучшую изоляцию безопасности в публичном облаке, чем контейнеры. Для продакшн-окружений рекомендуется использовать виртуальные машины, в то время как контейнеры эффективны для сред сборки и разработки благодаря воспроизводимости.
Исследования Фелипе Уики начались около 2009 года в Университетском колледже Лондона (UCL) и продолжились в немецкой компании NEC. Он работал над разработкой методов обработки пакетов на оборудовании x86.
В ходе работы были достигнуты рекордные скорости передачи данных до 1040 гигабит в секунду, что стало основой для Intel DPDK. Развивалась концепция виртуализации сетевых функций и создание легковесных виртуальных машин для облаков. Открытый проект Unikraft был запущен в 2018 году под эгидой Linux Foundation для опровержения мифа о громоздкости виртуальных машин.
Платформа Unikraft использует гипервизоры, такие как KVM и Firecracker, для аппаратной изоляции. Гипервизоры работают на голом железе и имеют минимальный доверенный вычислительный базис, используя аппаратные примитивы процессора для изоляции памяти между виртуальными машинами.
Время холодного запуска составляет около 10 миллисекунд. Система применяет механизм снапшотов памяти для мгновенного пробуждения: если нагрузка простаивает, она уходит в сон и мгновенно просыпается при запросе. Это обеспечивает масштабирование до нуля, экономя ресурсы без потери доступности сервиса.
Технология интегрируется в кластер Kubernetes через кублет, представляясь узлом с емкостью до 100 тысяч подов. Для этого используется подход, напоминающий Virtual Kubelet, который скрывает от Kubernetes процессы масштабирования.
Платформа поддерживает стандартные Dockerfile, конвертируя их в OCI-совместимые микро-ВМ. Внешне это выглядит как поды Kubernetes. Решение позволяет преодолеть ограничения планировщика K8s, который не работает на миллисекундах, сохраняя семантику масштабирования до нуля и пробуждения за миллисекунды.
По словам Фелипе Уики, первым клиентом была компания Prisma. Она использует технологию для размещения 50 000 баз данных PostgreSQL на одной физической машине, оптимизируя затраты под соотношение активных и неактивных пользователей.
Платформа эффективна для headless-браузеров, которые потребляют от 8 до 16 ГБ памяти, и для тяжелых ИИ-нагрузок, требующих обработки пиковых нагрузок без содержания холодных пулов. Это обеспечивает экономику бёрстинга в SaaS-приложениях.
Ядро контроллера Unikraft разработано на языке C для получения полного контроля над производительностью. По словам Фелипе Уики, основная сложность — это производительность, а не функциональность. ИИ-генерация кода часто создает неэффективный код, заставляя добавлять ресурсы вместо оптимизации.
ИИ пока не может заменить разработчиков ядра, но полезен для отладки и написания тестов. Новые модели, такие как Claude, начинают помогать находить ошибки. Платформа пока поддерживает только архитектуру x86 (Intel/AMD), поддержка ARM отсутствует и расширению экосистемы.