Definition

Unikernel

Un unikernel est une image pouvant s'exécuter en mode natif sur un hyperviseur sans nécessiter de système d'exploitation séparé. Cette image contient le code d'une application ainsi que toutes les fonctions du système d'exploitation (OS, Operating System) dont cette application a besoin.

Les unikernels sont généralement créés à l'aide de compilateurs utilisant les librairies de systèmes d'exploitation. Ils constituent des ensembles de librairies qui rassemblent les principales fonctions d'un système d'exploitation utiles à l'application. Ainsi, le créateur d'un unikernel choisit de n'inclure que les composants requis pour faire fonctionner une application donnée. Les fonctions traditionnelles des OS, telles que la gestion du réseau ou du système de fichiers, sont compilées de façon sélective dans l'exécutable final en fonction des besoins.

Les unikernels n'utilisent qu'une infime partie des ressources requises par des systèmes d'exploitation généralistes complets, tels que Linux ou Microsoft Windows Server. Leur petite taille leur permet de démarrer en moins d'une seconde et d'atteindre des densités élevées de déploiement, inégalées dans la virtualisation traditionnelle des serveurs.

De plus, l'encombrement minime des bibliothèques et l'absence des utilitaires des OS traditionnels réduisent considérablement la surface d'attaque exploitable par des pirates malveillants.

Certains systèmes unikernel tirent parti de langages sécurisés tels que Haskell ou Erlang, tandis que d'autres peuvent être liés à des langages plus courants, comme C, C++ ou Java.

De nombreux systèmes unikernel sont proposés par plusieurs sources, la communauté open source en tête. Les systèmes unikernel les plus répandus sont: MirageOS de l'incubateur Xen Project, Drawbridge de Microsoft, Haskell Lightweight Virtual Machine (HaLVM), LING (anciennement Erlang sur Xen), OSv, Project Guest VM Microkernel, IncludeOS, les rump kernels qui tirent parti de la bibliothèque de fonctions d'OS de NetBSD, et ClickOS créé par NEC Laboratories Europe et Clive élaboré par des chercheurs de l'université Rey Juan Carlos de Madrid (Espagne).

Cette définition a été mise à jour en mars 2016

Pour approfondir sur Virtualisation de serveurs