+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новости

Amazon опубликовала релиз монитора виртуальных машин (VMM, Virtual Machine Monitor) Firecracker

Amazon опубликовала релиз монитора виртуальных машин (VMM, Virtual Machine Monitor) Firecracker

Amazon опубликовала релиз монитора виртуальных машин (VMM, Virtual Machine Monitor) Firecracker 1.0.0, рассчитанного на запуск виртуальных машин с минимальными накладными расходами. Firecracker является ответвлением от проекта CrosVM, используемого компанией Google для запуска приложений Linux и Android в ChromеOS. Разработка Firecracker ведётся в подразделении Amazon Web Services с целью повышения производительности и эффективности работы платформ AWS Lambda и AWS Fargate. Код Firecracker написан на языке Rust и распространяется под лицензией Apache 2.0.

Firecracker предлагает легковесные виртуальные машины, именуемые microVM. Для полноценной изоляции microVM применяются технологии аппаратной виртуализации на базе гипервизора KVM, но при этом обеспечивается производительность и гибкость на уровне обычных контейнеров. Система доступна для архитектур x86_64 и ARM64, и протестирована на CPU семейства Intel Skylake, Intel Cascade Lake, AMD Zen2 и ARM64 Neoverse N1. Предоставляются средства для интеграции Firecracker в runtime систем контейнерной изоляции, таких как Kata Containers, Weaveworks Ignite и containerd (предоставляется runtime firecracker-containerd).

Выполняемое внутри виртуальных машин программное окружение урезано и содержит только минимальный набор компонентов. Для экономии памяти, сокращения времени запуска и повышения безопасности в окружениях запускается урезанное ядро Linux (поддерживаются ядра 4.14 и 5.10), из которого исключено всё лишнее, в том числе сокращена функциональность и удалена поддержка устройств.

При запуске с урезанным ядром дополнительный расход памяти по сравнению с контейнером составляет менее 5 Мб. Задержка с момента запуска microVM до начала выполнения приложения заявлена в пределах от 6 до 60 мс (в среднем 12 мс), что позволяет порождать новые виртуальные машины с интенсивностью до 180 окружений в секунду на хосте с 36 ядрами CPU.

Для управления виртуальными окружениями в пространстве пользователя выполняется фоновый процесс Virtual Machine Manager, предоставляющий RESTful API, реализующий такие функции, как настройка, запуск и остановка microVM, выбор шаблонов CPU (C3 или T2), определение числа виртуальных процессоров (vCPU) и размера памяти, добавление сетевых интерфейсов и дисковых разделов, задание ограничений на пропускную способность и интенсивность выполнения операций, предоставление дополнительной памяти и мощностей CPU в случае нехватки ресурсов.

Кроме использования в качестве более глубокого уровня изоляции для контейнеров Firecracker также подходит для обеспечения работы FaaS-систем (Функция как услуга), предлагающих модель бессерверных вычислений, разработка при которой ведётся на уровне подготовки набора небольших отдельных функций, каждая их которых обеспечивает обработку определённого события и рассчитана на обособленную работу без привязки к окружению (stateless, результат не зависит от прошлого состояния и содержимого ФС). Функции запускаются только при возникновении необходимости и сразу после обработки события завершают свою работу. FaaS-платформа сама размещает подготовленные функции, организует управление и обеспечивает масштабирование окружений, необходимых для выполнения подготовленных функций.

Дополнительно можно отметить публикацию компанией Intel гипервизора Cloud Hypervisor 21.0, построенного на основе компонентов совместного проекта Rust-VMM, в котором кроме Intel также участвуют компании Alibaba, Amazon, Google и Red Hat. Rust-VMM написан на языке Rust и позволяет создавать специфичные для определённых задач гипервизоры. Cloud Hypervisor является одним из таких гипервизоров, который предоставляет высокоуровневый монитор виртуальных машин (VMM), работающий поверх KVM и оптимизированный для решения задач, свойственных для облачных систем. Код проекта доступен под лицензией Apache 2.0.

Cloud Hypervisor cфокусирован на запуске современных дистрибутивов Linux с использованием паравиртуализированных устройств на базе virtio. Из ключевых задач упоминается: высокая отзывчивость, низкое потребление памяти, высокая производительность, упрощение настройки и сокращение возможных векторов для атак. Поддержка эмуляции сведена к минимуму и ставка делается на паравиртуализацию. Поддерживаются архитектуры x86_64 и AArch64. Из гостевых систем пока поддерживается только 64-разрядные сборки Linux. Настройка CPU, памяти, PCI и NVDIMM производится на этапе сборки. Предусмотрена возможность миграции виртуальных машин между серверами.

В новой версии Cloud Hypervisor реализована возможность эффективной локальной live-миграции, которую можно использовать для обновления окружений на лету (Live Upgrade). Новый режим отличается отключением сравнения памяти исходного и целевого окружения, что позволяет снизить время операции обновления на лету с 3 секунд до 50 мс. В качестве рекомендованного заявлено ядро Linux 5.15 (в 5.14 имеются проблемы с virtio-net).

Другие новости

Лучшая цена