La vir­tua­li­sa­tion du matériel, des logiciels, de la mémoire ou des com­po­sants réseau permet d’abstraire les res­sources in­for­ma­tiques physiques, ce qui optimise leur uti­li­sa­tion finale. Découvrez-en plus dans la suite de cet article.

Migration vers le Cloud IONOS
L'al­ter­na­tive de vir­tua­li­sa­tion
  • Excellent rapport prix-per­for­mance et vir­tua­li­sa­tion sans frais
  • Ac­com­pag­ne­ment par des experts IONOS inclus
  • Open source et sans vendor lock-in

Qu’est-ce que la vir­tua­li­sa­tion ?

La vir­tua­li­sa­tion est une abs­trac­tion des res­sources in­for­ma­tiques physiques afin de les répartir de manière flexible et à la demande, per­met­tant ainsi une uti­li­sa­tion optimale des res­sources. Les com­po­sants matériels et logiciels peuvent ainsi être abstraits. Un composant in­for­ma­tique créé dans le cadre de la vir­tua­li­sa­tion est appelé « composant virtuel » ou « logique » et peut être utilisé de la même manière que son équi­valent physique.

L’avantage central de la vir­tua­li­sa­tion est la couche d’abs­trac­tion entre la ressource physique et l’image virtuelle. C’est la base de divers services Cloud, qui prennent de plus en plus d’im­por­tance dans la vie quo­ti­dienne des en­tre­prises. La vir­tua­li­sa­tion doit être dis­tin­guée des concepts (en partie très si­mi­laires) de si­mu­la­tion et d’émulation.

Vir­tua­li­sa­tion : ni si­mu­la­tion ni émulation

En abordant le sujet de la vir­tua­li­sa­tion, on tombe iné­vi­ta­ble­ment sur les termes « si­mu­la­tion » et « émulation », qui sont souvent utilisés comme synonymes, mais qui pourtant diffèrent tech­ni­que­ment à la fois l’un de l’autre et du concept de vir­tua­li­sa­tion.

  • Si­mu­la­tion : cela se réfère à la re­pro­duc­tion complète d’un système à l’aide d’un logiciel. « Complète » car non seulement les fonctions sont imitées en in­te­rac­tion avec d’autres systèmes, mais tous les com­po­sants du système et leur logique interne sont également simulés. Les si­mu­la­teurs sont utilisés pour compiler des pro­grammes qui ont été dé­ve­lop­pés pour un certain système à des fins d’analyse sur un autre système.
  • Émulation : alors que la si­mu­la­tion vise à répliquer les systèmes, l’émulation fournit les fonctions des com­po­sants matériels ou logiciels, et non leur logique interne. Le but de l’émulation est d’obtenir les mêmes résultats avec le système simulé qu’avec son pendant réel. Con­trai­re­ment à un si­mu­la­teur, un émulateur peut donc remplacer com­plè­te­ment le système simulé.

Les si­mu­la­teurs et ému­la­teurs sont utilisés en pratique dans trois scénarios :

  • Un en­vi­ron­ne­ment matériel est répliqué pour qu’un système d’ex­ploi­ta­tion puisse fonc­tion­ner alors qu’il a été développé pour une pla­te­forme pro­ces­seur dif­fé­rente.
  • Un système d’ex­ploi­ta­tion est répliqué pour permettre l’exécution d’ap­pli­ca­tions qui ont en fait été écrites pour d’autres systèmes.
  • Un en­vi­ron­ne­ment matériel pour des logiciels obsolètes doit être répliqué, car les com­po­sants d’origine ne sont plus dis­po­nibles.

Les solutions lo­gi­cielles qui ne four­nis­sent qu’une couche de com­pa­ti­bi­lité pour combler les problèmes entre les dif­fé­rents com­po­sants matériels et logiciels doivent être dis­tin­guées des ému­la­teurs et si­mu­la­teurs. Ce concept ne simule pas l’ensemble du système, mais seulement une partie, par exemple, une interface. Des exemples connus sont Wine (acronyme pour Wine Is Not an Emulator) et Cygwin.

Comment fonc­tionne la vir­tua­li­sa­tion ?

