OSv, un système d’exploitation amaigri pour le cloud

Le cloud s'installe

Dédié aux environnements cloud, le système d’exploitation open source OSv se veut le chemin le plus court entre une application virtualisée et la machine physique. Une approche unique en son genre.

Les plates-formes cloud se multiplient à toute vitesse. Malheureusement, la plupart d’entre elles se penchent sur l’architecture entourant les machines virtuelles (VM), sans se soucier de ce qui se passe à l’intérieur des VM en question.

C’est pour répondre à ce problème qu’Avi Kivity et Dor Laor, deux participants au projet KVM, ont créé la start-up Cloudius Systems et son premier produit, OSv, un système d’exploitation minimal optimisé pour les machines virtuelles.

Éliminer tout ce qui est inutile

Un OS fonctionnant au sein d’une machine virtuelle accède au matériel via des pilotes adaptés initialement au fonctionnement d’un PC classique. Parfois, des pilotes paravirtualisés sont de la partie. Ces derniers se permettent de nombreux raccourcis pour accéder directement au matériel physique.

Toutefois, il est possible d’aller bien plus loin, puisque – dans la pratique – l’OS fonctionnant dans une machine virtuelle n’a pas du tout à gérer le matériel physique. Les pilotes peuvent être simplifiés et les couches d’abstraction et de protection enlevées, ces rôles étant déjà pris en charge par l’OS hôte.

Il est même envisageable d’aller encore plus loin : puisqu’en général une VM en mode cloud est dédiée à une seule application, tous les mécanismes permettant de faire fonctionner plusieurs logiciels sur une même machine peuvent être supprimés.

C’est ce qu’OSv réalise, en éliminant tout le superflu. Retrait de l’espace utilisateur (remplacé par le seul espace kernel) et des processus multiples (une seule application par conteneur), bref un lien direct entre l’application et le noyau de l’OS, lui-même en relation directe avec l’OS hôte.

Nous sommes ici très proches de la virtualisation applicative (une application pour un conteneur), mais avec tous les bénéfices liés à l’utilisation d’un hyperviseur.

Java à la vitesse de l’éclair

Ce projet, lancé en décembre 2012, est aujourd’hui livré sous licence open source BSD. À noter : le support de 64 CPU virtuels, l’utilisation du système de fichiers ZFS et des capacités réseau flatteuses (plus de 15 Gb/s sous Netperf)…

Côté performances, OSv fait déjà mieux qu’un Linux virtualisé dans de nombreux cas (Cassandra, MemCacheD, TCP/IP, SpecJVM), en particulier avec les applications Java, grâce à sa JVM optimisé (le code C compilé est également supporté).

Notez que l’OS s’installe simplement puisqu’aucun fichier de configuration n’est requis. Il suffit de déployer les applications et de les lancer, et le tour est joué. Le tout avec un temps de démarrage du système inférieur à la seconde.

L’OS – codé en C++11 – est compatible avec les machines virtuelles x86 64 bits fonctionnant sous KVM. Le support des hyperviseurs Xen et VMware est en cours de mise au point. Notez enfin qu’une version ARM 64 bits de cette offre est d’ores et déjà prévue.

Crédit photo : © italianestro – shutterstock


Voir aussi
Quiz Silicon.fr – Le vocabulaire du cloud