Microsoft a récemment annoncé le lancement d' un nouveau projet open source appelé « Hyperlight ». Il s'agit d'un hyperviseur spécialement conçu pour l'intégration dans des applications nécessitant l'exécution de code isolé, que ce soit pour des raisons de sécurité ou pour gérer des fragments de code non fiables.
Hyperlight se positionne comme une bibliothèque partagée, permettant aux fonctions de s'exécuter au sein de micro-VM, minimisant ainsi la latence et facilitant une communication efficace avec les fonctions hébergées.
À propos d’Hyperlight
Comparé aux machines virtuelles traditionnelles, Hyperlight se distingue par son faible impact sur les performances, car, contrairement au temps de démarrage d'une machine virtuelle standard qui nécessite au moins 120 millisecondes, Hyperlight permet la création de micro-VM en seulement 1 à 2 millisecondes, permettant ainsi une isolation fonctionnelle.
De plus, il est mentionné que bien que des environnements tels que Wasmtime pour WebAssembly offrent des temps encore plus faibles, de 0,03 millisecondes, Hyperlight cherche à offrir un équilibre idéal entre isolation et fonctionnalité pour les applications complexes.
Contrairement aux configurations traditionnelles, les micro-VM d'Hyperlight n'utilisent ni noyau ni système d'exploitation complet . La machine virtuelle est réduite à un programme autonome comprenant le code fonctionnel, un noyau spécialisé minimal et l'environnement d'exécution nécessaire, s'exécutant dans une seule zone mémoire avec un processeur virtuel alloué, sans partitionnement des processus ni mappage des périphériques.
Hyperlight permet ces personnalisations dans un large éventail de scénarios : pour l'intégration de fonctions de passerelle Internet des objets (IoT), utilisation dans l'automatisation industrielle, services cloud hautes performances, etc.
Le flux de développement avec Hyperlight consiste à lier le code principal de l'application à la bibliothèque Hyperlight Host , qui gère les micro-machines virtuelles. Le code isolé exécuté au sein de ces micro-machines virtuelles utilise la bibliothèque Hyperlight Guest, qui fournit les API nécessaires aux interactions externes et permet une exécution totalement indépendante du système d'exploitation hôte. Grâce à cette architecture, Hyperlight ambitionne de redéfinir l'exécution de fonctions isolées, en proposant une approche efficace et sécurisée pour les applications modernes.

Hyperlight se distingue par sa capacité à établir une interaction bidirectionnelle entre l'application hôte et les fonctions isolées. Il permet non seulement aux applications d'appeler des fonctions hébergées dans des environnements isolés, mais aussi à ces fonctions d'accéder à certains éléments de l'hôte. Cet accès est toutefois strictement contrôlé afin de garantir la sécurité. Par défaut, les fonctions isolées ne peuvent communiquer avec l'hôte que via une API minimale facilitant l'échange de messages. Cette limitation assure un environnement contrôlé et réduit les risques de sécurité liés à l'isolation fonctionnelle.
Concernant ses projets à long terme , Microsoft évoque son intention de transformer Hyperlight en un projet collaboratif plus vaste , sous la direction de la Cloud Native Computing Foundation (CNCF). Cette initiative vise à promouvoir un développement neutre et ouvert, affranchi de l'influence exclusive de fournisseurs spécifiques. La CNCF, qui opère sous l'égide de la Linux Foundation, est déjà à l'origine de projets influents tels que Kubernetes, Containerd, Istio et gRPC, démontrant ainsi sa capacité significative à gérer des initiatives technologiques clés au sein de l'écosystème du cloud computing. Cette étape promet d'étendre la portée d'Hyperlight et de consolider sa position d'outil essentiel dans le domaine des applications cloud-native.
Concernant la compatibilité actuelle avec les plateformes , il est important de préciser que ce système prend en charge plusieurs environnements, ce qui garantit sa polyvalence. Sous Linux, il est compatible avec les hyperviseurs KVM et mshv (Microsoft Hypervisor sur Azure Linux), tandis que sous Windows, il utilise WHP (Windows Hypervisor Platform) et WSL2 avec KVM (macOS n'est actuellement pas pris en charge).
Enfin, si vous souhaitez en savoir plus , sachez que ce projet est développé en Rust et distribué sous licence Apache 2.0 . Vous trouverez plus de détails en suivant ce lien.