La vir­tua­li­sa­tion se rapproche de la si­mu­la­tion et de l’émulation, mais elle a un but différent. Les si­mu­la­teurs et les ému­la­teurs mettent en œuvre un modèle de système in­for­ma­tique à l’aide d’un logiciel, qui sert à surmonter les in­com­pa­ti­bi­li­tés. Dans l’idéal, la vir­tua­li­sa­tion devrait cependant être conçue de manière à né­ces­si­ter le moins de si­mu­la­tion ou d’émulation possible. En effet, les tech­no­lo­gies devraient sim­ple­ment établir une couche d’abs­trac­tion qui permet de fournir des res­sources in­for­ma­tiques quel que soit leur fondement physique.

Prenons un exemple : pour exécuter une ou plusieurs versions vir­tuelles de Windows 10 sur son or­di­na­teur Windows 10 à des fins de test, on peut utiliser un logiciel de vir­tua­li­sa­tion. Cependant, si le même uti­li­sa­teur souhaite exécuter deux versions vir­tuelles d’Ubuntu sur le même or­di­na­teur, il a besoin d’un logiciel de vir­tua­li­sa­tion capable de combler les in­com­pa­ti­bi­li­tés entre le système Windows sous-jacent et le système Linux mis dessus par émulation.

De nom­breuses solutions lo­gi­cielles utilisées dans le cadre de la vir­tua­li­sa­tion con­tien­nent des ému­la­teurs. Dans la pratique, les deux concepts se recoupent donc souvent.

Les formes de vir­tua­li­sa­tion

Dans le paysage in­for­ma­tique moderne, on trouve diverses formes de vir­tua­li­sa­tion qui se réfèrent à l’abs­trac­tion des res­sources in­for­ma­tiques telles que les logiciels, la mémoire, les données ou les com­po­sants réseau. Une dis­tinc­tion est donc faite entre :

  • La vir­tua­li­sa­tion ma­té­rielle
  • La vir­tua­li­sa­tion lo­gi­cielle
  • La vir­tua­li­sa­tion de la mémoire
  • La vir­tua­li­sa­tion des données
  • La vir­tua­li­sa­tion du réseau

La vir­tua­li­sa­tion ma­té­rielle

Le terme de « vir­tua­li­sa­tion hardware » (ma­té­rielle) désigne les tech­no­lo­gies qui per­met­tent de fournir des com­po­sants matériels à l’aide de logiciels, quelle que soit leur base physique. L’exemple classique de la vir­tua­li­sa­tion ma­té­rielle est la machine virtuelle (abrégé VM en anglais).

Une VM est une machine virtuelle qui se comporte pour l’uti­li­sa­teur final comme une machine physique, y compris avec un matériel et un système d’ex­ploi­ta­tion. Avec la vir­tua­li­sa­tion ma­té­rielle, la couche d’abs­trac­tion entre la base physique et le système virtuel est créée par dif­fé­rents types d’hy­per­vi­seurs.

Note

Un hy­per­vi­seur (aussi appelé Virtual Machine Monitor, soit VMM) est un logiciel qui permet à plusieurs systèmes invités de fonc­tion­ner sur un seul système hôte.

Les hy­per­vi­seurs gèrent les res­sources ma­té­rielles fournies par le système hôte, telles que le CPU, la RAM, l’espace disque et les pé­ri­phé­riques, et les ré­par­tis­sent entre plusieurs systèmes invités. Cela peut se faire tech­ni­que­ment par vir­tua­li­sa­tion complète ou par pa­ra­vir­tua­li­sa­tion.

  • La vir­tua­li­sa­tion complète : l’hy­per­vi­seur émule un en­vi­ron­ne­ment matériel complet sur chaque machine virtuelle. Chaque VM dispose donc de son propre con­tin­gent de res­sources hardwares vir­tuelles donné par l’hy­per­vi­seur et peut exécuter des ap­pli­ca­tions sur cette base. Le matériel physique du système hôte, en revanche, reste caché du système d’ex­ploi­ta­tion invité. Cette approche permet l’ex­ploi­ta­tion de systèmes invités non modifiés. Les solutions lo­gi­cielles po­pu­laires pour la vir­tua­li­sa­tion complète sont Oracle VM Vir­tual­Box, Parallels Works­ta­tion, VMware Works­ta­tion, Microsoft Hyper-V et Microsoft Virtual Server.
  • La pa­ra­vir­tua­li­sa­tion : alors que la vir­tua­li­sa­tion complète fournit un en­vi­ron­ne­ment matériel virtuel distinct pour chaque machine virtuelle, avec la pa­ra­vir­tua­li­sa­tion, l’hy­per­vi­seur met sim­ple­ment à dis­po­si­tion une interface de pro­gram­ma­tion (API) qui permet aux systèmes d’ex­ploi­ta­tion invités d’accéder di­rec­te­ment au matériel physique du système hôte. La pa­ra­vir­tua­li­sa­tion offre donc un avantage de per­for­mance par rapport à la vir­tua­li­sa­tion complète. Cependant, il faut pour cela au préalable que le noyau du système d’ex­ploi­ta­tion invité ait été porté sur l’API. Ainsi, seuls les systèmes invités modifiés peuvent être pa­ra­vir­tua­li­sés.

