Antoine Benkemoun

13 Juil, 2009

L’intérêt de la virtualisation

Posté par Antoine dans la catégorie Libre|Virtualisation

tech-presentation-2Je vous ai déjà présenté le projet Xen dans un billet précédent en vous en ventant ses mérites mais je ne vous ai même pas présenté l’intérêt de la virtualisation. Je vais donc faire le tour des avantages que peut apporter la virtualisation à une plateforme informatique existante ou bien à un projet de plateforme informatique. Ces avantages se divisent en quatre catégories principales : coût, sécurité, criticité et performances.

Constat

Dans une architecture classique (sans virtualisation donc), chaque service dispose de sa propre machine physique. Cette règle informelle ou plutôt « Best Practice » permet d’éviter que la compromission d’un service impacte d’autres services sur la machine. En conséquence, une architecture de ce type implémente une machine par service proposé sans compter les « Hot Spare ». Les « Hot Spare » sont des machines qui attendent une panne de la machine principale pour de prendre le relai et assurer la continuité du service.

Au final, les machines sont peu utilisées surtout avec les configurations matérielles d’aujourd’hui comprenant processeurs Dual-Core ou Quad-Core.

Avantages en terme de coût

La virtualisation va permettre de mutualiser les équipements physiques afin de supporter plusieurs systèmes d’exploitation sur une même machine physique. Au lieu d’avoir une machine physique pour chaque service, nous allons donc avoir un système d’exploitation pour chaque service. Les deux situations ne sont pas totalement équivalentes mais on s’en approche.

Une société va donc pouvoir héberger dans un espace moindre, avec une climatisation moindre et avec une consommation électrique moindre un même nombre de services. La variable d’ajustement sera le taux d’utilisation des machines physiques. L’architecture sera donc utilisée de manière plus efficace. De manière plus concrète, au lieu d’avoir un parc de serveurs bas de gamme hébergeant chacun un service, une société va pouvoir acheter un nombre restreint de serveurs haut de gamme plus puissants. Ceci va lui permettre de louer moins d’espace en datacentre et d’utiliser proportionnellement moins d’électricité.

Il faut cependant noter qu’une architecture virtualisée rajoute une surcharge de maintenance dans la mesure où il a été rajouté une couche applicative entre les ressources physique et le système d’exploitation. Cette couche applicative aura besoin d’être maintenue ce qui générera des coûts supplémentaires par rapport à une architecture classique.

Avantages en terme de sécurité

Etant donné que la virtualisation exécute plusieurs systèmes d’exploitation sur une même machine, il est primordiale qu’elle assure un cloisonnement parfait. Une faille dans ce dernier constituerait une faille de sécurité considérable. La virtualisation s’efforce d’arriver à un cloisonnement proche du cloisonnement physique. Le cloisonnement dans le cadre de la virtualisation reste cependant largement meilleur que dans le cas de plusieurs services sur un même système d’exploitation.

La virtualisation donne également la possibilité de créer des environnements de tests standardisés afin d’effectuer des tests de pénétration ou bien d’infection. La possibilité de mettre en pause une machine virtuelle est intéressante afin de pouvoir étudier le comportement de code malicieux par exemple. Je ne connais pas d’implémentation de cette possibilité mais la perspective me semble prometteuse.

Avantages en terme de criticité

Nous avons qualifié la possibilité d’exécuter plusieurs systèmes d’exploitation sur une même machine physique en tant qu’avantage. Il s’agit certes d’un avantage en terme de coût mais surement pas d’un avantage en terme de criticité. Une panne matérielle induit l’indisponibilité d’un grand nombre de services. La virtualisation permet de palier à cette problématique en fournissant de nombreux outils.

Dans le cadre d’un système d’exploitation classique, il est simple de sauvegarder des applications, des données ou des fichiers de configuration. Cependant, la virtualisation va permettre de faire une sauvegarde de la totalité des données d’une machine. Dans le cas d’une restauration de sauvegarde, il sera possible de restaurer un système d’exploitation fonctionnel rapidement sans devoir tout réinstaller. Ceci est un gros avantage de la virtualisation.

La virtualisation permet également de migrer des systèmes d’exploitation d’une machine physique à une autre en moins d’une seconde. Ceci permet d’éviter une indisponibilité en cas de modification de la configuration matérielle d’un équipement.

Avantages en terme de performance

Dans le cadre d’une architecture classique, si une machine nécessite plus de mémoire vive par exemple, il est nécessaire de prévoir un temps d’indisponibilité et le déplacement d’un technicien sur site. La virtualisation va permettre d’augmenter les ressources physiques de manière instantanée et sans manipulation de matériel ni déplacement de personnel. Il suffit d’exécuter une commande afin de rajouter de la mémoire vive ou de l’espace disque. Traditionnellement, ces augmentations se faisaient dans la mesure des ressources physiques. Depuis quelques temps, il est possible d’attribuer plus de mémoire vive qu’il est disponible dans la machine. La mémoire vive non utilisée par une machine virtuelle sera ainsi attribuée à une autre.

9 Commentaires to "L’intérêt de la virtualisation"

1 | Kastor

juillet 13th, 2009 at 15 h 20 min

Avatar

A te lire la virtu n’aurait donc que des avantages…? :)

2 | admin

juillet 15th, 2009 at 10 h 45 min

Avatar

