Système

  • Administration Serveur

    Serveurs Web

    Bases de données

    Virtualisation / Containers





Un oeil sur : la virtualisation

La virtualisation en informatique, consiste à créer une version virtuelle d'une machine ou d'une ressource. À l'image d'un disque dur que l'on peut partitionner en plusieurs volumes logiques, il est possible de faire tourner plusieurs machines virtuelles sur un seul ordinateur physique.

Bien entendu, comme les disques durs partitionnés en plusieurs volumes, les machines virtuelles sont accessibles simultanément (contrairement aux ordinateurs multi-boot).

Le principe

Les machines virtuelles sont des environnements matériels émulés, sur lesquels sont installés des OS complets. Un hyperviseur contrôle les VM et attibue à chacune une part des ressources physiques de la machine hôte.

On distingue de ce côté là 2 cas :

  • - les hyperviseurs de type Application, qui fonctionnent sur un poste opérationnel (sur lequel tourne un système d'exploitation). L'hyperviseur est alors une application à côté des autres. Les performances s'en ressentent, mais la facilité d'installation et de configuration de ce type de système de virtualisation représente un gros avantage.
  • - les hyperviseurs de type Bare Metal, s'intègrent sur le matériel physique et servent de base à différents OS. Ils sont constitués d'un noyau minimal et de la couche applicative de l'hyperviseur. Ils permettent aux systèmes d'exploitation invités de rester relativement près du matériel et donc de conserver des performances prochent d'un système natif.

Configuration Normale

Hyperviseur de type Application

Hyperviseur de type Bare Metal

    Intérêt de la virtualisation
  • Scalabilité quasiment transparente. On peut facilement augmenter les ressources allouées à une VM via l'hyperviseur, voire déplacer une VM d'une machine physique à une autre.
  • Sauvegarde et résilience. Certains hyperviseurs offrent la possibilité de faire de la réplication de VM automatisée entre différentes machines physiques et permettent ainsi de rendre le service persistant à la panne.
  • Les snapshots. Fonctionnalité interressante lors d'évolutions des services, il est possible de prendre des clichés de la VM entière avant l'opération, ce qui permettra un éventuel retour en arrière très simple et rapide.
    Inconvénients de la virtualisation
  • La consommation de ressources, plus important que pour un serveur classique, surtout dans le cas d'une installation doublée (en cluster). C'est un inconvénient à relativiser dans le cas d'une installation de plusieurs VM sur une machine physique. Un gain de ressources est alors fait par mutualisations.
  • L'attribution statique des ressources est une limite de la technologie de virtualisation, les variations des besoins des applications dans le temps ne pouvant pas être optimisées.

L'alternative Docker

Docker permet de créer des environnements (appelées containers) de manière à isoler les applications d'un même projet des autres.

Par rapport à l’approche machine virtuelle (VM), qui consiste à virtualiser un environnement complet, OS compris, Docker présente plusieurs avantages. Chaque container n’embarque que l’application (et ses dépendances). Il s’adresse à l’OS et aux ressources logicielles présentes sur le serveur pour le reste. Les containers sont donc nettement moins gros et moins voraces en ressources que les VM, particulièrement en mémoire.

Le cas Docker

Le noyau va partager les ressources du système hôte entre les containers de manière dynamique. Techniquement, Docker n’est pas un hyperviseur, mais en terme d’utilisation il peut-être y être apparenté. Si les fonctionnalités de Docker conviennent aux besoins, il peut être une alternative plus efficace aux VM.