Spoločnosť Microsoft predstavila projekt Hyperlight, ktorý vyvíja hypervízor určený na integráciu do aplikácií s cieľom izolovaného vykonávania kódu, ktorý nie je dôveryhodný alebo si vyžaduje špeciálnu ochranu. Hypervízor je navrhnutý ako zdieľaná knižnica, ktorá zabezpečuje vykonávanie jednotlivých funkcií v ľahkých virtuálnych strojoch (micro-VM) a organizuje výmenu údajov s týmito funkciami. Kód projektu je napísaný v jazyku Rust a šíri sa pod licenciou Apache 2.0.
V porovnaní so spustením tradičných virtuálních strojů Hyperlight umožňuje dosiahnuť nízke oneskorenia a minimálne náklady. V Hyperlight sú oneskorenia pri vytváraní virtuálnych strojov 1-2 milisekundy, čo umožňuje aplikovať izoláciu na úrovni spúšťania funkcií. Pre porovnanie, spustenie bežného virtuálneho stroja trvá najmenej 120 milisekúnd a spustenie izolovaného sandboxového prostredia na vykonávanie kódu WebAssembly pomocou runtime Wasmtime trvá 0,03 milisekundy.
Pre izoláciu na platforme Linux sa podporuje používanie hypervízorov KVM a mshv (Microsoft Hypervisor v Azure Linux), zatiaľ čo na platforme Windows je to WHP (Windows Hypervisor Platform) a WSL2 (Windows Subsystem for Linux 2) s KVM. Platforma macOS zatiaľ nie je podporovaná. Samostatné jadro a operačný systém v virtuálnom stroji sa nepoužívajú. Vybavenie pre virtuálny stroj sa formuje ako samostatný spustiteľný program, ktorý obsahuje kód vykonávanej funkcie vo viazaní runtime a špecializovaným minimálnym jadrom. V virtuálnom stroji sa používa jediný lineárny fragment pamäte a prideľuje sa virtuálny CPU, bez mapovania zariadení a bez rozdeľovania na procesy.
Proces vývoja sa zakladá na previazaní hlavného kódu aplikácie s knižnicou Hyperlight Host, ktorá koordinuje spúšťanie virtuálnych strojov, a kódu spúšťaných izolovane funkcií (hostiteľských funkcií) s knižnicou Hyperlight Guest, ktorá poskytuje API na interakciu s vonkajšou časťou aplikácie a možnosti pre oddelené vykonávanie kódu mimo prostredia operačného systému.

Poskytovaná vrstva pre interakciu medzi hostiteľskou aplikáciou a izolovanými funkciami umožňuje nielen vyvolávať izolované funkcie z hostiteľských aplikácií, ale aj naopak, pristupovať k funkciám hostiteľských aplikácií z izolovaných funkcií. Zoznam externých funkcií, ktoré sú povolené na volanie z izolovaných funkcií, je prísne regulovaný. Predvolene je prístup z izolovaných funkcií obmedzený na minimálne API, ktoré umožňuje prenášať správy hostiteľskej aplikácii.
V budúcnosti plánuje spoločnosť Microsoft odovzdať projekt neziskovej organizácii Cloud Native Computing Foundation (CNCF) na spoločný rozvoj na neutrálnej platforme, nezávislej od jednotlivých výrobcov. Organizácia CNCF pracuje pod záštitou Linux Foundation a dohliada na vývoj takých projektov, ako sú Kubernetes, etcd, Cilium, Containerd, cri-o, Flux, Helm, Istio a gRPC.
Zdroj: opennet.ru