J’aurais presque envie de dire que oui… Mais bon si on y réfléchit il y a quand même des désavantages notamment au niveau de l’intégration dans un réseau existant et au niveau des performances.

3 | Nico

juillet 15th, 2009 at 11 h 26 min

Avatar

Je réalise en ce moment une plate-forme sous Xen avec divers services.
La virtualisation nous permet d’isoler les machines virtuelle du monde extérieurs.
Une machine virtuelle sert de passerelle pour les connexions.
Techniquement, à partir du réseau externe on ne se connecte qu’a cette machine passerelle pour l’ensemble des services.

C’est très pratique.

J’ai vue Xen à l’œuvre couplé avec divers services, c’est un véritable confort.

4 | admin

juillet 15th, 2009 at 11 h 30 min

Avatar

Je suis entièrement d’accord avec toi que Xen fonctionne bien niveau réseau. Cependant pour l’avoir testé en profondeur lors de la TX (cf un billet précédent), il y a encore quelques problématiques à résoudre avant d’arriver au niveau de VMWare par exemple. Je pense notamment au 802.1Q et au NAT qui nécessite pleins de configurations manuelles avec iptables.

5 | cmuller13

juillet 28th, 2009 at 12 h 33 min

Avatar

Hello,

C’est un article clair qui résume bien les avantages principaux de la virtualisation ansi que certains inconvénients. Par contre question sécurité je ne peux pas être d’accord avec la phrase:
« Le cloisonnement dans le cadre de la virtualisation reste cependant largement meilleur que dans le cas de plusieurs services sur un même système d’exploitation. »

Je ne dis pas que je pense le contraire, je dis juste qu’on en sait rien ! Je ne vois pas comment prouver une telle affirmation ni dans un sens ni dans l’autre.. C’est vrai qu’on a plus de couches, qu’on a un système plus complexe, mais de la à en déduire qu’il est donc plus sur, le raisonnement m’échappe ! Tous les cas sont possible AMHA, suivant les OS et les solutions de VM. Par contre, pour Theo de Raadt, Monsieur OpenBSD, lui son opinion est faite: c’est clairement l’inverse, tout ce qui est à base de VM est une passoire ! ;-). Il est vrai qu’intutivement un système plus complexe est souvent moins sur.. Ce qui n’est pas très grave dans un contexte de services qui tournent sur un réseau local, mais par contre il est déconseillé de mettre des firewall en VM !
En tout cas moi aussi les VMs ont changé ma vie. Et l’avantage principal pour moi est le temps gagné en installation de softs (je fais des machines de build), en clonage, backup, etc.

Just my 0.02€

Cheers,
Christophe.

= S’il y avait une seule vérité, on ne pourrait pas faire cent toiles sur le même thème. –Picasso =

6 | Antoine

juillet 28th, 2009 at 13 h 07 min

Avatar

Hello,

Ton argumentation est parfaitement valable bien évidemment. Il est vrai que tu rajoutes des couches de complexité cependant ces couches de complexité ont pour objectif principal d’assurer le cloisonnement. C’est un peu comme rajouter un reverse proxy, c’est plus complexe mais c’est fait pour sécuriser donc c’est rentable au final je pense.
Pour moi entre mettre X services sur un même OS est moins sécurisé que mettre 1 service sur X VM. La propagation entre services sur un même OS est éprouvé et démontré. La propagation entre VM reste à démontrer…
Après on en sait rien tu as raison. Mais selon moi, je trouve que c’est plus sécurise =)

7 | otox00

octobre 5th, 2009 at 19 h 34 min

Avatar

hello,

est ce que vous connaissez un site qui explique la virtualisation en profondeur? j’ai trouver quelques bons articles sur la virtualisation mais c’est des résumé..
L’article est tres interessant

8 | Antoine

octobre 6th, 2009 at 11 h 23 min

Avatar

Je ne connais pas de site qui expliquent véritablement la virtualisation en profondeur. J’essaye de faire un début d’explication en profondeur si ce blog mais c’est assez difficile. Je vous invite à lire les documents dans l’onglet « Projets Xen » de ce site qui devraient être un bon début. Sinon je vous conseille de lire les livres dont j’ai précédemment parlé.

9 | virtualisation

novembre 18th, 2011 at 18 h 38 min

Avatar

Bonjour, J’ai également virtualisé mes services sous HyperV, avec un serveur virtuel par VM donc par service : et ça représente un avantage considérable, car je peux maintenir un service sans arrêter les autres. Je sauvegarde mes VM à chaud sur un autre serveur, ayant ainsi des services redondants.
En cas de panne d’un serveur l’autre prend le relais.

Le gros inconvénient, car personne n’a parlé des inconvénients : trop de serveurs virtuels à maintenir. Et quand une nouvelle version majeure d’OS sort pour un service virtuel, je suis contraint de réinstaller le serveur virtuel. Exemple si vous avez virtualisé 5 services sur 5 Debian v6, quand la 7 sortira vous serez obligé d’installer 5 systèmes d’exploitation. Parce que parfois, en tout cas sous hyperV, la duplication de VM fait bugger la VM

Ajoutez votre commentaire

A propos de ce blog

Ce blog a pour objectif de partager des informations avec tous les internautes. Comme indiqué dans le titre, je traiterais de différrents sujets gravitant autour de la sécurité informatique, de la virtualisation, de la l'administration système et du réseau.