Home » Sysadmin

La virtualisation des nuages

5 octobre 2010 2 commentaires
tags : ,
Download PDF

Crédit photo : akakumo (flickr)

C’est le fer de lance de l’industrie en ce moment. Virtualisation, cloud, petits nuages, et PAF, votre informatique se portera beaucoup mieux, vous dépenserez moins d’argent, vous aurez plus de puissance et vous serez bientôt les maîtres du monde.

Ils ont tout faux, le maître du monde, chacun sait très bien que c’est moi.

Trêve de gonflage de chevilles, de quoi s’agit-il ? Pour commencer, un mot à propos de la virtualisation. Dans les glorieux temps reculés de l’informatique nous avions déjà une bonne couche de virtualisation :

  • Nous n’avions à notre disposition sur un ordinateur qu’un BIOS (Basic Input Output System) servant grosso modo à faire parler les composants matériels de l’ordinateur (carte vidéo, clavier, carte réseau, …) avec le système d’exploitation. Ce n’est pas une virtualisation parfaite dans le sens où chaque composant matériel a encore besoin d’un langage spécifique au niveau du système d’exploitation pour fonctionner, mais c’était déjà un bon début.
  • Nous avions aussi un système d’exploitation appuyé sur le BIOS qui offrait tout une palette de fonctionnalités permettant aux développeurs d’applications de ne pas avoir à réinventer la roue à chaque fois (créer une fenêtre, gérer un menu déroulant, etc.). A ce niveau, par contre, il n’y a plus que de rares applications qui ont besoin d’instructions spécifiques concernant le matériel, pour toutes les autres, l’ordinateur est déjà complètement virtualisé dans le sens où vous pouvez remplacer le matériel et continuer à utiliser vos applications de la même façon.

Alors qu’y a-t-il de nouveau qui justifie de crier à la révolution ? Une nouvelle étape de virtualisation a été franchie, il est à présent possible (ça l’a toujours plus ou moins été, mais c’est à présent fiable, rodé et déployé à grande échelle) de faire fonctionner une machine dans la machine. En bref, de faire fonctionner un système d’exploitation sur une machine qui est virtuelle et complètement détachable du matériel.

Et donc, concrètement, où est la révolution ? Vous êtes sans doute habitués à l’ordinateur de base, un (ou plusieurs) processeur(s), un espace de mémoire, du stockage sur disque dur et un système d’exploitation. La virtualisation consiste à n’utiliser le système d’exploitation installé sur le matériel que pour faire fonctionner d’autres systèmes virtuels.

Je vais prendre l’exemple de VMWare ESXi qui est celui que je pratique le plus (preuve supplémentaire que je ne suis pas libriste). Il ne s’agit ni plus ni moins que d’un vulgaire système basé sur Linux mais qui ne vous offre, de prime abord, aucun moyen d’interaction si ce n’est la configuration du réseau pour pouvoir y accéder à distance. Une fois configuré, vous pouvez lancer un outil (vSphere) sur un poste distant vous permettant de prendre la main sur le VMWare.

Une fois dans cet outil, vous obtenez une vue des ressources disponibles (espace disque, mémoire, puissance de calcul, …) et vous pouvez créer une machine virtuelle, la démarrer, lui connecter un lecteur de CD bien réel, etc …

Que se passe-t-il ? Le système d’exploitation installé sur notre machine fait tourner un programme (hyperviseur) qui va se comporter comme une machine réelle en réutilisant les ressources de la machine sur laquelle il est installé. Vous pourrez par exemple lui dire « tu peux utiliser 4Go de mémoire, 80Go de disque dur et la moitié de la ressource de calcul du serveur ».

Là dessus, on démarre un système d’exploitation dans la machine virtuelle. Ce système n’a théoriquement aucun moyen de sortir du carcan établi. On peut donc, par exemple, faire tourner 3 machines virtuelles ayant chacune 1Go de mémoire sur un serveur réel qui en a 4 en tout.

Où est l’intérêt ? Souvent, lorsqu’on installe un serveur, on n’utilise à fond qu’une seule des trois ressources principales. Une machine de stockage va par exemple n’utiliser que très peu de mémoire ou de puissance de calcul mais remplir complètement son disque. La virtualisation permet de faire fonctionner, sur cette même machine réelle, une autre machine virtuelle qui, elle, n’aura besoin que de peu d’espace disque mais utilisera beaucoup de mémoire.

Et la, vous vous dites « oui, mais ça, je pouvais déjà le faire avant, il suffisait d’installer les deux applications complémentaires sur le même système d’exploitation ». Bravo, vous avez mis le doigt sur la grande esbroufe de la virtualisation. Le seul intérêt réel réside dans le fait qu’avec elle, vous pouvez installer plusieurs systèmes d’exploitation différents. Sorti de ça, pas de grand intérêt si ce n’est peut-être plus de souplesse pour l’administrateur qui peut proprement segmenter les différents usages de son matériel.

