Безопасные и быстрые микроВМ для бессерверных вычислений.
Наша миссия — обеспечить безопасное, мультитенантное выполнение контейнерных и функциональных рабочих нагрузок с минимальными накладными расходами.
Подробнее о Хартии 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 может использоваться для:
[BETA] Настройки дерева данных гостевого сервиса метаданных. Сервис
доступен гостевой системе только в том случае, если этот ресурс настроен.[Developer Preview] Горячее подключение и отключение
virtio PCI-устройств во время работы ВМ.Встроенные возможности:
Мы тестируем все комбинации: