Microsoft tillkännagav nyligen lanseringen av ett nytt öppen källkodsprojekt som heter " Hyperlight ". Detta är en hypervisor som är specifikt utformad för integration i applikationer som kräver exekvering av isolerad kod, oavsett om det är av säkerhetsskäl eller för att hantera otillförlitliga kodfragment.
Hyperlight positionerar sig som ett delat bibliotek, vilket gör att funktioner kan köras inom mikro-VM:er, vilket minimerar latens och underlättar effektiv kommunikation med värdbaserade funktioner.
Om Hyperlight
Jämfört med traditionella virtuella maskiner utmärker sig Hyperlight för sin låga prestandapåverkan, eftersom Hyperlight, jämfört med starttiden för en vanlig virtuell maskin som kräver minst 120 millisekunder, tillåter skapandet av mikro-VM:er på bara 1 till 2 millisekunder, vilket möjliggör funktionell isolering.
Dessutom nämns att även om miljöer som Wasmtime for WebAssembly erbjuder ännu lägre tider, på 0,03 millisekunder, försöker Hyperlight erbjuda en idealisk balans mellan isolering och funktionalitet för komplexa applikationer.
Till skillnad från traditionella konfigurationer använder mikro-VM i Hyperlight inte en kärna eller ett komplett operativsystem . Istället reduceras den virtuella maskinen till ett fristående program som inkluderar funktionskoden, en minimal specialiserad kärna och den nödvändiga körtiden, som körs i en enda minnesregion med en allokerad virtuell CPU, utan processpartitionering eller enhetsmappning.
Hyperlight möjliggör dessa anpassningar i ett brett spektrum av scenarier: för integration av Internet of Things (IoT) gatewayfunktioner, användning inom industriell automation, högpresterande molntjänster, etc.
Utvecklingsarbetsflödet med Hyperlight innebär att länka den huvudsakliga applikationskoden med Hyperlight Host-biblioteket , som hanterar de mikro-VM:erna. Den isolerade koden som körs i dessa mikro-VM:er använder Hyperlight Guest-biblioteket, vilket tillhandahåller de nödvändiga API:erna för extern interaktion och gör att kod kan köras helt oberoende av värdoperativsystemet. Med denna arkitektur syftar Hyperlight till att omdefiniera exekvering av isolerade funktioner och erbjuder en effektiv och säker metod för moderna applikationer.

En viktig funktion i Hyperlight är dess förmåga att etablera dubbelriktad interaktion mellan värdapplikationen och isolerade funktioner. Det tillåter inte bara applikationer att anropa funktioner som finns i isolerade miljöer, utan gör det också möjligt för dessa funktioner att komma åt vissa element i värden. Denna åtkomst är dock strikt kontrollerad för att garantera säkerhet. Som standard kan isolerade funktioner endast kommunicera med värden via ett minimalt API som underlättar meddelandeutbyte. Denna begränsning säkerställer en kontrollerad miljö och minskar säkerhetsriskerna i samband med funktionell isolering.
Angående sina långsiktiga planer nämner Microsoft sin avsikt att omvandla Hyperlight till ett bredare samarbetsprojekt under ledning av Cloud Native Computing Foundation (CNCF). Detta drag syftar till att främja neutral och öppen utveckling, fri från exklusivt inflytande från specifika leverantörer. CNCF, som verkar under Linux Foundation, ansvarar redan för inflytelserika projekt som Kubernetes, Containerd, Istio och gRPC, vilket visar på dess betydande förmåga att hantera viktiga tekniska initiativ inom molntjänstekosystemet. Detta steg lovar att bredda Hyperlights räckvidd och stärka dess position som ett viktigt verktyg inom molnbaserade applikationer.
Angående nuvarande plattformsstöd är det viktigt att nämna att den stöder flera miljöer för att säkerställa dess mångsidighet. På Linux är den kompatibel med KVM- och mshv-hypervisorer (Microsoft Hypervisor på Azure Linux), medan den på Windows använder WHP (Windows Hypervisor Platform) och WSL2 med KVM (macOS är för närvarande undantaget).
Slutligen, om du är intresserad av att lära dig mer , bör du veta att projektet är utvecklat i Rust och är tillgängligt under Apache 2.0-licensen . Du hittar detaljerna på följande länk.