Назад к обновлениям
New releaseSep 12, 2026

firecracker v1.17.0

Безопасные и быстрые микроВМ для бессерверных вычислений.

Поделиться
Firecracker Logo Title

Наша миссия — обеспечить безопасное, мультитенантное выполнение контейнерных и функциональных рабочих нагрузок с минимальными накладными расходами.

Подробнее о Хартии Firecracker читайте здесь.

Что такое Firecracker?

Firecracker — это технология виртуализации с открытым исходным кодом, специально созданная для создания и управления безопасными, мультитенантными контейнерными и функциональными сервисами, которые обеспечивают серверless-модели эксплуатации. Firecracker запускает рабочие нагрузки в легковесных виртуальных машинах, называемых microVM, которые сочетают свойства безопасности и изоляции, обеспечиваемые технологией аппаратной виртуализации, со скоростью и гибкостью контейнеров.

Обзор

Основным компонентом Firecracker является монитор виртуальных машин (VMM), который использует Linux Kernel Virtual Machine (KVM) для создания и запуска microVM. Firecracker имеет минималистичный дизайн. Он исключает ненужные устройства и гостевую функциональность, чтобы уменьшить объем памяти и площадь атаки каждой microVM. Это повышает безопасность, сокращает время запуска и увеличивает загрузку оборудования. Firecracker также интегрирован в контейнерные рантаймы, например Kata Containers и Flintlock.

Firecracker был разработан в Amazon Web Services для ускорения скорости и эффективности таких сервисов, как AWS Lambda и AWS Fargate. Firecracker распространяется с открытым исходным кодом под лицензией Apache версии 2.0.

Чтобы узнать больше о Firecracker, посетите firecracker-microvm.io.

Начало работы

Чтобы начать работу с Firecracker, загрузите последние релизные бинарные файлы или соберите его из исходного кода.

Вы можете собрать Firecracker в любой Unix/Linux-системе, где запущен Docker (мы используем контейнер для разработки) и установлен bash, следующим образом:

git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"

Бинарный файл Firecracker будет размещен по адресу build/cargo_target/${toolchain}/debug/firecracker. Для получения дополнительной информации о сборке, тестировании и запуске Firecracker перейдите к краткому руководству.

Общая безопасность microVM Firecracker, включая способность соответствовать критериям безопасных мультитенантных вычислений, зависит от правильно настроенной хост-операционной системы Linux. Конфигурация, которая, по нашему мнению, соответствует этим требованиям, включена в документ по настройке производственного хоста.

Участие в разработке

Firecracker уже запускает производственные рабочие нагрузки в AWS, но это всё ещё первый день на пути, определяемом нашей миссией. Нам предстоит ещё многое построить, и мы приветствуем любой вклад.

Чтобы внести вклад в Firecracker, ознакомьтесь с разделом о настройке среды разработки в кратком руководстве, а затем с рекомендациями по участию в разработке Firecracker.

Релизы

Новые версии Firecracker выпускаются через страницу релизов репозитория GitHub, как правило, каждые два или три месяца. История изменений записана в нашем журнале изменений.

Политика выпуска версий Firecracker подробно описана здесь.

Дизайн

Общая архитектура Firecracker описана в документе о дизайне.

Возможности и характеристики

Firecracker состоит из одного процесса менеджера микро-виртуальных машин, который после запуска предоставляет конечную точку API хосту. API описан в формате OpenAPI. Подробнее об этом читайте в документации по API.

Конечная точка API может использоваться для:

  • Настройки microVM путем:
    • Установки количества vCPU (по умолчанию — 1).
    • Установки размера памяти (по умолчанию — 128 МиБ).
    • Настройки шаблона CPU.
  • Добавления одного или нескольких сетевых интерфейсов к microVM.
  • Добавления одного или нескольких дисков с чтением-записью или только для чтения к microVM, каждый из которых представлен блочным устройством на основе файла.
  • Запуска повторного сканирования блочного устройства во время работы гостевой системы. Это позволяет гостевой ОС подхватывать изменения размера файла, лежащего в основе блочного устройства.
  • Изменения файла, лежащего в основе блочного устройства, до или после загрузки гостевой системы.
  • Настройки ограничителей скорости для virtio-устройств, которые могут ограничивать пропускную способность, количество операций в секунду или оба параметра.
  • Настройки системы журналирования и метрик.
  • [BETA] Настройки дерева данных гостевого сервиса метаданных. Сервис доступен гостевой системе только в том случае, если этот ресурс настроен.
  • Добавления vsock-сокета к microVM.
  • Добавления устройства энтропии к microVM.
  • Добавления pmem-устройства к microVM.
  • Настройки и управления горячим подключением памяти.
  • [Developer Preview] Горячее подключение и отключение virtio PCI-устройств во время работы ВМ.
  • Запуска microVM с использованием заданного образа ядра, корневой файловой системы и аргументов загрузки.
  • [Только x86_64] Остановки microVM.

Встроенные возможности:

  • Страничный обмен по требованию и оверсабскрипция CPU, включенные по умолчанию.
  • Расширенные, специфичные для потоков фильтры seccomp для повышенной безопасности.
  • Процесс Jailer для запуска Firecracker в производственных сценариях; применяет барьер изоляции cgroup/namespace, а затем сбрасывает привилегии.

Протестированные платформы

Мы тестируем все комбинации:

Категории