Кампанія Amazon апублікавала сістэму віртуалізацыі Firecracker 1.0

Кампанія 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).

Кампанія Amazon апублікавала сістэму віртуалізацыі Firecracker 1.0

Якое выконваецца ўсярэдзіне віртуальных машын праграмнае асяроддзе зрэзана і ўтрымоўвае толькі мінімальны набор кампанентаў. Для эканоміі памяці, скарачэнні часу запуску і падвышэнні бяспекі ў асяроддзі запускаецца зрэзанае ядро ​​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 зфакусаваны на запуску сучасных дыстрыбутываў Linux з выкарыстаннем паравіртуалізаваных прылад на базе virtio. З ключавых задач згадваецца: высокая спагадлівасць, нізкае спажыванне памяці, высокая прадукцыйнасць, спрашчэнне наладкі і скарачэнне магчымых вектараў для нападаў. Падтрымка эмуляцыі зведзена да мінімуму і стаўка робіцца на паравіртуалізацыю. Падтрымліваюцца архітэктуры x86_64 і AArch64. З гасцявых сістэм пакуль падтрымліваецца толькі 64-разрадныя зборкі Linux. Настройка CPU, памяці, PCI і NVDIMM вырабляецца на этапе зборкі. Прадугледжана магчымасць міграцыі віртуальных машын паміж серверамі.

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

Крыніца: opennet.ru

Дадаць каментар