La virtualisation est le processus de création d'une version virtuelle de quelque chose comme le matériel informatique. Elle consiste à utiliser un logiciel spécialisé pour créer une version virtuelle ou créée par un logiciel d'une ressource informatique plutôt que la version réelle de cette même ressource.
Les alertes personnalisées et la visualisation des données vous permettent d'identifier et de prévenir rapidement les problèmes de santé et de performance du réseau.
Par exemple, un ordinateur virtuel est un système informatique qui n'existe qu'à l'intérieur du logiciel d'un autre système plutôt qu'en tant qu'ordinateur réel doté de son propre processeur et de sa propre mémoire. Souvent, plusieurs ressources virtuelles peuvent être créées et utilisées au sein d'une seule ressource non virtuelle.
Imaginez un simulateur de vol. L'un d'entre eux n'est pas assez performant pour tromper un véritable pilote. Le simulateur devrait imiter non seulement les commandes, mais aussi les sons, les sensations et même les odeurs d'un véritable cockpit d'avion. IT devrait non seulement réagir à toute entrée provenant des joysticks, des boutons et des leviers, mais aussi renvoyer la réponse attendue à chacun de ces éléments, par exemple en étant plus difficile à tourner ou en produisant le son du train d'atterrissage qui se rétracte ou se déploie.
Dans ce cas, un pilote piloterait l'avion de la même manière qu'un avion normal, sans jamais savoir qu'il ne s'agit pas d'un véritable avion. Un serveur virtuel fonctionne de la même manière. Pour le système d'exploitation, les programmes installés et même l'utilisateur, le serveur virtualisé reçoit toutes les entrées et génère toutes les réponses exactement de la même manière qu'un système physique, même s'il n'est que simulé.
Quel que soit le type de virtualisation, cet effet est obtenu par l'installation d'un programme spécialisé qui imite la nature exacte de ce qui est virtualisé. Dans le cas d'une virtualisation "bare metal", la virtualisation simule le matériel réel, prenant en charge les entrées et renvoyant les données du système d'exploitation comme s'il s'agissait d'un serveur réel. Ce mimétisme va jusqu'à rapporter l'état de la batterie ou la température du CPU, même s'il n'existe qu'un CPU virtuel.
La machine hôte est le matériel physique sur lequel s'effectue la virtualisation. Cette machine exécute le logiciel de virtualisation qui permet aux machines virtuelles d'exister. Ses composants physiques tels que la mémoire, le stockage et le processeur répondent en fin de compte aux besoins des machines virtuelles. Ces ressources sont généralement cachées ou masquées aux machines invitées.
Pour produire cet effet, un logiciel de virtualisation, tel qu'un hyperviseur, est installé sur le matériel physique réel.
L'objectif de la machine hôte est de fournir la puissance de calcul physique aux machines virtuelles sous la forme de CPU, de mémoire, de stockage et de connexion réseau.
Il s'agit d'une machine logicielle qui s'exécute sur la machine hôte au sein de l'environnement virtuel créé. Il peut y avoir plusieurs machines virtuelles fonctionnant sur un seul hôte. Une machine virtuelle ne doit pas nécessairement être un ordinateur. Il est possible de virtualiser divers types de stockage, de bases de données et d'autres systèmes également.
Une machine virtuelle exécute son propre environnement. Elle émule, ou simule, un seul élément de matériel physique tel qu'un ordinateur de bureau ou un serveur. Cependant, tout passe par l'hyperviseur, qui adresse les requêtes au matériel réel. Le matériel renvoie les données ou les informations en retour à l'hyperviseur, qui les transmet à la machine virtuelle.
Chaque machine virtuelle fonctionne séparément de toutes les autres machines virtuelles. En fait, chaque machine virtuelle croit qu'elle est le seul système fonctionnant sur le matériel.
Il est également possible d'émuler un autre matériel informatique. Par exemple, une machine virtuelle qui émule une baie de stockage peut être créée sur un serveur standard. La baie de stockage virtuelle se comportera de la même manière que s'il s'agissait de 20 disques durs connectés au réseau, car l'hyperviseur fera comme si c'était le cas.
L'objectif de la machine virtuelle est d'exécuter les applications et l'environnement utilisateur pour chaque système virtuel.
Parfois appelé gestionnaire de machines virtuelles, l'hyperviseur est le logiciel qui permet d'exécuter, de créer et de gérer les machines virtuelles. L'hyperviseur rend la virtualisation possible et crée un environnement virtuel dans lequel les machines virtuelles s'exécutent. Pour la machine invitée, la machine virtuelle de l'hyperviseur est la seule qui existe, même si de nombreuses machines virtuelles tournent sur le même matériel physique.
Les hyperviseurs de type 1, ou "bare-metal", sont installés directement sur le matériel physique. En tant que tels, ils doivent contenir leurs propres systèmes d'exploitation pour démarrer, faire fonctionner le matériel et se connecter au réseau. Les hyperviseurs de type 1 les plus répandus sont Microsoft Hyper-V et VMware ESXi.
Les hyperviseurs de type 2, ou hyperviseurs hébergés, s'exécutent sur un système d'exploitation directement installé sur le matériel. Dans ce cas, une copie de Windows ou d'un système basé sur Unix doit être installée pour démarrer le système et accéder au matériel. Une fois que le système d'exploitation fonctionne, l'hyperviseur hébergé peut être lancé. Les hyperviseurs de type 2 sont souvent utilisés pour exécuter plusieurs systèmes d'exploitation sur une seule machine, plutôt que pour émuler de nombreux systèmes en cours d'exécution sur le matériel.
Les hyperviseurs de type 2 les plus populaires sont VMware Workstation, VirtualBox et Parallels qui émule un système d'exploitation Windows tout en fonctionnant sur un ordinateur Mac.
L'objectif de l'hyperviseur est de gérer chaque machine virtuelle et de lui fournir les ressources dont elle a besoin pour fonctionner.
Les notifications en temps réel permettent un dépannage plus rapide, de sorte que vous puissiez agir avant que des problèmes plus graves ne surviennent.
Le type de virtualisation le plus courant est la virtualisation matérielle. Avec la virtualisation matérielle, un programme logiciel fait abstraction du matériel physique en le transformant en matériel virtuel. L'hyperviseur sert d'intermédiaire entre les machines virtuelles et le matériel physique.
La virtualisation matérielle crée une version virtuelle, uniquement logicielle, d'une machine physique, telle qu'un ordinateur, un routeur ou une baie de stockage. La forme la plus basique de virtualisation matérielle est la création d'un ordinateur ou d'un serveur virtuel. Dans ce cas, l'ordinateur virtuel imite une machine physique réelle dotée d'un processeur, d'une mémoire adressable et d'un espace disque. Lorsque la machine virtuelle interagit avec le processeur ou la mémoire, elle interagit en fait avec l'hyperviseur, qui transmet ensuite l'accès. De même, l'hyperviseur reçoit des données du matériel physique et les transmet à la machine virtuelle comme si elles provenaient du matériel virtuel.
Tout ce que l'on peut faire sur une machine réelle peut être reproduit dans la machine virtuelle, y compris l'installation de différents systèmes d'exploitation. Un seul serveur virtualisé peut faire tourner plusieurs machines virtuelles différentes, chacune avec son propre système d'exploitation, ses programmes installés, ses services en cours d'exécution, ses niveaux de correctifs, etc. Chacune est configurée, exécutée et installée en fonction de son utilisation, de manière totalement distincte des autres machines virtuelles.
Comme la machine virtuelle ne sait pas qu'elle est virtualisée, les logiciels et les services qui s'exécutent à l'intérieur n'ont pas besoin d'être spécialement installés ou configurés pour être virtualisés.
En général, chaque machine virtuelle se voit attribuer la capacité d'utiliser un sous-ensemble de la puissance totale de la machine hôte. Une machine invitée peut être configurée avec 20 Go de RAM, par exemple, même si la machine hôte réelle dispose de 512 Go de RAM.
Pour la machine invitée, seules les ressources exposées par l'hyperviseur existent. Dans l'exemple ci-dessus, la machine virtuelle ne pourra jamais accéder à plus de 20 Go de RAM, quel que soit le besoin. Pour la machine virtuelle, seule cette quantité existe.
Les ressources totales exposées à toutes les machines invitées combinées ne doivent pas nécessairement être limitées aux ressources totales de la machine hôte. L'hyperviseur peut offrir 20 Go de RAM à 50 machines virtuelles différentes sur un système ne disposant que de 512 Go de RAM. Étant donné que la plupart des systèmes n'utilisent pas les ressources maximales disponibles à tout moment, l'hyperviseur peut allouer dynamiquement la mémoire hôte sous-jacente à chaque système en fonction des besoins. C'est ce qu'on appelle la sursouscription.
En outre, comme l'hyperviseur donne l'illusion de machines physiques uniques et totalement accessibles, aucune machine virtuelle ne peut voir une autre machine virtuelle. Cela permet à de nombreuses machines virtuelles de fonctionner sans interagir. Par conséquent, sur la même machine hôte, il peut exister non seulement des machines virtuelles de tailles différentes, mais aussi avec des systèmes d'exploitation différents.
La virtualisation est la clé de l'informatique en nuage. Les fournisseurs offrent la possibilité de créer, de maintenir et d'administrer une machine virtuelle sur du matériel hors site. Chaque machine virtuelle étant un système distinct, il n'est pas nécessaire de séparer les clients à des fins de sécurité ou de stabilité. Même si un utilisateur corrompt l'ensemble de son système, ces dommages n'ont aucun effet en dehors de cette seule machine virtuelle.
Avant la virtualisation, le stockage et l'exploitation de serveurs hors site sur le réseau d'un autre fournisseur s'appelaient l'hébergement à distance. Pour ce faire, le fournisseur de Cloud devait fournir un serveur physique réel pour chaque machine demandée. Le maintien de ce ratio d'un serveur physique pour un serveur fonctionnel du client demandait beaucoup de travail et était très coûteux.
Avec l'avènement de l'informatique en nuage, un fournisseur n'a plus besoin d'adapter le matériel physique à chaque demande de nouvelle machine. Il peut au contraire créer une machine virtuelle.
Les principaux fournisseurs de Cloud installent et exploitent des serveurs extrêmement puissants, qui sont souvent eux-mêmes virtualisés à partir d'un ensemble de matériels. Pour chacun de ces grands serveurs, le fournisseur de Cloud découpe des machines virtuelles en fonction de la demande du client.
Par exemple, un client peut demander un nouveau serveur doté d'une certaine puissance de traitement, d'une certaine mémoire et d'un certain espace disque. Le fournisseur de Cloud démarrera une nouvelle machine virtuelle avec ces spécifications sur l'une de ses propres machines hôtes existantes, sans installer de nouveau matériel physique. Comme chaque machine virtuelle n'a pas d'accès direct au matériel physique sous-jacent à l'hyperviseur, il n'y a aucun risque pour les données ou la stabilité du système.
Plusieurs sociétés proposent un hyperviseur ou un gestionnaire de machines virtuelles permettant une virtualisation totale du matériel. Les plus importants sont VMware et sa gamme vSphere, et Microsoft avec Hyper-V. Citrix XenServer et KVM en sont d'autres.
L'intérêt de la virtualisation réside dans le fait que chaque système virtualisé ne peut pas savoir s'il est virtuel ou s'il fonctionne directement sur le matériel. Il est donc possible de créer une machine virtuelle à l'intérieur d'une machine virtuelle, un processus connu sous le nom de virtualisation imbriquée. Une machine virtuelle créée par une entreprise sur Amazon AWS peut elle-même se trouver à l'intérieur d'une machine virtuelle créée par Amazon, par exemple.
D'une certaine manière, cela ressemble à une version informatique de Blade Runner. Les serveurs ne savent pas s'ils sont de vrais serveurs ou des serveurs créés virtuellement, bien que chacun d'entre eux croie à tout moment qu'il est "réel".
Il n'y a pas de limite à cette imbrication. Ainsi, Amazon peut installer un énorme système bare metal dans un centre de données. Elle installe un hyperviseur bare metal sur ce système pour créer un système destiné à être utilisé par sa division Cloud computing. La division Cloud computing installe à son tour un hyperviseur qui divise chaque système par région. Lorsqu'un client commande une nouvelle machine virtuelle, la division Cloud computing d'Amazon crée encore une autre machine virtuelle. Enfin, le client crée deux machines virtuelles, l'une pour la production et l'autre pour un environnement de test. Chaque machine fonctionne exactement comme un matériel physique.
Cette imbrication est essentielle pour fournir un environnement dans lequel aucune connaissance du système précédent n'est requise ou utile.
Plutôt que de créer une machine virtuelle physique, il est possible de créer un système d'exploitation ou un bureau virtuel. Dans ce cas, l'environnement de l'utilisateur, tout ce qui se trouve au-dessus du système d'exploitation, est encapsulé dans un seul bureau virtuel. Plusieurs bureaux virtuels peuvent être installés sur le même ordinateur. Chaque ensemble d'applications et de personnalisations est verrouillé au sein du bureau virtuel et n'affecte pas les autres bureaux virtuels.
Un bureau virtuel peut être déplacé d'une machine physique à une autre. Lorsque les bureaux virtuels sont stockés sur un serveur en réseau, cela permet à un utilisateur de se déplacer d'un ordinateur à l'autre tout en conservant son propre environnement de bureau. Contrairement à la virtualisation matérielle, qui utilise un hyperviseur pour contrôler les machines virtuelles sous le système d'exploitation, un bureau virtuel ne peut être utilisé que sur un système d'exploitation correctement installé et configuré. En outre, un espace de travail virtuel peut voir le matériel physique fonctionnant sur la machine virtuelle.
Il est possible de virtualiser une application. Contrairement à la virtualisation physique dans laquelle l'hyperviseur imite une configuration matérielle complète, la virtualisation d'applications exige que l'application puisse être virtualisée. Contrairement à la virtualisation de bureau, la virtualisation d'application ne permet généralement pas à d'autres applications d'interagir avec l'application virtualisée.
La virtualisation d'applications est principalement utilisée pour permettre à une application de fonctionner sur un système sans avoir à l'installer. Au contraire, une application virtuelle contient son propre environnement virtuel dans lequel elle s'exécute.
Tout comme la virtualisation physique nécessite un hyperviseur pour créer et gérer les machines virtuelles, la virtualisation d'applications nécessite un gestionnaire d'applications tel que Microsoft App-V ou Citrix ZenApp.
PRTG est un logiciel de supervision réseau complet qui assure le suivi de l'ensemble de votre infrastructure IT.
Les nombreux avantages de la virtualisation favorisent sa croissance. La compréhension de ces avantages répond souvent à la question de savoir pourquoi virtualiser.
L'un des principaux avantages de la virtualisation est la consolidation des serveurs. Traditionnellement, la décision d'acheter et d'installer un serveur était motivée par des facteurs tels que le besoin en ressources, la stabilité et la sécurité. L'utilisation de différents serveurs permettait d'équilibrer la charge en fournissant beaucoup de ressources à chaque service et application critique. En outre, le fait d'être sur des serveurs différents signifiait que si un serveur était compromis, l'autre pouvait continuer à fonctionner. Grâce à la virtualisation, les mêmes avantages peuvent être obtenus sur une seule pièce de matériel. Les serveurs sont toujours complètement isolés par les machines virtuelles, et les serveurs n'ont plus besoin d'être surdimensionnés.
Chaque nouveau serveur consomme plus d'énergie pour faire fonctionner son processeur et les autres éléments matériels. En outre, chacun de ces composants génère de la chaleur, qui doit être évacuée, généralement par le biais de ventilateurs et d'un système de climatisation. L'ajout de machines virtuelles n'ajoute pas de matériel supplémentaire et ne nécessite donc pas d'alimentation ou de refroidissement supplémentaire.
Les machines virtuelles sont facilement dupliquées. Cela facilite à la fois la création de nouvelles copies du même système, mais aussi l'amélioration de la disponibilité. Au lieu de planifier une interruption de service pendant le week-end pour installer des correctifs ou mettre à niveau un système, les administrateurs peuvent installer les correctifs ou les mises à niveau sur une copie de la machine virtuelle en cours d'exécution, puis échanger l'ancienne machine virtuelle contre la machine nouvellement mise à niveau.
Les instantanés de machines virtuelles permettent de créer ou de remettre un système dans son état exact sans avoir à retourner sur le même matériel. Par conséquent, les instantanés constituent une excellente forme de reprise après sinistre. S'il arrivait quelque chose à un centre de données entier, toute l'opération pourrait théoriquement être restaurée rapidement en démarrant de nouvelles machines virtuelles dans un nouvel emplacement à l'aide d'instantanés des systèmes d'origine.
Bien que la virtualisation offre de nombreux avantages, elle introduit une complexité supplémentaire dans l'environnement informatique.
Pour les entreprises qui installent et gèrent la virtualisation dans leurs propres centres de données, l'hyperviseur représente une couche supplémentaire qui doit être installée, gérée, licenciée et mise à jour. Cela peut nécessiter du personnel ou une formation supplémentaire.
Comme la virtualisation dépend de ressources suffisamment puissantes pour faire tourner plusieurs machines virtuelles à la fois, elle peut nécessiter un investissement plus important en matériel, surtout au départ. Bien qu'un serveur beaucoup plus puissant puisse éventuellement remplacer des dizaines de serveurs moins puissants par le biais de la virtualisation et faire baisser les coûts à long terme, dans certains environnements, cela peut prendre plusieurs années pour amortir l'investissement initial.
Avec autant de machines virtuelles possibles et critiques fonctionnant sur une seule pièce de matériel physique, la reprise après sinistre et la tolérance aux pannes sont encore plus importantes, ce qui peut entraîner des dépenses et une complexité supplémentaires.
La séparation complète des machines virtuelles assure une grande sécurité entre les systèmes. Toute atteinte à la sécurité, qu'elle soit intentionnelle ou accidentelle, nécessite de pouvoir accéder aux ressources du système vulnérable. Avec la virtualisation, chaque système fonctionne de manière indépendante et ignore même l'existence des autres machines virtuelles. Il n'y a donc aucun moyen de monter une quelconque attaque de sécurité "à travers" le mur de la virtualisation.
En théorie, on peut craindre qu'un hyperviseur, par définition, ait accès à chaque machine virtuelle d'un système physique donné. Si l'on parvenait à compromettre l'hyperviseur lui-même d'une manière ou d'une autre, il serait possible de mener une attaque de type "man in the middle", dans laquelle les données entrant et sortant de l'hyperviseur pourraient être interceptées, puis lues ou modifiées. Bien qu'aucune attaque de cette nature n'ait réussi à l'heure actuelle, cela ne signifie pas qu'elle ne puisse jamais se produire. Le concept d'attaque de l'hyperviseur est appelé hyperjacking.