Pour l’uti­li­sa­teur final, une machine virtuelle est in­dis­cer­nable d’une machine physique. La vir­tua­li­sa­tion ma­té­rielle est donc un choix pertinent lorsqu’il s’agit de fournir divers serveurs virtuels à dif­fé­rents uti­li­sa­teurs sur une pla­te­forme in­for­ma­tique puissante, cons­ti­tuant ainsi la base du modèle largement répandu d’hé­ber­ge­ment mutualisé.

Note

Avec l’hé­ber­ge­ment mutualisé un four­nis­seur d’hé­ber­ge­ment exploite et maintient une machine virtuelle dans un data center optimisé et met à dis­po­si­tion de ses clients des res­sources ma­té­rielles vir­tua­li­sées en tant que systèmes invités fermés.

Un autre domaine d’ap­pli­ca­tion de la vir­tua­li­sa­tion ma­té­rielle est la con­so­li­da­tion des serveurs dans l’en­vi­ron­ne­ment de l’en­tre­prise. Cela présente trois avantages majeurs :

  • L’amé­lio­ra­tion de l’uti­li­sa­tion des pro­ces­seurs serveurs
  • Une dis­tri­bu­tion efficace des supports de stockage
  • Une con­som­ma­tion d’énergie réduite pour l’ex­ploi­ta­tion et le re­froi­dis­se­ment

La vir­tua­li­sa­tion ma­té­rielle est con­si­dé­rée comme un concept de vir­tua­li­sa­tion re­la­ti­ve­ment sûr. Chaque système invité fonc­tionne de manière isolée dans un en­vi­ron­ne­ment matériel virtuel. Si l’un des systèmes invités est infiltré par un hacker ou est affecté par un malware, cela n’a en principe aucun effet sur les autres systèmes invités du même système hôte.

Avantages et in­con­vé­nients d’une vir­tua­li­sa­tion ma­té­rielle :

Avantages In­con­vé­nients
Dans le cadre de la con­so­li­da­tion des serveurs, les res­sources ma­té­rielles peuvent être allouées dy­na­mi­que­ment et utilisées plus ef­fi­ca­ce­ment. La ré­pli­ca­tion d’un en­vi­ron­ne­ment matériel avec le système d’ex­ploi­ta­tion augmente l’overhead.
Le matériel in­for­ma­tique consolidé peut être plus économe en énergie que des or­di­na­teurs séparés. Les per­for­mances d’une machine virtuelle peuvent être affectées par d’autres machines vir­tuelles sur le même système hôte.
Les machines vir­tuelles offrent un degré d’isolation re­la­ti­ve­ment élevé et donc une sécurité pour isoler la charge de travail.
Note

L’overhead désigne les res­sources sup­plé­men­taires né­ces­saires pour gérer et soutenir l’en­vi­ron­ne­ment virtuel.

La vir­tua­li­sa­tion lo­gi­cielle

Si des com­po­sants logiciels sont vir­tua­li­sés au lieu de com­po­sants matériels, on parle de « vir­tua­li­sa­tion software » (lo­gi­cielle). Les approches communes de ce concept de vir­tua­li­sa­tion sont :

  • La vir­tua­li­sa­tion des ap­pli­ca­tions
  • La vir­tua­li­sa­tion de postes de travail
  • La vir­tua­li­sa­tion sur les systèmes d’ex­ploi­ta­tion

La vir­tua­li­sa­tion des ap­pli­ca­tions

La vir­tua­li­sa­tion des ap­pli­ca­tions est l’abs­trac­tion d’ap­pli­ca­tions in­di­vi­duelles du système d’ex­ploi­ta­tion sous-jacent. Les systèmes de vir­tua­li­sa­tion d’ap­pli­ca­tions per­met­tent aux pro­grammes de s’exécuter dans des en­vi­ron­ne­ments d’exécution isolés et de se répartir sur plusieurs systèmes sans avoir à modifier les systèmes d’ex­ploi­ta­tion locaux, les systèmes de fichiers ou le registre.

La vir­tua­li­sa­tion des ap­pli­ca­tions est adaptée à une uti­li­sa­tion locale ; par exemple, pour protéger le système d’ex­ploi­ta­tion sous-jacent contre d’éventuels codes mal­veil­lants. Autrement, les ap­pli­ca­tions vir­tua­li­sées peuvent être déployées sur un serveur pour dif­fé­rents clients réseau. Les uti­li­sa­teurs finaux accèdent dans ce cas par exemple aux ap­pli­ca­tions vir­tua­li­sées via un streaming d’ap­pli­ca­tions. L’en­cap­su­la­tion des ap­pli­ca­tions, y compris l’en­vi­ron­ne­ment d’exécution, permet également de copier des pro­grammes sur des supports de stockage portables tels que des clés USB et de les exécuter di­rec­te­ment sur ceux-ci.

Le but de la vir­tua­li­sa­tion des ap­pli­ca­tions est de découpler les pro­grammes du système d’ex­ploi­ta­tion sous-jacent afin qu’ils puissent être fa­ci­le­ment portés et gérés de manière cen­tra­li­sée. Dans un contexte d’en­tre­prise, le concept convient par exemple pour la mise à dis­po­si­tion d’ap­pli­ca­tions Office.

Avantages et in­con­vé­nients de la vir­tua­li­sa­tion des ap­pli­ca­tions :

Avantages In­con­vé­nients
Les logiciels d’ap­pli­ca­tion peuvent être déployés, gérés et maintenus de manière cen­tra­li­sée. Les ap­pli­ca­tions qui sont intégrées étroi­te­ment au système d’ex­ploi­ta­tion ou qui né­ces­si­tent l’accès à des pilotes pé­ri­phé­riques spé­ci­fiques ne peuvent pas être vir­tua­li­sées.
En isolant l’ap­pli­ca­tion, le système sous-jacent est protégé des codes mal­veil­lants. La vir­tua­li­sa­tion des ap­pli­ca­tions soulève des questions de licence.
Le logiciel peut être retiré du système sans restes.

La vir­tua­li­sa­tion de postes de travail

La vir­tua­li­sa­tion des postes de travail est un concept dans lequel les en­vi­ron­ne­ments de bureau sont fournis de manière cen­tra­li­sée et ac­ces­sibles via un réseau. Cette approche s’applique prin­ci­pa­le­ment dans un contexte d’en­tre­prises.

La vir­tua­li­sa­tion des postes de travail est basée sur une structure client-serveur. Le transfert de données entre le serveur et le client s’effectue via des pro­to­coles d’affichage à distance. Selon l’endroit où se trouve la puissance de calcul qui met à dis­po­si­tion le poste de travail virtuel, on fait une dis­tinc­tion entre les approches basées sur l’hôte et celles basées sur le client.

  • Vir­tua­li­sa­tion de postes de travail basée sur l’hôte : la vir­tua­li­sa­tion de bureau basée sur l’hôte comprend toutes les approches qui exécutent des postes de travail virtuels di­rec­te­ment sur le serveur. La puissance de calcul complète qui fournit l’en­vi­ron­ne­ment de bureau et les ap­pli­ca­tions en cours d’exécution dans ce type de vir­tua­li­sa­tion de postes de travail est donnée par le matériel serveur. Les uti­li­sa­teurs accèdent aux postes de travail virtuels basés sur l’hôte à partir de n’importe quel pé­ri­phé­rique client sur le réseau. Une vir­tua­li­sa­tion de poste de travail basée sur l’hôte peut être mise en œuvre par les approches suivantes :
  • Machine virtuelle basée hôte : avec cette approche de vir­tua­li­sa­tion, chaque uti­li­sa­teur se connecte à sa propre machine virtuelle sur le serveur via un pé­ri­phé­rique client. Une dis­tinc­tion est faite entre la « vir­tua­li­sa­tion per­sis­tante » des postes de travail, où un uti­li­sa­teur se connecte à la même machine virtuelle à chaque session, et les approches « non per­sis­tantes », où des machines vir­tuelles sont affectées de manière aléatoire.
  • Service terminal : si le client est utilisé uni­que­ment comme pé­ri­phé­rique d’affichage pour les en­vi­ron­ne­ments de bureau hébergés de manière cen­tra­li­sée, on parle de services de terminal ou de vir­tua­li­sa­tion de pré­sen­ta­tion. Ils sont alors fournis par le serveur terminal.
  • Serveur lame : si les uti­li­sa­teurs finaux doivent accéder à distance à des machines physiques séparées, cela se fait gé­né­ra­le­ment en utilisant un serveur lame (ou blade server en anglais). Il s’agit d’un serveur modulaire ou d’un boîtier de serveur qui contient plusieurs or­di­na­teurs mo­no­cartes, appelés lames.
  • Vir­tua­li­sa­tion de poste de travail basée sur le client : si la vir­tua­li­sa­tion de poste de travail est basée sur le client, les res­sources né­ces­saires au fonc­tion­ne­ment de l’en­vi­ron­ne­ment de poste de travail doivent être fournies par le pé­ri­phé­rique client.
  • Machines vir­tuelles basées sur le client : avec cette approche, l’en­vi­ron­ne­ment de bureau fonc­tionne dans une machine virtuelle sur le pé­ri­phé­rique client. En règle générale, on utilise un hy­per­vi­seur.
  • OS streaming : un streaming d’OS exécute le système d’ex­ploi­ta­tion de l’en­vi­ron­ne­ment de bureau sur le matériel local. Seul le processus de démarrage se fait à distance via une image serveur.

