"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Archive for avril 2007

Virtualisation

Posted by Noam sur avril 11, 2007

Depuis quelques mois j’entends parler de virtualisation. Voici un rapide résumé de cette technique (issu de l’article « Développeurs: Virtualisez votre environnement » du magazine Programmez N°96, avril 2007).

Prérequis: pour utiliser la virtualisation il faut:

  1. une machine récente (2007)  multiprocesseur ou multicoeur
  2. 1 Go de mémoire vive
  3. un gros disque dur en local
  4. un écran de 17 ou 19 pouces.

Liens:
D’après wikipedia la virtualisation désigne l’ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d’exploitation et/ou plusieurs applications, séparément les uns des autres, comme s’ils fonctionnaient sur des machines physiques distinctes. Les outils de virtualisation servent à faire fonctionner ce qu’on appelle communément des serveurs privés virtuels (« Virtual Private Servers » ou VPS) ou encore environnements virtuels (« Virtual Environments » ou VE).

Pourquoi virtualiser:

  1. pour tester son projet sans risque de problèmes pour son système
  2. créer des machines de tests avec différents systèmes et environnements de fonctionnement
  3. tester de nouveaux outils
  4. tester un site web sur différentes platesformes
  5. simuler le déploiement
  6. monter et démonter rapidement des systèmes
  7. utilisation optimale des ressources d’un parc de machines (répartition des machines virtuelles sur les machines physiques en fonction des charges respectives),
  8. installation, déploiement et migration facile des machines virtuelles d’une machine physique à une autre, notamment dans le contexte d’une mise en production à partir d’un environnement de qualification ou de pré-production, livraison facilitée,
  9. économie sur le matériel par mutualisation (consommation électrique, entretien physique, monitoring, support, compatibilité matérielle, etc.)
  10. installation, tests, développements, cassage et pouvoir recommencer sans casser l’OS hôte
  11. sécurisation et/ou isolation d’un réseau (cassage des OS virtuels, mais pas des OS hôtes qui sont invisibles pour l’attaquant, tests d’architectures applicatives et réseau)
  12. isolation des différents utilisateurs simultanés d’une même machine (utilisation de type site central)
  13. allocation dynamique de la puissance de calcul en fonction des besoins de chaque application à un instant donné,
  14. diminution des risques liés au dimensionnement des serveurs lors de la définition de l’architecture d’une application, l’ajout de puissance (nouveau serveur etc) étant alors transparent.

Exemples :

  • QEMU : émulateur de plateformes x86, PPC, Sparc
  • Plex86 : émulateur de plateforme x86
  • bochs : émulateur de plateforme x86
  • PearPC : émulateur de plateforme PPC sur matériel x86
  • VMWare : propriétaire, émulateur de plateforme x86
  • Microsoft VirtualPC et VirtualServer : propriétaire, émulateur de plateforme x86
  • Lismoresystems Guest PC : propriétaire, émulateur de plateforme x86 sur matériel PPC
  • MacOnLinux : émulateur de plateforme Mac OS sur Linux PPC
  • VirtualBox : émulateur de plateforme x86
  • Parallels : propriétaire, émulateur de plateforme x86 pour Mac OS X.
  • etc…

Posted in virtualisation | Leave a Comment »