
Lo scorso novembre, all’interno del proprio sito dedicato all’open-source, Microsoft aveva presentato Hyperlight, una libreria open-source scritta in Rust e sviluppata dal team Microsoft Azure Core Upstream. Scopo di questa libreria è quello di consentire agli sviluppatori la gestione agevole di micro-macchine virtuali, erogate via KVM o Hyper-V, con un approccio abbastanza inedito, riassunto in questo schema:

Stando alla spiegazione fornita dall’articolo, piuttosto che creare ambienti di elaborazione generalizzati destinati a ospitare sistemi operativi tradizionali, Hyperlight crea una porzione lineare di memoria e le assegna una unità di elaborazione centrale virtuale (CPU).
Il motivo per cui questa viene definita “micro-vm” sta nel non aver alcuna mappatura di dispositivi virtuali, nessun avvio di kernel e nessun avvio di processi, nel senso tradizionale del termine. Hyperlight esegue quelle che sono chiamate guest VM, programmi speciali che combinano un kernel specializzato con la runtime di un’applicazione in un singolo programma caricabile.
Se qualcuno sta pensando ai container probabilmente non è lontano dalla realtà, non fosse che in questo caso c’è di mezzo un hypervisor e, soprattutto, Rust, che per via delle sue peculiarità in termini di sicurezza, garantisce la possibilità alle funzioni delle applicazioni di rimanere protette nel contesto dell’hypervisor, senza però perdere i benefici in termini di velocità.
Non è però finita qui, perché pochi giorni fa, sempre sul blog dedicato all’open-source di Microsoft, è stato condiviso il video risalente alla scorsa KubeCon North America 2024, nel quale Rita Zhang ha dimostrato che Hyperlight è in grado di eseguire funzioni multiple all’interno di una micro-vm con una latenza media di 0,0009 secondi!
È chiaro come l’annuncio punti al sensazionalismo, ma i test descritti nell’articolo mostrano in maniera molto chiara le potenzialità del progetto e sono molto chiari a proposito di ciò che già è presente, infatti il programma è già caricato in memoria, le sezioni di memoria che userà sono pre-allocate, la micro-vm è già stata inizializzata così come la sua vCPU.
In determinati contesti però questo tipo di risultato farà drizzare le antenne a parecchi sviluppatori:

Hyperlight è già stato presentato alla CNCF come progetto Sandbox, e ci sono tutti i presupposti affinché diventi un progetto a tutti gli effetti parte di quell’ecosistema.
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.