Avantages de la virtualisation

Usages normaux

La virtualisation a le vent en poupe depuis quelques années. Si elle est très utilisée dans l'informatique professionnelle -sur des serveurs par exemple - l'on peut se demander à quoi elle peut servir à monsieur Tout-Le-Monde. Pour un particulier, les avantages peuvent être :

Usages avancés

Au delà de l'utilisation qu'on peut en avoir, les principes de la virtualisation sont aussi utilisés pour des machines virtuelles, notamment les solutions de compatibilité MacOSX ou Windows, ou encore la console MS-DOS. Il s'agit de machines virtuelles plus ou moins visibles, plus ou moins avancées, permettant d'effectuer des opérations en environnement contrôlé.

L'usage le plus courant, mais le plus invisible est sans doute la téléphonie mobile. En effet, la téléphonie mobile requiert d'un côté des ressources en temps réel pour la communication qui ne peut pas se permettre d'attendre et l'interface utilisateur qui peut avoir des temps de réponse plus grands. Pour résoudre ces problèmes, le système d'exploitation d'un téléphone portable peut être virtualisé afin d'un côté d'obtenir une partie isolée en temps réel et, de l'autre, la partie utilisateur, qui nécessite moins de ressources.

De plus en plus, dans le monde de l'industrie, les serveurs sont virtualisés. Ainsi, un fabriquant fourni un serveur physique qui sera ensuite divisé en serveur virtuels plus petits, chacun ayant une quantité de mémoire, de processeurs et de disques bien précise pour, par exemple, réaliser un serveur de développement, de tests et de production. On ne paie alors plus une machine physique, mais un service. Tout le serveur n'étant pas forcément actif - en fonction de l'utilisation qu'on en a et du prix qu'on est prêt à mettre -, c'est souvent une seule machine qui est livrée, mais différentes parties qui sont actives. Si l'on veut des ressources supplémentaires, il n'y a plus à changer de serveur physique, juste payer plus - pour louer plus de ressources - et le fournisseur va allouer davantages de ressources.

De plus en plus, la virtualisation s'étend aux réseaux. Après avoir vu la virtualisation des serveurs, l'on voit la virtualisation des infrastructures réseau comme les routeurs, les pare-feu, etc.

La virtualisation s'étend aussi directement aux applications ce qui permet de disposer de tout un environnement de travail sur un client léger.

Virtualisation/paravirtualisation

La virtualisation

La virtualisation fait référence aux technologies qui fournissent une couche d'abstraction entre le matériel et les logiciels (qui s'exécutent au-dessus). Si plusieurs technologies peuvent être employées, pour virtualiser une infrastructure, la plus répandue est la virtualisation matérielle qui consiste à créer une couche logicielle appelé hyperviseur et qui compose le fondement de la virtualisation en supportant les machines virtuelles et en gérant le matériel.

L'hyperviseur accompagne la création et la supervision des machines virtuelles qui encapsulent un système d'exploitation. C'est ce qui fait sa puissance car la couche matérielle est entièrement virtualisée à travers la couche de l'hyperviseur. Cependant, cela entraîne un décalage et cette technologie entraîne souvent une saturation des entrées-sorties, ce qui fait qu'il faut souvent augmenter les ressources.

Les requêtes faites au matériel sont interceptées à la volée et réinterprétées, traduites en de nouvelles instructions destinées aux machines virtuelles et ainsi évite le conflit entre les différentes machines virtuelles. Aujourd'hui cette technique est quasi-transparente sur nos machines modernes et puissantes. En acceptant toutefois que le nombre de machines virtuelles reste raisonnable. Pour soulager un peu le matériel, des aménagements spécifiques pour la virtualisation sont faits au niveau des processeurs : la virtiualisation matérielle.

La paravirtualisation

Pour compenser quelques défauts de la virtualisation, la paravirtualisation a fait son apparition. Celle-ci consiste à modifier directement le système d'exploitation en l'isolant. Cela élimine ainsi la nécessité de gérer et d'empêcher la collision des requêtes, mais suppose de disposer d'une solution adaptée au système d'exploitation. La paravirtualisation permet aux machines virtuelles de communiquer directement avec l'hyperviseur en apportant - théoriquement - de meilleures performances. Cette méthode implique cependant que le système invité soit modifié.

Les solutions de virtualisation

Voici quelques outils de virtualisation gratuits.

Solution Système Propriétaire Invités supportés Commentaires
Virtual PC Windows/MacOS Oui Tous Gratuit à partir de v.2007, sauf pour Mac.
Fonctionne sur toutes versions de Windows,
sauf les versions de base (XP home, Vista family, ...). Ne prends pas en charge les pérophériques USB.
Virtual Server Windows Server/Vista Oui Tous Son installation sous Windows Vista nécessite
l'installation d'autres composants.
Possibilité de faire du P2V (Physical To Virtual)
Solaris Container Solaris Oui Solaris
Jail FreeBSD Oui FreeBSD
VirtualBox Tous Libre Tous Gère les périphériques USB. Prend en charge les images VMWare et VHD (Microsoft).
VMWare Windows/Linux/MacOS oui Tous
XenServer Windows/Linux/MacOS oui (Citrix) Tous Seule la version XenServer Express Edition est gratuite
openVZ Linux non linux
Hyper V Server Aucun oui Tous Solution complète fondée sur le noyau Windows server 2008. Elle s'installe directement sur une machine (64 bits) sans nécessité d'un système d'exploitation hôte, tout étant déjà inclus.