Microsoft a anunțat recent lansarea unui nou proiect open-source numit „ Hyperlight ”. Acesta este un hypervisor conceput special pentru integrarea în aplicații care necesită executarea de cod izolat, fie din motive de securitate, fie pentru a gestiona fragmente de cod nesigure.
Hyperlight se poziționează ca o bibliotecă partajată, permițând funcțiilor să ruleze în micro-mașini virtuale, minimizând latența și facilitând comunicarea eficientă cu funcțiile găzduite.
Despre Hyperlight
Comparativ cu mașinile virtuale tradiționale, Hyperlight se remarcă prin impactul său redus asupra performanței, deoarece, în comparație cu timpul de pornire al unei mașini virtuale standard care necesită cel puțin 120 de milisecunde, Hyperlight permite crearea de micro-mașini virtuale în doar 1 până la 2 milisecunde, permițând izolarea funcțională.
In plus, se mentioneaza ca desi medii precum Wasmtime pentru WebAssembly ofera timpi si mai mici, de 0,03 milisecunde, Hyperlight cauta sa ofere un echilibru ideal intre izolare si functionalitate pentru aplicatii complexe.
Spre deosebire de configurațiile tradiționale, micro-mașinile virtuale din Hyperlight nu utilizează un kernel sau un sistem de operare complet . În schimb, mașina virtuală este redusă la un program autonom care include codul funcției, un kernel specializat minimal și timpul de execuție necesar, rulând într-o singură regiune de memorie cu un CPU virtual alocat, fără partiționare de procese sau mapare de dispozitive.
Hyperlight permite aceste personalizări într-o gamă largă de scenarii: pentru integrarea funcțiilor gateway-ului Internet of Things (IoT), utilizarea în automatizări industriale, servicii cloud de înaltă performanță etc.
Fluxul de lucru de dezvoltare cu Hyperlight implică conectarea codului principal al aplicației cu biblioteca Hyperlight Host , care gestionează micro-mașinile virtuale (VM). Codul izolat care rulează în cadrul acestor micro-mașini virtuale utilizează biblioteca Hyperlight Guest, care oferă API-urile necesare pentru interacțiunea externă și permite codului să ruleze complet independent de sistemul de operare gazdă. Cu această arhitectură, Hyperlight își propune să redefinească execuția funcțiilor izolate, oferind o abordare eficientă și sigură pentru aplicațiile moderne.

O caracteristică cheie a Hyperlight este capacitatea sa de a stabili o interacțiune bidirecțională între aplicația gazdă și funcțiile izolate. Nu numai că permite aplicațiilor să apeleze funcții găzduite în medii izolate, dar permite și acestor funcții să acceseze anumite elemente ale gazdei. Cu toate acestea, acest acces este strict controlat pentru a asigura securitatea. În mod implicit, funcțiile izolate pot comunica cu gazda doar printr-un API minim care facilitează schimbul de mesaje. Această limitare asigură un mediu controlat și reduce riscurile de securitate asociate cu izolarea funcțională.
În ceea ce privește planurile sale pe termen lung , Microsoft menționează intenția sa de a transforma Hyperlight într-un proiect colaborativ mai amplu , sub conducerea Fundației Cloud Native Computing (CNCF). Această mișcare își propune să promoveze dezvoltarea neutră și deschisă, liberă de influența exclusivă a anumitor furnizori. CNCF, care operează sub Fundația Linux, este deja responsabilă pentru proiecte influente precum Kubernetes, Containerd, Istio și gRPC, demonstrând capacitatea sa semnificativă de a gestiona inițiative tehnologice cheie în cadrul ecosistemului cloud computing. Acest pas promite să lărgească raza de acțiune a Hyperlight și să consolideze poziția sa ca instrument esențial în domeniul aplicațiilor cloud-native.
În ceea ce privește suportul actual pentru platforme , este important de menționat că oferă suport pentru mai multe medii pentru a-i asigura versatilitatea. Pe Linux, este compatibil cu hipervizoarele KVM și mshv (Microsoft Hypervisor pe Azure Linux), în timp ce pe Windows folosește WHP (Windows Hypervisor Platform) și WSL2 cu KVM (macOS este exclus în prezent).
În cele din urmă, dacă sunteți interesați să aflați mai multe , trebuie să știți că proiectul este dezvoltat în Rust și este disponibil sub licența Apache 2.0 . Puteți găsi detalii la următorul link.