Avantages et in­con­vé­nients de la vir­tua­li­sa­tion des postes de travail :

Avantages In­con­vé­nients
La vir­tua­li­sa­tion des postes de travail permet l’ad­mi­nis­tra­tion cen­tra­li­sée des en­vi­ron­ne­ments de bureau. La vir­tua­li­sa­tion des postes de travail est prin­ci­pa­le­ment adaptée aux in­fras­truc­tures homogènes.
Les uti­li­sa­teurs peuvent accéder à leur bureau virtuel à partir d’une multitude de pé­ri­phé­riques. Certaines approches né­ces­si­tent une connexion constante au réseau.
La vir­tua­li­sa­tion des postes de travail permet des sau­ve­gardes cen­tra­li­sées. Nécessite des exigences élevées en matière de per­for­mances des serveurs, de capacité de stockage et de bande passante réseau.
Les clients légers per­met­tent de réduire les coûts d’ac­qui­si­tion et d’ex­ploi­ta­tion.

La vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion

Les concepts de vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion s’appuient sur les fonctions natives du noyau des systèmes d’ex­ploi­ta­tion unix, qui per­met­tent d’exécuter plusieurs instances d’espace uti­li­sa­teur isolées en parallèle. Con­trai­re­ment à la vir­tua­li­sa­tion ma­té­rielle, aucun système invité complet, y compris le noyau, n’est reproduit. Au niveau du système d’ex­ploi­ta­tion, les ap­pli­ca­tions vir­tua­li­sées partagent le noyau du système hôte.

Note

Pour des raisons de sécurité, les systèmes d’ex­ploi­ta­tion modernes dis­tin­guent deux zones de mémoire virtuelle : l’espace noyau et l’espace uti­li­sa­teur. Alors que les processus qui servent à faire fonc­tion­ner le noyau et les autres com­po­sants de base sont exécutés dans l’espace noyau, l’espace uti­li­sa­teur est dis­po­nible pour les ap­pli­ca­tions uti­li­sa­teur. Sur les systèmes d’ex­ploi­ta­tion unix, il est possible d’exécuter plusieurs instances d’espace uti­li­sa­teur virtuel en parallèle. C’est la base de la vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion.

Chaque instance d’espace uti­li­sa­teur re­pré­sente un en­vi­ron­ne­ment d’exécution virtuel autonome appelé « container », « partition », « moteur de vir­tua­li­sa­tion » ou « jail », selon la tech­no­lo­gie utilisée. Un nouvel élan a été donné à la vir­tua­li­sa­tion basée sur les systèmes d’ex­ploi­ta­tion grâce notamment à des pla­te­formes de con­te­neurs telles que Docker. Aujourd’hui, les uti­li­sa­teurs de rtk, OpenVZ/Virtuozzo et runC peuvent disposer de bonnes al­ter­na­tives au leader du marché Docker.

