Principes de la virtualisation

Introduction

La virtualisation est une technologie qui vous permet de créer des services informatiques utiles à l'aide de ressources qui sont généralement liées au matériel. Elle vous permet d'exploiter toute la capacité d'une machine physique en la répartissant entre de nombreux utilisateurs ou environnements différents.

Concrètement, imaginez que vous ayez trois serveurs physiques qui répondent chacun à des objectifs précis : l'un d'eux est un serveur de messagerie, l'autre un serveur Web et le dernier exécute les applications internes existantes. Seulement 30 % de leur capacité est utilisée, ce qui n'est qu'une fraction de leur potentiel. Cependant, comme les applications existantes sont essentielles à vos opérations internes, vous pensez sans doute que vous devez les conserver, en l'état, à savoir dans 3 serveurs les hébergent.

Auparavant, cela était le cas. Il était souvent plus simple et plus fiable d'exécuter des tâches individuelles sur des serveurs spécifiques : un serveur avec un système d'exploitation pour une tâche. Il n'était pas facile de faire autrement. Désormais, avec la virtualisation, vous pouvez fractionner le serveur de messagerie en deux serveurs uniques capables de gérer des tâches distinctes, ce qui permet ainsi la migration des applications existantes. Vous utilisez le même matériel, mais vous exploitez davantage son potentiel.

Tout en préservant la sécurité, vous avez la possibilité de fractionner le serveur une nouvelle fois afin de lui allouer une autre tâche. Alors que vous ne l'utilisiez initialement qu'à 30 %, puis à 60 %, vous l'utilisez à présent à 90 %. Vous pouvez ensuite réutiliser les serveurs vides pour exécuter d'autres tâches ou les mettre hors service afin de réduire les coûts de maintenance et de refroidissement.

Petite histoire de la virtualisation

Bien que le concept de virtualisation soit apparu dans les années 1960, ce n'est que dans les années 2000 que son utilisation s'est généralisée. Les technologies qui sont à la base de la virtualisation, telles que les hyperviseurs, ont été développées il y a plusieurs dizaines d'années afin de permettre à divers utilisateurs d'accéder simultanément aux ordinateurs qui effectuaient des traitements par lots. Le traitement par lots, qui permettait d'exécuter très rapidement des tâches répétitives des milliers de fois (telles que la paie), était une technique très répandue dans le monde de l'entreprise.

Toutefois, au fil des décennies, d'autres solutions qui permettaient l'utilisation simultanée d'une seule et même machine par de nombreux utilisateurs ont gagné en popularité, tandis que la virtualisation restait en marge. L'une de ces solutions était la technique du temps partagé, qui isolait les utilisateurs au sein des systèmes d'exploitation. Elle a notamment conduit à la création d'autres systèmes d'exploitation comme UNIX, puis Linux®. Pendant ce temps, la virtualisation restait une technologie de niche très peu utilisée.

Faisons un saut dans le temps jusqu'aux années 1990. La plupart des entreprises disposaient de serveurs physiques et de piles informatiques propriétaires. Autrement dit, les applications existantes ne pouvaient pas être exécutées sur le matériel d'un autre fournisseur. Lorsque les entreprises actualisaient leur environnement informatique avec des serveurs, des systèmes d'exploitation et des applications standard plus économiques, elles n'avaient d'autre choix que de sous-utiliser leur infrastructure physique, sachant que chaque serveur ne pouvait exécuter qu'une tâche spécifique au fournisseur.

C'est là que la virtualisation a pris son envol. Elle constituait la solution naturelle à deux problèmes en permettant aux entreprises de partitionner leurs serveurs et d'exécuter les applications existantes sur plusieurs types et versions de systèmes d'exploitation. Les serveurs ont ainsi commencé à être utilisés plus efficacement (ou pas du tout), ce qui a entraîné la réduction des coûts liés à l'achat, à la configuration, au refroidissement et à la maintenance.

La flexibilité de la virtualisation a permis de limiter la dépendance vis-à-vis d'un fournisseur et a jeté les bases du cloud computing. Aujourd'hui, elle est si répandue dans les entreprises qu'un logiciel de gestion de la virtualisation est souvent nécessaire pour en assurer le suivi.

Comment fonctionne la virtualisation?

Des logiciels, appelés hyperviseurs, isolent les ressources physiques des environnements virtuels. Ces hyperviseurs peuvent reposer sur un système d'exploitation (ordinateur portable, par exemple) ou être directement installés sur un système physique (tel qu'un serveur), ce qui est l'option la plus souvent choisie par les entreprises qui ont recours à la virtualisation. Les hyperviseurs répartissent vos ressources physiques pour permettre aux environnements virtuels de les utiliser.

Ces ressources sont partitionnées à partir de l'environnement physique et distribuées aux différents environnements virtuels. Les utilisateurs interagissent avec ces environnements (également appelés machines virtuelles ou hôtes) et y exécutent des calculs. La machine virtuelle opère comme un fichier de données unique. Comme n'importe quel fichier numérique, vous pouvez la transférer d'un ordinateur à un autre, l'ouvrir sur l'un ou l'autre et l'utiliser de la même manière.

Lorsque l'environnement virtuel est exécuté et qu'un utilisateur ou un programme émet une instruction nécessitant des ressources supplémentaires à partir de l'environnement physique, l'hyperviseur transmet cette requête au système physique et met en cache les modifications. Le processus est presque aussi rapide que sur un système natif, notamment si la requête est envoyée via un hyperviseur Open Source basé sur Kernel-based Virtual Machine.

Serveurs et desktops virtualisées

Les ressources les plus couramment virtualisées sont les serveurs, les systèmes d'exploitation et les réseaux.

Virtualisation de serveurs

Les serveurs sont des ordinateurs conçus pour traiter un volume élevé de tâches spécifiques afin de permettre aux autres ordinateurs (ordinateurs portables et ordinateurs de bureau, par exemple) d'effectuer diverses autres tâches. La virtualisation d'un serveur permet d'optimiser l'exécution de ces fonctions spécifiques et implique son partitionnement, de sorte que les composants puissent être utilisés pour exécuter différentes fonctions.

Virtualisation des systèmes d'exploitation

La virtualisation des systèmes d'exploitation intervient au niveau du noyau, qui correspond au gestionnaire de tâches central de ces derniers. Cette approche permet notamment d'exécuter des environnements Linux et Windows côte à côte. Les entreprises peuvent également transférer les systèmes d'exploitation virtuels vers des ordinateurs, ce qui présente les avantages suivants :

  • Réduction des coûts de matériel, étant donné que les ordinateurs ne nécessitent pas un nombre élevé de fonctionnalités prêtes à l'emploi
  • Renforcement de la sécurité grâce à la possibilité de surveiller et d'isoler les instances virtuelles
  • Réduction du temps consacré aux services informatiques, tels que les mises à jour de logiciel

Virtualisation des fonctions réseau

La virtualisation des fonctions réseau sépare les fonctions clés d'un réseau (telles que les services d'annuaire, le partage de fichiers et la configuration des adresses IP) afin de les répartir entre les différents environnements. Lorsque les fonctions logicielles sont indépendantes des machines physiques sur lesquelles elles étaient hébergées, il est possible de regrouper des fonctions spécifiques dans un nouveau réseau et de les assigner à un environnement. La virtualisation des réseaux réduit le nombre de composants physiques nécessaires à la création de plusieurs réseaux indépendants, tels que les commutateurs, les routeurs, les serveurs, les câbles et les hubs. Elle est particulièrement répandue dans le secteur des télécommunications.