Quel rapport avec les nuages ? Le nuage dont on parle, c’est le réseau et la myriade de serveurs qui y sont connectés. C’est le second avantage de la virtualisation, le fait de pouvoir séparer les éléments matériels pour les réunir virtuellement et constituer ainsi une machine qui aura l’air d’être vraie.

Imaginez deux serveurs avec 64Go de mémoire vive, 8 gros processeurs et aucun disque dur. Faites-leur faire copain-copain avec deux NAS bourrés de disques durs qui ne savent rien faire d’autre que restituer les 80To qu’ils contiennent. Mettez un serveur et un NAS à un endroit, les deux autres à un autre, montez un joli réseau qui interconnecte tout ça, ça y est, vous avez un cloud.

Que pouvez-vous faire avec votre tout nouveau nuage ? Vous allez commencer par faire que les NAS se synchronisent entre eux, histoire d’être quasiment sûr de ne jamais perdre une seule donnée. Vous allez ensuite installer un hyperviseur sur chacun des deux serveurs et configurer 32 machines virtuelles par serveur, chacune avec 1Go de ram et 1To de disque que vous irez chercher sur le NAS.

Si un avion tombe sur le site numéro 1, que deviez-vous faire avant ? Récupérer vos backups et relancer vos services sur le site numéro 2 au prix de longues heures d’interruption du service et de travail pour restaurer les données. A présent, en 2 clics, vous aurez relancé les 32 machines virtuelles du site 1 sur le site 2, aucune donnée ne sera perdue puisque le second NAS avait une copie en temps réel des données du premier, et votre job est sauvé !

Et puis quoi, encore ? Une dernière chose amusante, une machine virtuelle utilise un quota fixé d’espace disque, de mémoire et de processeur. Vient un moment où vous avez besoin de plus, il suffit d’aller cliquer pour augmenter la mémoire… Si vous aviez bien sûr prévu le coup et installé la mémoire en question dans la machine physique. Non, la virtualisation n’invente pas de la mémoire qui n’existe pas.

Alors où est l’arnaque ? Il n’y en a pas vraiment, vous pouvez effectivement bénéficier de redondance accrue, ou en tout cas plus facile à mettre en oeuvre, de flexibilité dans l’allocation des ressources, mais vous perdez de la puissance du fait de cette virtualisation (quelques pourcents d’après les éditeurs d’hyperviseurs, donnée à vérifier) et vous vous retrouvez sur une infrastructure mutualisée entre plusieurs clients, ce qui peut entraîner pas mal de désagréments, de la surcharge ponctuelle au plantage généralisé qui mobilise tellement les équipes de l’hébergeur que vous passez en seconde position question urgence.

Rien de bien révolutionnaire pour les grosses infrastructures, donc. Ça ne fait qu’ajouter une couche de complexité à quelque chose qui l’est déjà énormément. Pour les petits usages ayant besoin de flexibilité, c’est par contre assez intéressant.

2 Comments »

  • bnj04 said:

    Rien de bien révolutionnaire pour les grosses infrastructures, donc. Ça ne fait qu’ajouter une couche de complexité à quelque chose qui l’est déjà énormément. Pour les petits usages ayant besoin de flexibilité, c’est par contre assez intéressant.

    au contraire, ca enlève beaucoup de complexité, car la haute dispo est embarquée. Pas de cluster à gérer par applis, un seul « cluster » vmware qui se crée en 3 clics.

    pour rajouter de la memoire, du vmotion sur un autre serveur, arret de la machine physique, ajout de memoire, re-vmotion, puis ajout a chaud de ram avec des os recents :D

    a+

    [Et quand c’est planté, adieu veaux, vaches & cochons … La complexité ne s’apprécie pas que sur l’usage quotidien mais aussi sur la facilité à contrer les pannes]

  • Romain said:

    La virtualisation apporte beaucoup de flexibilité. Je l’adore. Si je souhaite tester deux outils. Assis sur ma chaise, j’accède au raritan, et op je clone une VM basique de Linux. Je la configure (ip, nom…). J’y installe le premier outil. Je re-clone une vm, j’installe le seconde outil et op fini. Je peu pas me permettre pour un test d’avoir des erreurs du au fait que j’ai deux outils qui font la même chose sur le serveur. Et j’ai pas 2 serveurs tests sous la main. La virtualisation permet aussi d’économiser des ressources, de nombreux serveurs consomment peu. Sur un ESX ont a plus de 20 VM !!!

    Et comme tu le dit, la flexibilité. Je dois rajouter de la ram, j’ai juste à déplacer la VM à chaud !

    Bon article ;)

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.


5 − quatre =