Les instances d’espace uti­li­sa­teur sont vir­tua­li­sées à l’aide de mé­ca­nismes chroot natifs fournis par tous les systèmes d’ex­ploi­ta­tion unix. Chroot (abré­via­tion de « change root ») est une commande système qui permet de changer le ré­per­toire racine d’un processus en cours. Les processus qui sont déplacés dans un ré­per­toire racine virtuel peuvent accéder aux fichiers de ce ré­per­toire si l’im­plé­men­ta­tion est correcte. Cependant, le chroot seul ne suffit pas. Bien que la commande système offre des capacités de vir­tua­li­sa­tion de base, il n’a jamais été conçu comme un concept de pro­tec­tion de processus. Les tech­no­lo­gies de con­te­neurs combinent donc chroot avec d’autres fonctions natives du noyau comme Cgroups et Na­mes­paces pour fournir aux processus un en­vi­ron­ne­ment d’exécution isolé avec un accès limité aux res­sources ma­té­rielles. On parle de processus con­te­neu­ri­sés.

  • Cgroups : il s’agit de groupes de contrôle de gestion des res­sources qui per­met­tent de limiter l’accès des processus aux res­sources ma­té­rielles.
  • Na­mes­paces : il s’agit d’espaces de noms pour l’iden­ti­fi­ca­tion des systèmes et des processus ainsi que pour les com­mu­ni­ca­tions in­ter­pro­cess et pour les res­sources réseau. Les espaces de noms peuvent être utilisés pour res­treindre un processus et ses processus fils à une section souhaitée du système sous-jacent.

Un conteneur logiciel contient une ap­pli­ca­tion com­pre­nant toutes les dé­pen­dances telles que les bi­blio­thèques, les pro­grammes d’aide ou les fichiers de con­fi­gu­ra­tion. Les ap­pli­ca­tions con­te­neu­ri­sées peuvent être trans­fé­rées d’un système à l’autre sans con­fi­gu­ra­tion ul­té­rieure. L’approche conteneur montre donc des points forts dans le dé­ploie­ment d’ap­pli­ca­tions en réseau.

Si les con­te­neurs sont utilisés dans des ar­chi­tec­tures mi­cro­ser­vices, les uti­li­sa­teurs bé­né­fi­cient également d’une grande évo­lu­ti­vité.

Avantages et in­con­vé­nients de la vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion :

Avantages In­con­vé­nients
Les concepts de vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion se passent d’hy­per­vi­seur, ce qui permet une perte de per­for­mance minimale due à la vir­tua­li­sa­tion. La vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion est basée sur des ar­chi­tec­tures de mi­cro­ser­vices. Lors de l’ex­ploi­ta­tion d’ap­pli­ca­tions struc­tu­rées selon une ar­chi­tec­ture monolithe, la tech­no­lo­gie des con­te­neurs perd des avantages (par exemple en termes d’évo­lu­ti­vité).
Si les con­te­neurs sont utilisés pour des ap­pli­ca­tions basées sur une com­bi­nai­son de dif­fé­rents mi­cro­ser­vices, les uti­li­sa­teurs bé­né­fi­cient d’une grande évo­lu­ti­vité. Con­trai­re­ment aux machines vir­tuelles, les con­te­neurs fonc­tion­nent di­rec­te­ment dans le noyau du système d’ex­ploi­ta­tion hôte. Cela suppose certaines con­di­tions tech­niques. Ces dé­pen­dances limitent la por­ta­bi­lité des con­te­neurs : par exemple, les con­te­neurs Linux ne peuvent pas fonc­tion­ner sur les systèmes Windows sans émulation.
Les con­te­neurs sont im­mé­dia­te­ment prêts à l’emploi sans processus d’ins­tal­la­tion complexes. Les con­te­neurs per­met­tent beaucoup moins d’isolation que les machines vir­tuelles. La vir­tua­li­sa­tion des con­te­neurs n’est donc pas adaptée à la mise en œuvre de concepts de sécurité.
Le logiciel peut être enlevé sans restes.
Un grand nombre de con­te­neurs pré­fa­bri­qués sont dis­po­nibles pour les pla­te­formes les plus im­por­tantes sur Internet.

La vir­tua­li­sa­tion du stockage

La vir­tua­li­sa­tion du stockage est un concept qui vise à car­to­gra­phier vir­tuel­le­ment les dif­fé­rentes res­sources de stockage d’une en­tre­prise telles que les disques durs, la mémoire flash ou les lecteurs de bandes et de les rendre dis­po­nibles comme un pool de stockage lié.

