The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Amazon открыл код легковесной платформы виртуализации Firecracker

27.11.2018 11:40

Компания Amazon представила новую технологию виртуализации Firecracker, обеспечивающую работу виртуальных машин с минимальными накладными расходами. Платформа предоставляет средства для создания и управления изолированными окружениями и сервисами, построенными с использованием бессерверной модели разработки. Код проекта написан на языке Rust и распространяется под лицензией Apache 2.0.

Firecracker предлагает легковесные виртуальные машины, именуемые microVM, для полноценной изоляции которых применяются технологии аппаратной виртуализации, но при этом обеспечивается производительность и гибкость на уровне обычных контейнеров. Основу Firecracker составляет монитор виртуальных машин (VMM), использующий встроенный в ядро Linux гипервизор KVM. VMM основан на наработках написанного на языке Rust проекта crosvm, развиваемого компанией Google для запуска Linux в ChromеOS. В настоящее время кодовые базы crosvm и Firecracker разделились, но Amazon планирует передавать в upstream исправления, вносимые в заимствованные компоненты.

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

Для управления виртуальными окружениями в пространстве пользователя выполняется фоновый процесс Virtual Machine Manager, предоставляющий RESTful API, реализующий следующие функции:

  • Настройка microVM, выбор шаблонов CPU (C3 и T2), определение числа виртуальных процессоров (vCPU) и размера памяти;
  • Добавление сетевых интерфейсов в microVM;
  • Добавление дисковых разделов в microVM, доступных как на запись, так и в режиме только для чтения. В хост окружении разделы сохраняются в отдельных файлах (симуляция блочного устройства в файле);
  • Обновление параметров блочных устройств без остановки работы виртуальной машины (например, для изменения размера раздела);
  • Изменение файлов для блочных устройств до или после загрузки гостевой системы;
  • Задание ограничений на пропускную способность и интенсивность выполнения операций для устройств virtio;
  • Настройка отражения информации в логах и сохранение метрик для мониторинга;
  • Добавление сокетов vsock в microVM;
  • Запуск microVM с указанным ядром и образом корневой ФС и настройками. Остановка работы microVM;
  • Из встроенных возможностей отмечается предоставление дополнительной памяти и мощностей CPU в случае нехватки предоставленных ресурсов, а также запуск фонового процесса в режиме изоляции со сбросом привилегий и применением cgroup/namespace/seccomp.

