Amazon-ը հրապարակել է Firecracker 1.0 վիրտուալացման համակարգը

Amazon-ը հրապարակել է իր Virtual Machine Monitor (VMM) զգալի թողարկումը՝ Firecracker 1.0.0, որը նախատեսված է նվազագույն ծախսերով վիրտուալ մեքենաներ գործարկելու համար: Firecracker-ը CrosVM նախագծի պատառաքաղն է, որն օգտագործվում է Google-ի կողմից ChromeOS-ում Linux և Android հավելվածներ գործարկելու համար: Firecracker-ը մշակվում է Amazon Web Services-ի կողմից՝ բարելավելու AWS Lambda և AWS Fargate հարթակների աշխատանքը և արդյունավետությունը: Firecracker կոդը գրված է Rust-ով և լիցենզավորված է Apache 2.0 լիցենզիայի ներքո:

Firecracker-ն առաջարկում է թեթև վիրտուալ մեքենաներ, որոնք կոչվում են microVM: MicroVM-ի ամբողջական մեկուսացման համար օգտագործվում են ապարատային վիրտուալացման տեխնոլոգիաներ, որոնք հիմնված են KVM հիպերվիզորի վրա, բայց միևնույն ժամանակ կատարողականությունը և ճկունությունը ապահովված են սովորական կոնտեյներների մակարդակով: Համակարգը հասանելի է x86_64 և ARM64 ճարտարապետությունների համար և փորձարկվել է Intel Skylake, Intel Cascade Lake, AMD Zen2 և ARM64 Neoverse N1 ընտանիքի պրոցեսորների վրա: Գործիքներ են տրամադրվում Firecracker-ը ինտեգրելու համար Runtime Containers Containers, ինչպիսիք են Kata Containers, Weaveworks Ignite և containerd (տրամադրված է Runtime firecracker-containerd-ի կողմից):

Amazon-ը հրապարակել է Firecracker 1.0 վիրտուալացման համակարգը

Վիրտուալ մեքենաների ներսում աշխատող ծրագրային միջավայրը հանված է և պարունակում է բաղադրիչների միայն նվազագույն փաթեթ: Հիշողությունը խնայելու, գործարկման ժամանակը նվազեցնելու և միջավայրերում անվտանգությունը բարձրացնելու համար գործարկվում է բացված Linux միջուկը (4.14 և 5.10 միջուկները աջակցվում են), որից բացառվում է ամեն ինչ, ներառյալ ֆունկցիոնալության նվազեցումը և սարքի հեռացված աջակցությունը:

Անջատված միջուկով աշխատելիս լրացուցիչ հիշողության սպառումը կոնտեյների համեմատ 5 ՄԲ-ից պակաս է: Նշվում է, որ microVM-ի գործարկման պահից մինչև հավելվածի գործարկման սկիզբը ուշացումը տատանվում է 6-ից 60 ms (միջինում 12 ms), ինչը թույլ է տալիս ստեղծել նոր վիրտուալ մեքենաներ՝ մինչև 180 միջավայր/վայրկյան ինտենսիվությամբ հոսթի վրա: 36 պրոցեսորի միջուկով:

Օգտատիրոջ տարածքում վիրտուալ միջավայրերը կառավարելու համար գործարկվում է ֆոնային գործընթացը Վիրտուալ մեքենայի կառավարիչ՝ տրամադրելով RESTful API, որն իրականացնում է գործառույթներ, ինչպիսիք են կարգավորելը, գործարկելը և դադարեցնելը microVM-ը, ընտրել CPU ձևանմուշները (C3 կամ T2), որոշել վիրտուալ պրոցեսորների քանակը (vCPU): և հիշողության չափը, ավելացնելով ցանցային միջերեսներ և սկավառակի միջնորմներ, սահմանելով գործառնությունների թողունակությունը և ինտենսիվությունը, ապահովելով լրացուցիչ հիշողություն և պրոցեսորի հզորություն անբավարար ռեսուրսների դեպքում:

Բացի բեռնարկղերի համար որպես ավելի խորը մեկուսացման շերտ օգտագործելուց, Firecracker-ը նաև հարմար է FaaS (գործառույթ որպես ծառայություն) համակարգերի սնուցման համար, որոնք առաջարկում են առանց սերվերի հաշվողական մոդել, որում մշակումն իրականացվում է փոքր անհատների հավաքածուի պատրաստման փուլում: գործառույթներ, որոնցից յուրաքանչյուրը մշակում է որոշակի իրադարձություն և նախատեսված է մեկուսացված գործողության համար՝ առանց շրջակա միջավայրին հղում կատարելու (քաղաքացիություն չունեցող, արդյունքը կախված չէ ֆայլային համակարգի նախկին վիճակից և բովանդակությունից): Գործառույթները գործարկվում են միայն անհրաժեշտության դեպքում և իրադարձությունը մշակելուց անմիջապես հետո ավարտում են իրենց աշխատանքը: 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-ի վրա հիմնված paravirtualized սարքեր: Նշված հիմնական նպատակներից են՝ բարձր արձագանքում, ցածր հիշողության սպառում, բարձր կատարողականություն, պարզեցված կոնֆիգուրացիա և հարձակման հնարավոր վեկտորների կրճատում: Էմուլյացիայի աջակցությունը նվազագույնի է հասցվում, և ուշադրությունը կենտրոնացված է պարավիրտուալիզացիայի վրա: Աջակցվում են x86_64 և AArch64 ճարտարապետությունները: Հյուր համակարգերի համար ներկայումս աջակցվում են Linux-ի միայն 64-բիթանոց կառուցվածքները: CPU-ն, հիշողությունը, PCI-ն և NVDIMM-ը կազմաձևված են հավաքման փուլում: Հնարավոր է վիրտուալ մեքենաներ տեղափոխել սերվերների միջև:

Cloud Hypervisor-ի նոր տարբերակը ներառում է արդյունավետ տեղական կենդանի միգրացիա կատարելու հնարավորություն, որը կարող է օգտագործվել թռիչքի ժամանակ միջավայրերը թարմացնելու համար (Live Upgrade): Նոր ռեժիմն առանձնանում է աղբյուրի և թիրախային միջավայրերի հիշողության համեմատության անջատմամբ, ինչը նվազեցնում է թռիչքի ժամանակ թարմացման գործողության ժամանակը 3 վայրկյանից մինչև 50 մվ: Առաջարկվող Linux միջուկը 5.15 է (5.14-ն ունի խնդիրներ virtio-net-ի հետ):

Source: opennet.ru

Добавить комментарий