Microsoft ha annunciato il progetto Hyperlight Wasm, una nuova tecnologia sperimentale che unisce il mondo delle micro-VM con il runtime WebAssembly (o semplicemente Wasm). Disponibile sia per Windows che per Linux, questa soluzione dovrebbe assicurare tempi di molto rapidi (circa 1-2 millisecondi) e un alto livello di isolamento grazie a ben due strati di sicurezza.
Come funziona Hyperlight Wasm
Alla base di questa iniziativa troviamo Hyperlight, un gestore di macchine virtuali molto leggero sviluppato in Rust che avvia VM prive di kernel o sistema operativo. Le macchine si basano esclusivamente su una libreria API minimalista in modo da garantire un'esecuzione sicura del codice con un impatto minimo sulle risorse.
Hyperlight Wasm aggiunge al Wasmtime un runtime WebAssembly open source creato dalla Bytecode Alliance. Viene così supportata l'esecuzione di applicazioni scritte in numerosi linguaggi tra cui Rust, C/C++, Python, JavaScript, Go, C# e Ruby.
Uno dei principali vantaggi è la combinazione tra la sandbox di Wasmtime e la protezione delle VM. Ciò rende Hyperlight Wasm una piattaforma ideale per scenari serverless e a scalabilità zero in cui le applicazioni possono essere avviate istantaneamente solo quando necessario.
Sviluppo e limitazioni
Attualmente sono in corso degli interventi per ridurre i tempi di avvio al di sotto del millisecondo ma l'intero progetto è ancora in fase sperimentale. Microsoft prevede di utilizzarlo in una preview privata legata ad Azure Front Door con possibili applicazioni a bassa latenza distribuite sull'infrastruttura Cloud del gruppo.
Tra le limitazioni attuali si ha però la mancanza di un supporto per i sistemi macOS. Così come la necessità di implementare manualmente le API WASI, anche se la Casa di Redmond prevede l'integrazione futura di binding predefiniti.
Il progetto viene rilasciato sotto licenza open source (Apache 2.0) ed è stato messo a disposizione della Cloud Native Computing Foundation da cui sarà incubato nel programma sandbox.