La mémoire virtuelle peut également être divisée et allouée à des ap­pli­ca­tions sé­lec­tion­nées. Malgré la vir­tua­li­sa­tion, les uti­li­sa­teurs peuvent accéder aux données stockées via les mêmes chemins de fichier, même si l’em­pla­ce­ment physique change. Ceci est assuré par une table d’af­fec­ta­tion gérée par le logiciel de vir­tua­li­sa­tion. On parle alors d’un mappage des supports de stockage physiques sur un disque logique (aussi appelé volumes).

Dans un contexte d’en­tre­prise, la vir­tua­li­sa­tion du stockage est gé­né­ra­le­ment mise en œuvre par blocs. Les données sont alors divisées en blocs de taille égale et une adresse unique est attribuée à chaque bloc de données. Cette dernière est stockée par le logiciel de vir­tua­li­sa­tion dans la table de mappage centrale. Dans la pratique, la vir­tua­li­sa­tion basée sur les blocs peut être mise en œuvre sur la base d’un hôte, d’un pé­ri­phé­rique ou d’un réseau.

La vir­tua­li­sa­tion des res­sources de stockage basée sur l’hôte est une approche gé­né­ra­le­ment utilisée en com­bi­nai­son avec les machines vir­tuelles. Dans ce concept, un système hôte présente des lecteurs virtuels à un ou plusieurs systèmes invités à un niveau abstrait (voir « La vir­tua­li­sa­tion ma­té­rielle » ci-dessus). Le matériel est ac­ces­sible par les pilotes de pé­ri­phé­riques du système hôte.

La vir­tua­li­sa­tion du stockage basée sur l’hôte ne nécessite aucun matériel ad­di­tion­nel, prend en charge n’importe quel pé­ri­phé­rique de stockage et peut être mise en œuvre sans trop d’effort. De plus, l’approche offre les meil­leures per­for­mances par rapport à d’autres concepts, car chaque pé­ri­phé­rique de stockage est traité im­mé­dia­te­ment ; le temps de latence est donc réduit. Cependant, les uti­li­sa­teurs doivent accepter que la vir­tua­li­sa­tion du stockage (et donc la capacité d’optimiser l’uti­li­sa­tion du stockage) est limitée par l’hôte.

Les matrices de disques (dis­po­si­tifs de stockage de masse qui peuvent être utilisés pour l’ap­pro­vi­sion­ne­ment des disques durs dans un réseau) offrent également la pos­si­bi­lité de vir­tua­li­ser les res­sources de stockage. Des schémas RAID sont alors utilisés (abré­via­tion de Redundant Array of In­de­pen­dent Disks). Il s’agit d’un concept de stockage de données dans lequel plusieurs disques physiques sont combinés pour former une pla­te­forme de stockage virtuel.

Conseil

Pour plus d’in­for­ma­tions sur les matrices de disques et les schémas RAID, consultez notre article sur le Network Attached Storage (NAS).

La vir­tua­li­sa­tion du stockage basée sur les pé­ri­phé­riques offre également de bonnes per­for­mances grâce à une faible latence des I/O. En dehors des matrices de disques à fusionner, aucun autre composant matériel n’est né­ces­saire.

La vir­tua­li­sa­tion du stockage en réseau est par­ti­cu­liè­re­ment adaptée lorsque les res­sources de stockage de systèmes hé­té­ro­gènes doivent être combinées dans un pool de stockage virtuel. Dans un contexte d’en­tre­prise, cette approche est gé­né­ra­le­ment utilisée dans le cadre d’un réseau de stockage SAN.

Avantages et in­con­vé­nients de la vir­tua­li­sa­tion du stockage :

Avantages In­con­vé­nients
Les res­sources physiques de stockage sont utilisées plus ef­fi­ca­ce­ment. La vir­tua­li­sa­tion du stockage est toujours associée à un overhead du fait de la nécessité de générer et traiter des mé­ta­don­nées.
Les res­sources physiques de stockage combinées dans un lecteur logique peuvent être gérées de manière cen­tra­li­sée. Le trai­te­ment des demandes d’I/O sous forte charge peut faire ralentir l’ensemble du système de stockage.

La vir­tua­li­sa­tion des données

