Sommaire
Officiellement, ce mot permet d'indiquer l'action de faire exécuter un ou plusieurs systèmes d'exploitation dans une application d'un système d'exploitation de l'ordinateur. Ainsi, grâce à la virtualisation, laquelle permet que les machines virtuelles de pouvoir installé des systèmes d'exploitation à l'intérieur de fichiers, de cloner un système existant, de tester de multiples systèmes simultanément sur une même machine sans investissements de matériels supplémentaires. Par exemple, on installera sur un VMWare WorkStation, un Windows 98, Windows 2000 et Windows XP et on testera les différentes versions de navigateurs Web Internet Explorer 5, 5.5 et 6 sans changer d'ordinateur. Ces problèmes sont très communs dans le Web, où certains vivent des bogues et des mauvais fonctionnements d'applications sur une version particulière de navigateur, mais pas sur une autre version.
De plus, en utilisant la virtualisation, il est possible de tester de vieux systèmes d'exploitation obsolètes, de vérifier le comportement de logiciel utilisé a l'époque et de comparer le résultat avec les systèmes actuels afin, de par exemple, les adaptées aux nouvelles technologies.
Parmi les avantages que l'on peut constater de la virtualisation :
- Pas de risques : Dans le pire des cas, votre VM a simplement détruit totalement un vulgaire fichier d'image de système d'exploitation. Votre machine est intacte. Ainsi, si vous voulez vérifier le comportement du logiciel étant peut-être contaminé par un virus, utiliser toujours une VM plutôt que votre machine. Vous n'avez qu'a faire un «snapshop» avant d'installer votre logiciel à risque et de revenir à votre «snapshop» précédent si des ennuis surviennent.
- Encadrement : La VM ne pourra jamais dépasser la limite d'utilisation de mémoire et d'espace que vous lui avez fixés. Des logiciels trop gros lorsqu'ils sont seules sur une machine comme, par exemple la base de données SQL Server 2000, deviendront mystérieusement plus raisonnable.
Serveur
Pour les entreprises, il y a plus d'intérêt à la virtualisation que de faire tourner un vieux Pac-Man sur un ordinateur récent. Ainsi, les serveurs permettront d'offrir des services en voient de remplacement en faisant rouler les vieux systèmes d'exploitation serveur dans des machines virtuelles en attendant qu'il soit totalement remplacer. Toutefois, les besoins pourront varier en fonction des entreprises, et on retrouvera les avantages suivants :
- Optimisation des ressources du parc d'ordinateur
- Facilitation des migrations des machines
- Économie matérielle importante, et donc économie d'argent
- Utilisation de système et de leur expérimentation lors de la mise au point avant la production.
- Meilleure distribution de la puissance de calcul des ordinateurs.
- Architecture plus autonome et mieux isolée.
Les désavantages sont les suivants :
- Une bonne qualification est nécessaire : le premier venue ne peut pas virtualiser toutes ses machines virtuelles et espérer que tous fonctionnent parfaitement. Par exemple, il faudra donner suffisant de mémoire et d'espace disque, mais pas trop pour que les VM fonctionnent bien. Il faudra donc, avoir une idée claire sur papier de la volumétrie des VM et de leurs architectures avant de commencer quoi que ce soit.
- Les VM ne contrôlent pas la machine à 100% : il n'est pas une bonne idée de virtualiser des VM utilisant des composantes matérielles directement (donc des prototypes utilisant l'USB et des cartes PCI-Express expérimental).
Optimisation
Tout est une question de bon dosage, lorsqu'on parle d'optimisation :
- SSD : L'utilisation d'un disque dur SSD pour vos données temporairement (mise sur pause d'un VM par exemple) accéléra grandement les performances des VM en développement, mais ne change pas grand-chose lorsqu'on met la VM elle-même sur un SSD. Ainsi, concrètement, une VM avec un Microsoft Dynamic AX d'installer dessus prendra moins de 1 seconde a mettre sur pause, par contre le démarrage à froid prendra toujours 1 minute a démarré.
- Mémoire : Fixer le nombre de mémoire à 256 Mo pour Windows NT 4 Server, 512 Mo pour Windows 2000 Server,...
- Limite de partition : Les disques durs de plus de 120 Go ne sont pas gérés correctement par Windows 98, donc inutile de mettre une taille de disque plus grande que 120 Go.
- Réseau : S'il est possible de monter un dossier virtuel VMWare ou VirtualBox, plutôt que de faire des accès par la carte réseau, on peut gagner un peu de performances.
- Instruction matériel CPU : Autant AMD qu'Intel offre un grand nombre d'instructions assembleur spécialisé pour la virtuatlisation. Ceux-ci sont beaucoup plus performantes que ceux que peuvent utiliser le logiciel. Il est donc préférable d'utiliser ceux-ci : VMCALL, VMCLEAR, VMLAUNCH, VMLOAD, VMMCALL, VMPTRLD, VMPTRST, VMREAD, VMRESUME, VMRUN, VMSAVE, VMWRITE, VMXOFF, VMXON,...
Remarque
- Bien que théoriquement la virtualisation d'une VM avec Linux-Apache-MySQL-PHP fonctionne en virtualisation, dans les faits, c'est une idée plutôt douteuse, car on se trouve dans une situation de langage interprété à deux niveaux : d'une part l'interprétation du langage machine de la machine virtualisé, d'autre part l'interprétation du langage de programmation PHP. Ainsi, dans cette situation le ASP.NET pourrait se trouvé avantagé, car il n'y a qu'un seul niveau d'interprétation à cause que son code source est compilé.
Voir également
Logiciel - VirtualBox - Présentation du logiciel
Logiciel - VMWare WorkStation - Présentation du logiciel
Articles - OpenVZ versus KVM