Microsoft va donar a conèixer fa poc el llançament de un nou projecte de codi obert, el qual té com a nom «Hiperlum«. Aquest és un hipervisor dissenyat específicament per integrar-se en aplicacions que requereixen lexecució de codi aïllat, ja sigui per motius de seguretat o per manejar fragments no fiables.
Hyperlight es posiciona com una biblioteca compartida, que permet executar funcions dins de micro-VMs, minimitzant la latència i facilitant la comunicació eficient amb les funcions allotjades.
Sobre Hyperlight
En comparació amb les màquines virtuals tradicionals, Hyperlight es destaca pel seu baix impacte en rendiment, ja que en comparació amb l'arrencada d'una màquina virtual estàndard que requereix almenys 120 mil·lisegons, Hyperlight permet crear micro-VMs en només 1 a 2 mil·lisegons, possibilitant l'aïllament funcional.
A més, s'esmenta que encara que els entorns com Wasmtime per a WebAssembly ofereixen temps encara més baixos, de 0,03 mil·lisegons, Hyperlight busca oferir un equilibri ideal entre aïllament i funcionalitat per a aplicacions complexes.
A diferència de les configuracions tradicionals, les micro-VMs a Hyperlight no utilitzen un kernel ni un sistema operatiu complet. En el seu lloc, la màquina virtual es redueix a un programa autònom que inclou el codi de la funció, un nucli mínim especialitzat i el temps d'execució necessari, executant-se en una regió de memòria única amb una CPU virtual assignada, sense particionar processos ni mapejar dispositius.
Hyperlight permet aquestes personalitzacions en una àmplia gamma descenaris: per a la integració de funcions de porta denllaç dInternet de les coses (IoT), lús en automatització industrial, serveis al núvol dalt rendiment, etc.
El flux de desenvolupament amb Hyperlight implica vincular el codi de l'aplicació principal amb la biblioteca Hyperlight Host, responsable de gestionar els micro-VMs. Per la seva banda, el codi aïllat que s'executa dins d'aquestes microVMs utilitza la biblioteca Hyperlight Guest, que ofereix les APIs necessàries per interactuar amb l'exterior i permet executar el codi de manera completament independent del sistema operatiu amfitrió. Amb aquesta arquitectura, Hyperlight cerca redefinir l'execució aïllada de funcions, oferint un enfocament eficient i segur per a aplicacions modernes.
Una característica destacada d'Hyperlight és la capacitat d'establir una interacció bidireccional entre l'aplicació amfitriona i les funcions aïllades, ja que no només permet que les aplicacions cridin funcions allotjades en entorns aïllats, sinó que també possibilita que aquestes funcions accedeixin a certs elements del host. No obstant això, aquest accés està estrictament controlat per garantir la seguretat ja que per defecte, les funcions aïllades només es poden comunicar amb l'amfitrió mitjançant una API mínima que facilita l'intercanvi de missatges. Aquesta limitació assegura un entorn controlat i redueix els riscos de seguretat associats a l'aïllament funcional.
Per la part dels seus plans a llarg termini, Microsoft esmenta que busca convertir Hyperlight en un projecte col·laboratiu més ampli sota la gestió de la Cloud Native Computing Foundation (CNCF). Aquest moviment té com a objectiu promoure un desenvolupament neutral i obert, deslligat de la influència exclusiva de fabricants específics. La CNCF, que opera sota la Fundació Linux, ja és responsable de projectes influents com Kubernetes, Containerd, Istio i gRPC, cosa que ens dóna una idea de la gran capacitat amb què compta per gestionar iniciatives tecnològiques clau en l'ecosistema de la computació al núvol. Aquest pas promet ampliar l'abast de Hyperlight i consolidar-lo com una eina essencial a l'àmbit de les aplicacions natives del núvol.
Quant al suport actual de plataforma, és important esmentar que suporta múltiples entorns per garantir-ne la versatilitat. A Linux, és compatible amb els hipervisors KVM i mshv (Microsoft Hypervisor a Azure Linux), mentre que a Windows utilitza WHP (Windows Hypervisor Platform) i WSL2 amb KVM (per ara, macOS queda fora).
Finalment, si estàs interessat en conèixer més a l'respecte, has de saber que el projecte està desenvolupat a Rust, i està disponible sota la llicència Apache 2.0. Pots consultar els detalls al següent enllaç.