La vir­tua­li­sa­tion des données combine dif­fé­rentes approches de vir­tua­li­sa­tion dans le cadre des analyses de données dé­ci­sion­nelles qui visent à fournir aux ap­pli­ca­tions un accès aux données extraites des réalités physiques. Une image virtuelle de l’ensemble de la base de données, est créée, la copie « master ».

La vir­tua­li­sa­tion des données est donc un concept d’in­té­gra­tion de l’in­for­ma­tion.

ETL (Extract, Transform, Load) est utilisé dans le contexte de l’in­té­gra­tion d’in­for­ma­tions pour extraire des données de dif­fé­rentes sources struc­tu­rées et les fusionner de manière uniforme dans une base de données cible. La vir­tua­li­sa­tion des données permet également de lire et de manipuler des données provenant de diverses sources, mais celles-ci restent phy­si­que­ment en place (con­trai­re­ment à l’ETL). Les solutions lo­gi­cielles de vir­tua­li­sa­tion des données intègrent les données à un seul niveau virtuel et four­nis­sent un accès en temps réel à la source physique des données.

Avantages et in­con­vé­nients de la vir­tua­li­sa­tion des données :

Avantages In­con­vé­nients
Les besoins de stockage pour les copies de données physiques sont réduits. Con­trai­re­ment à l’approche avec les entrepôts de données, la vir­tua­li­sa­tion des données n’est pas adaptée pour en­re­gis­trer et gérer des images d’un stock de données de l’his­to­rique.
Il n’est plus né­ces­saire d’extraire les données, ce qui prenait beaucoup de temps (par exemple via ETL).
De nouvelles sources de données peuvent être prises en compte via des outils BI en libre-service, même sans avoir des con­nais­sances tech­niques au préalable.
Les données vir­tua­li­sées peuvent être traitées à l’aide de divers outils de gestion des données.

La vir­tua­li­sa­tion du réseau

La vir­tua­li­sa­tion du réseau implique diverses approches qui abs­traient les res­sources réseau aux niveaux matériel et logiciel à partir de leur fondement physique. En règle générale, ce type de vir­tua­li­sa­tion est utilisé dans le cadre de concepts de sécurité. Deux objectifs sont au premier plan :

  • Les res­sources physiques du réseau doivent être combinées en une unité logique grâce à la vir­tua­li­sa­tion.
  • Les res­sources physiques du réseau doivent être divisées en dif­fé­rentes unités vir­tuelles grâce à la vir­tua­li­sa­tion.

Un bon exemple de vir­tua­li­sa­tion de réseau est le virtual private network (VPN). Un VPN est un réseau virtuel basé sur un réseau physique. Dans la pratique, les VPN sont utilisés pour établir des con­nexions sé­cu­ri­sées via des lignes non sé­cu­ri­sées : par exemple, si un employé en dé­pla­ce­ment souhaite accéder au réseau privé de son en­tre­prise via Internet.

Un autre exemple de vir­tua­li­sa­tion de réseau est le réseau local virtuel (VLAN). Les VLAN sont des sous-réseaux virtuels basés sur un réseau in­for­ma­tique physique.

Le Software Defined Net­wor­king (SDN) est un concept qui permet de gérer les res­sources du réseau virtuel de manière cen­tra­li­sée sans avoir à accéder ma­nuel­le­ment aux com­po­sants physiques du réseau. Le SDN est basé sur le dé­cou­plage du plan de contrôle virtuel (le Control Plane) du plan de réseau physique qui est res­pon­sable de la trans­mis­sion des paquets de données (le Data plane).

Avantages et in­con­vé­nients de la vir­tua­li­sa­tion du réseau :

Avantages In­con­vé­nients
Réduction des coûts grâce à l’uti­li­sa­tion multiple de l’in­fras­truc­ture physique du réseau. L’ex­ploi­ta­tion de plusieurs sous-réseaux virtuels sur un réseau physique nécessite des com­po­sants matériels puissants.
Les res­sources réseau peuvent être gérées à un niveau virtuel de manière cen­tra­li­sée, elles sont fa­ci­le­ment évo­lu­tives et sont réparties dy­na­mi­que­ment. Une in­fras­truc­ture de réseau physique re­don­dante peut être né­ces­saire pour assurer une certaine fiabilité.
La vir­tua­li­sa­tion du réseau offre dif­fé­rentes approches qui per­met­tent de mettre en œuvre des concepts de sécurité pour le réseau du côté logiciel et donc de manière plus rentable.
Aller au menu principal