Inilathala ng Amazon ang Firecracker 1.0 virtualization system

Ang Amazon ay nag-publish ng isang makabuluhang release ng kanyang Virtual Machine Monitor (VMM), Firecracker 1.0.0, na idinisenyo upang magpatakbo ng mga virtual machine na may kaunting overhead. Ang paputok ay isang tinidor ng proyektong CrosVM, na ginagamit ng Google upang magpatakbo ng mga Linux at Android application sa ChromeOS. Ang Firecracker ay binuo ng Amazon Web Services upang mapabuti ang pagganap at kahusayan ng mga platform ng AWS Lambda at AWS Fargate. Ang Firecracker code ay nakasulat sa Rust at lisensyado sa ilalim ng Apache 2.0 na lisensya.

Nag-aalok ang Firecracker ng magaan na virtual machine na tinatawag na microVMs. Para sa kumpletong paghihiwalay ng microVM, ginagamit ang mga teknolohiya ng virtualization ng hardware batay sa KVM hypervisor, ngunit sa parehong oras ang pagganap at kakayahang umangkop ay ibinibigay sa antas ng maginoo na mga lalagyan. Ang system ay magagamit para sa x86_64 at ARM64 na mga arkitektura, at nasubok sa mga CPU mula sa Intel Skylake, Intel Cascade Lake, AMD Zen2 at ARM64 Neoverse N1 na pamilya. Ang mga tool ay ibinibigay upang isama ang Firecracker sa mga runtime container containment system gaya ng Kata Containers, Weaveworks Ignite, at containerd (ibinigay ng runtime firecracker-containerd).

Inilathala ng Amazon ang Firecracker 1.0 virtualization system

Ang kapaligiran ng software na tumatakbo sa loob ng mga virtual machine ay tinanggal at naglalaman lamang ng kaunting hanay ng mga bahagi. Upang makatipid ng memorya, bawasan ang oras ng pagsisimula at dagdagan ang seguridad sa mga kapaligiran, inilunsad ang isang natanggal na Linux kernel (sinusuportahan ang mga kernel 4.14 at 5.10), kung saan hindi kasama ang lahat ng hindi kailangan, kabilang ang pinababang functionality at inalis na suporta sa device.

Kapag tumatakbo gamit ang isang stripped-down kernel, ang karagdagang pagkonsumo ng memory kumpara sa isang lalagyan ay mas mababa sa 5 MB. Ang pagkaantala mula sa sandaling inilunsad ang microVM hanggang sa simula ng pagpapatupad ng application ay nakasaad na mula 6 hanggang 60 ms (average na 12 ms), na nagbibigay-daan sa paglikha ng mga bagong virtual machine na may intensity na hanggang 180 environment kada segundo sa isang host na may 36 na mga core ng CPU.

Upang pamahalaan ang mga virtual na kapaligiran sa espasyo ng user, tumatakbo ang proseso sa background na Virtual Machine Manager, na nagbibigay ng RESTful API na nagpapatupad ng mga function gaya ng pag-configure, pagsisimula at paghinto ng microVM, pagpili ng mga template ng CPU (C3 o T2), pagtukoy sa bilang ng mga virtual processor (vCPU) at laki ng memorya, pagdaragdag ng mga interface ng network at mga partisyon ng disk, pagtatakda ng mga limitasyon sa throughput at intensity ng mga operasyon, pagbibigay ng karagdagang memorya at lakas ng CPU kung sakaling hindi sapat ang mga mapagkukunan.

Bilang karagdagan sa paggamit bilang isang mas malalim na layer ng paghihiwalay para sa mga lalagyan, ang Firecracker ay angkop din para sa pagpapagana ng mga sistema ng FaaS (Function as a Service), na nag-aalok ng isang serverless computing model kung saan ang pag-unlad ay isinasagawa sa yugto ng paghahanda ng isang set ng maliit na indibidwal. mga function, na ang bawat isa ay humahawak ng isang partikular na kaganapan at idinisenyo para sa nakahiwalay na operasyon nang walang reference sa kapaligiran (stateless, ang resulta ay hindi nakasalalay sa nakaraang estado at mga nilalaman ng file system). Ang mga pag-andar ay inilunsad lamang kapag ang pangangailangan ay lumitaw at kaagad pagkatapos ng pagproseso ng kaganapan ay natapos nila ang kanilang trabaho. Ang platform ng FaaS mismo ay nagho-host ng mga inihandang function, nag-aayos ng pamamahala at tinitiyak ang pag-scale ng mga kapaligiran na kinakailangan upang maisagawa ang mga inihandang function.

Bukod pa rito, mapapansin natin ang publikasyon ng Intel ng Cloud Hypervisor 21.0 hypervisor, na binuo batay sa mga bahagi ng joint Rust-VMM project, kung saan, bilang karagdagan sa Intel, Alibaba, Amazon, Google at Red Hat ay lumahok din. Ang Rust-VMM ay nakasulat sa wikang Rust at nagbibigay-daan sa iyong lumikha ng mga hypervisors na partikular sa gawain. Ang Cloud Hypervisor ay isa sa gayong hypervisor na nagbibigay ng high-level virtual machine monitor (VMM) na tumatakbo sa itaas ng KVM at na-optimize para sa mga cloud-native na gawain. Ang code ng proyekto ay magagamit sa ilalim ng lisensya ng Apache 2.0.

Nakatuon ang Cloud Hypervisor sa pagpapatakbo ng mga modernong pamamahagi ng Linux gamit ang mga virtio-based na paravirtualized na device. Kabilang sa mga pangunahing layunin na binanggit ay: mataas na pagtugon, mababang pagkonsumo ng memorya, mataas na pagganap, pinasimple na pagsasaayos at pagbabawas ng mga posibleng attack vectors. Ang suporta sa emulation ay pinananatiling minimum at ang focus ay sa paravirtualization. Sinusuportahan ang x86_64 at AArch64 na mga arkitektura. Para sa mga guest system, 64-bit na build lang ng Linux ang kasalukuyang sinusuportahan. Ang CPU, memorya, PCI at NVDIMM ay na-configure sa yugto ng pagpupulong. Posibleng mag-migrate ng mga virtual machine sa pagitan ng mga server.

Kasama sa bagong bersyon ng Cloud Hypervisor ang kakayahang magsagawa ng mahusay na lokal na live na paglipat, na maaaring magamit upang i-update ang mga kapaligiran sa mabilisang (Live Upgrade). Ang bagong mode ay nakikilala sa pamamagitan ng hindi pagpapagana ng paghahambing ng memorya ng pinagmulan at target na kapaligiran, na binabawasan ang oras ng isang on-the-fly na operasyon ng pag-update mula 3 segundo hanggang 50 ms. Ang inirerekomendang Linux kernel ay 5.15 (5.14 ay may mga problema sa virtio-net).

Pinagmulan: opennet.ru

Magdagdag ng komento