Проект разработан в подразделении Amazon Web Services с целью повышения производительности и эффективности работы платформ AWS Lambda и AWS Fargate. Для Firecracker подготовлены runtime-модули для интеграции c популярными инструментариями для управления изолированными контейнерами. Ожидается появление поддержки таких платформ, как Kubernetes, Docker и Kata Containers. Первичной областью применения платформы называется создание FaaS-систем (Функция как услуга), предлагающих модель бессерверных вычислений.

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

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

  1. Главная ссылка к новости (https://aws.amazon.com/ru/blog...)
  2. OpenNews: Компания Oracle представила открытую бессерверную платформу Fn
  3. OpenNews: Google и IBM представили Istio, платформу для управления микросервисами
  4. OpenNews: Компания IBM открыла исходные тексты операционной системы FusedOS
  5. OpenNews: Выпуск MirageOS 2.5, платформы для запуска приложений поверх гипервизора
  6. OpenNews: Выпуск Kata Containers 1.0 с изоляцией на основе виртуализации
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49667-serverless
Ключевые слова: serverless, kvm, amazon, firecracker, virtual
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (45) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Вася (??), 12:24, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ура. А то надоел Docker
     
     
  • 2.17, Аноним (17), 13:31, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Мне тоже надоел. Один и тот же логотип докера уже во сне сниться. У файркракера логотип поинтереснее будет
     
  • 2.18, Аноним (18), 13:37, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +17 +/
    А что там с обоями, есть какие-то интересные?
     

  • 1.3, Qwerty (??), 12:26, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >Остановка работы microVM;

    Замечательная функция. Странно, что отдельно не указали возможность сохранения настроек VM и её удаления.

     
     
  • 2.49, пох (?), 22:55, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Замечательная функция. Странно, что отдельно не указали возможность сохранения настроек VM и
    > её удаления.

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

     

  • 1.28, Аноним (28), 16:03, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    - А не написать бы нам что-нибудь на Расте?
    - Давай, а что сейчас модно?
    - Хипстерская виртуализация.
    - Давай.
     
     
  • 2.30, Аноним (30), 16:14, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >Хипстерская виртуализация.

    В отличие от остальных "хипстерских" технологий деньги экономит, а не растрачивает.
    Так-то.

     
  • 2.39, Пиони (?), 20:08, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Они сделали его на Rust, потому что проект, который был взял за основу написан на Rust.
     
     
  • 3.40, Анончик (?), 20:47, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можно подумать у исходного проекта был другой диалог.
     

  • 1.29, Аноним (30), 16:12, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >RESTful API

    Урезали ядро и на освободившееся место присобачили http(2?) сервер.

     
     
  • 2.32, Антон (??), 16:25, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    насколько я помню, у докера тоже есть
     
  • 2.33, Ага (?), 16:41, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    API у VMM в одном экземпляре, а ядро подрезали там где его экземпляров много
     

  • 1.37, Аноним (37), 19:44, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    С завтрашнего дня во всех вакансиях на DevOps
     
     
  • 2.38, anonimous (?), 19:51, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Минимум 5ть лет опыта.
     
     
  • 3.63, Ph0zzy (ok), 14:09, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Чё так мало? Зачем нам джуны?
     

  • 1.43, Аноним (43), 21:33, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://www.twitch.tv/aws
     
  • 1.44, Аноним (44), 22:16, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Судя по баг репортам reboot внутри контейнера просто выключает контейнер не загружая его обратно. А shutdown просто не работает.
    Что-то мне подсказывает когда тут функционал будет сопоставим с kvm оно не на много легче будет.
     
     
  • 2.47, пох (?), 22:53, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    спасибо за прекрасную деталь. теперь буду спать спокойно (а то ж мелькнула мысль, что вдруг я просто замшелый ретроград и это не ненужное ненужно написанное на ненужно для ненужно, как сразу показалось, едва прочитал про rust и новую прекрасную идею что кодошлепу не надо теперь писать законченные приложения, можно ляпать "функции", а остальное сделается магическим образом)

    > Что-то мне подсказывает когда тут функционал будет сопоставим с kvm

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

    продолжаем спокойно пользовать kvm, если денег на vcenter не занесли.

     

  • 1.48, Аноним (48), 22:54, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Перевел все машинки на AWS Fargate. Доволен как слон :)
     
     
  • 2.64, Аноним (64), 14:16, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    машинки для печати денег?
     
     
  • 3.65, нах (?), 16:20, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    печати? Хм, этим машинки больше похожи на шреддер для денег.

    Впрочем, это с нашей стороны, а со стороны амазона-то да, печати.

     

  • 1.50, Аноним (50), 23:15, 27/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Рад видеть появление энтерпрайз проектов на Rust. Да еще и про виртуализацию
     
     
  • 2.67, Аноним (67), 23:56, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Погоди радоваться. Посмотрим чем черевато.
     

  • 1.55, anonymous (??), 04:58, 28/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я так понимаю, что cow файловые системы вроде btrfs или lvm2 оно не поддерживает, поскольку реализует cow на уровне юзерспейса, а не ядра. Та же самая беда, что и у libvirtd
     
  • 1.56, asargis (ok), 05:08, 28/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Откуда столько ненависти к Rust у людей, которые скорее всего ничего полезного не создали сами?
     
     
  • 2.57, qwer (??), 05:35, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Надо же чем-то заполнять пустоту. Заполняют ненавистью.
     
     
  • 3.68, Аноним (67), 23:57, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не я думаю, что это скорее всего просто от бессилия. Знаешь вот сидят в каком нибудь бюро им не дают скодить ничего приличного и сами они по вечерам писвасик, секс и спать. Вот и злость оттуда к разработчикам, которые хз когда делают это все.
     
  • 2.58, Аноним (-), 10:26, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "которые скорее всего ничего полезного не создали сами" - описание основного потребителя и комментатора на opennet
     
     
  • 3.62, asargis (ok), 13:48, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что же ты тут делаешь тогда?
     
  • 2.70, Лол (?), 13:00, 29/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Откуда такая любовь к Расту у людей которые на нём кроме Хеллоу Ворлд из туториала больше ничего не написали? И сами в лучшем случае Виндовые сисадмины.
     
     
  • 3.73, Andrey Mitrofanov (?), 13:16, 29/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Откуда такая любовь к Расту у людей которые на нём кроме Хеллоу
    > Ворлд из туториала больше ничего не написали? И сами в лучшем
    > случае Виндовые сисадмины.

    См.про cлово "сопричастность" в изложении https://www.opennet.ru/openforum/vsluhforumID3/109572.html#156
    "мастера" завоёвывать друзей.

     
     
  • 4.74, Лол (?), 13:32, 29/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо хороший текст. Ясно объясняет что то секта.
     
     
  • 5.75, Andrey Mitrofanov (?), 13:53, 29/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо хороший текст. Ясно объясняет что то секта.

    И это "хорошее" объяснение густо сдобрено другими видпит манипуляций.

    Если именно "секта" вам понравилось больше всего из прочитанного, осторожнее там!, как любитель "простых обяснений", вы в группе риска.

     
  • 3.76, asargis (ok), 17:23, 29/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя что-то с головой, лоляшка. По твоему, если ты к чему то не испытываешь ненависти, должен пренепременно любить? И наоборот, раз ты любишь что либо, то просто обязан ненавидеть остальное, и при любом удобном случае истощать ядом...
     

  • 1.59, Аноним (59), 10:30, 28/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сначала контейнеризировали сервисы, теперь функции.
     
  • 1.60, Аноним (60), 10:39, 28/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем это лучше https://github.com/siemens/jailhouse ?
     
  • 1.61, лютый лютик__ (?), 13:27, 28/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Микросерие продолжает своё победное заполонение :) и потом будут гонять это на виртуальных машинах внутри докера.
     
  • 1.66, Аноним (66), 21:30, 28/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Если школьник выкинул несколько картинок из Ubuntu и назвал его самобытным дистрибутивом BolgenOS - все над ним смеются. Будь как Amazon, делай НОВУЮ технологию виртуализации Firecracker!
     
     
  • 2.71, Лол (?), 13:04, 29/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Просто чтобы ты был в курсе Амазон выкинула из Ред Хата дофигистическую плату и продает её за деньги. И все смеются почему то над Ред Хат. Хотя обои остались от Ред Хата.
     

  • 1.69, Аноним (69), 07:48, 29/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поднимать vm ради выполнения 1 функции? Не понимаю что полезного  может делать такая FaaS, да ещё и без сохранения состояния? Кроме перекодировки строк и файлов ничего в голову не приходит.
     
     
  • 2.72, Лол (?), 13:06, 29/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто чтобы ты мог инхаузно попробовать AWS Lambda и AWS Fargate.
     
  • 2.78, northbear (??), 14:25, 04/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Гуглим про технологии SAN/NAS, nbd и прочая, и еще раз думаем...
     

  • 1.77, northbear (??), 14:21, 04/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    М-дя... :))) Паноптикум. Какие-то поцы из тьму-таракани называют рабочие технологии компании, входящую в мировой TOP5 по капитализации, хипстерскими.
    Это как анекдот из 90-х, про двух деревенских бабенций обсуждающих Клавку Шиферову, что она не очень.
     
     
  • 2.79, Аноним (79), 13:35, 06/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Какие-то поцы из тьму-таракани называют рабочие технологии компании, входящую в мировой TOP5 по капитализации, хипстерскими.

    Возвышение одного неотвратимо рождает принижение другого. А принижение, особенно добровольное, еще опаснее, оно рождает привычку быть руководимым, снимает ответственность за свои поступки, за свой путь. Тогда в расплату за облегчение жизни прекращается воспитание души, ее совершенствование.

     
     
  • 3.80, northbear (??), 14:34, 06/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Кто тут кого возвышает-принижает? Люди ставят себя в смешное положение и не осознают это. Я просто даю возможность осознать... Воспользоваться/не воспользоваться их выбор. Но в любом случае, надо поддерживать минимальный стандарт качества аудитории на OpenNet'е.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру