Formateur : Pour que l'informatique dématérialisée
permette de réaliser les économies et les gains d'efficacité escomptés,
elle s'appuie fortement sur la virtualisation.
Aujourd'hui, la virtualisation permet
de placer de nombreux serveurs logiques sur
un seul serveur physique.
Cela permet de réduire l'espace physique, l'énergie et le refroidissement
nécessaires à l'intérieur de nos centres de données.
En outre, la virtualisation nous permet d'atteindre des
niveaux de disponibilité plus élevés en faisant tourner des serveurs
virtuels supplémentaires chaque fois que nous en avons besoin.
Cette capacité à fournir dynamiquement des ressources
de mémoire et d'unité centrale est l'un des
principaux avantages de l'informatique en nuage.
Si l'informatique dématérialisée présente de nombreux
avantages, il n'en reste pas moins que de nombreux problèmes
de sécurité doivent être pris en compte.
La plupart des problèmes de sécurité que
nous rencontrons avec les serveurs physiques
sont également transposés dans l'environnement en nuage.
Souvent, les dirigeants pensent que le passage à l'informatique
dématérialisée résoudra tous leurs
problèmes, mais ce n'est jamais vraiment le cas.
Lors de la virtualisation, un ou plusieurs serveurs logiques
résident sur un seul serveur physique.
Pour ce faire, nous utilisons des logiciels spécialisés
appelés hyperviseurs.
L'hyperviseur contrôle la distribution
de toutes les ressources, telles que le processeur,
la mémoire et la disponibilité du disque dur.
Essentiellement, l'hyperviseur émule une machine physique de sorte que
le système d'exploitation et toutes
ses applications ne se rendent même pas compte
qu'ils fonctionnent dans un environnement virtuel.
Aujourd'hui, les hyperviseurs sont divisés en deux catégories
: les hyperviseurs de type 1 ou "bare metal" et les hyperviseurs
de type 2 ou "hosted hypervisor".
Si l'on compare les types d'hyperviseurs
"bare metal" et hébergés, la seule différence
majeure du point de vue de la sécurité est qu'avec les types hébergés,
il faut s'assurer que le système d'exploitation
sous-jacent est également correctement
sécurisé et corrigé.
Du point de vue des performances,
le bare metal sera plus rapide et plus efficace
que son homologue hébergé.
Une autre option de virtualisation dont nous disposons est
connue sous le nom de virtualisation basée sur les conteneurs, ou conteneurisation.
Avec ce type de système, un hyperviseur n'est pas utilisé du tout, mais chaque
conteneur s'appuie sur un système d'exploitation commun comme base pour chacun
de ces conteneurs. Bien que chaque conteneur partage le
même système d'exploitation sous-jacent,
chaque conteneur peut avoir ses propres
binaires, bibliothèques et applications qui peuvent être personnalisés en fonction
de leurs besoins.
Actuellement, la virtualisation basée sur les conteneurs
est presque exclusivement utilisée avec Linux comme
système d'exploitation sous-jacent.
La virtualisation basée sur les conteneurs utilise également moins
de ressources qu'une virtualisation de type 1 ou 2,
car elle ne nécessite pas sa propre copie
du système d'exploitation pour chaque conteneur individuel.
De nombreux fournisseurs de services en nuage ont poussé la virtualisation
un peu plus loin avec l'infrastructure hyperconvergée.
Cela permet au fournisseur d'intégrer
complètement le stockage, les réseaux et les
serveurs, sans avoir à modifier le matériel.
Au lieu de cela, ils s'appuient sur des logiciels
et des technologies de virtualisation
pour réaliser toutes les intégrations.
Nous pouvons gérer tout cela à partir d'une interface unique
ou d'un appareil sans avoir à nous préoccuper de
toutes les solutions sous-jacentes des fournisseurs.
La virtualisation des applications est un autre
type de virtualisation couramment
utilisé pour renforcer la sécurité de l'hôte sous-jacent.
La virtualisation des applications est une technologie logicielle
qui encapsule les programmes informatiques
du système d'exploitation sous-jacent
sur lequel ils sont exécutés.
Une application entièrement virtualisée
n'est même pas installée au sens traditionnel du terme,
bien qu'elle soit exécutée comme si elle l'était.
Grâce à la virtualisation des applications,
vous pouvez exécuter des applications patrimoniales
conçues pour un système d'exploitation en fin de vie comme
Windows XP ou Windows 7 sur un système d'exploitation plus moderne, ou vous
pouvez même exécuter des logiciels multiplateformes, comme des
applications Android, sur une machine Windows.
De nombreux fournisseurs de services en nuage proposent également
une infrastructure de bureau virtuel (VDI).
Aujourd'hui, la VDI permet à un fournisseur de services en nuage d'offrir
un système d'exploitation de bureau complet à vos utilisateurs finaux
à partir d'un serveur centralisé.
Cette approche présente de nombreux avantages sur le plan de la sécurité.
Par exemple, une organisation avec laquelle je travaillais
créait une nouvelle image de bureau virtuel pour chaque utilisateur
lorsqu'il se connectait le matin.
Ce bureau n'était pas persistant, de sorte que
même s'il était exploité par un attaquant, il était détruit
dès que l'utilisateur se déconnectait, ou à minuit
chaque jour, ce qui détruisait effectivement
la capacité de l'attaquant à rester persistant sur le
bureau de l'utilisateur final, même si des logiciels malveillants
étaient installés.
La virtualisation permet également de créer un bac à sable.
Aujourd'hui, un bac à sable vous permet
de créer un environnement isolé dans lequel vous pouvez analyser des
virus, des vers, des chevaux de Troie et d'autres logiciels malveillants
au sein d'un système d'exploitation invité.
Comme il se trouve dans ce bac à sable virtuel
situé à l'intérieur d'une machine virtuelle isolée, vous pouvez
vous assurer que vous ne pouvez pas infecter votre propre
ordinateur qui l'héberge en tant que système d'exploitation hôte sous-jacent,
ou l'hyperviseur sous-jacent.
Les analystes en cybersécurité utilisent souvent
des bacs à sable pour analyser les logiciels malveillants, en particulier lorsqu'ils
procèdent à une analyse dynamique des logiciels malveillants,
c'est-à-dire qu'ils prennent un logiciel malveillant,
l'exécutent et identifient ce qui se passe lorsque ce logiciel malveillant s'exécute
sur un système d'exploitation invité particulier.
Une autre bonne utilisation des machines
virtuelles est la virtualisation multiplateforme.
Par exemple, j'utilise un MacBook Pro comme machine principale.
Ainsi, si je voulais tester des applications logicielles pour différents
systèmes d'exploitation, je pourrais soit
aller chercher de nouvelles machines pour chacun de
ces systèmes d'exploitation, par exemple
un ordinateur portable pour Windows, un ordinateur
portable pour Linux, un ordinateur portable pour Mac.
Mais si j'utilise la virtualisation,
je peux faire de la virtualisation multiplateforme
en utilisant un système hébergé sur mon MacBook Pro avec
un logiciel comme VMware, Parallels
ou VirtualBox pour pouvoir installer ces systèmes
d'exploitation invités au-dessus
de mon environnement Mac OS existant.
Cela me permettra de tester tous les
logiciels, quel que soit le système d'exploitation
dont ils ont besoin, et de voir comment
ils vont interagir.
C'est particulièrement intéressant pour
les développeurs web, car je veux m'assurer,
en tant que développeur web, que mon site web fonctionne sur
Windows 10, Windows 11, Mac, un Chromebook, un iPhone, un appareil Android, ou n'importe
quoi d'autre, et le fait de pouvoir tester tout
cela sur une seule machine en utilisant
la virtualisation est une grande ressource pour
nous, les développeurs.
La formation est une autre utilisation importante de la virtualisation.
Vous pouvez créer des environnements de laboratoire configurés
de manière à ce que les utilisateurs puissent
s'exercer sur un système d'exploitation réel à l'aide de ces machines virtuelles.
Par exemple, lorsque vous étudiez pour obtenir
vos différentes certifications CompTIA, si vous achetez votre
cours diontraining. com, ils sont assortis
de laboratoires pratiques intégrés.
Ces laboratoires vous permettent de vous connecter à notre environnement
basé sur le cloud et d'effectuer des actions sur des systèmes
Linux, des systèmes Windows 10, des systèmes Windows Server,
et d'autres choses de manière sûre et sécurisée, et cela n'aura
pas d'impact sur notre environnement de production
parce que tout est isolé dans cette zone de formation, ou ce bac
à sable de formation.
Un autre avantage de l'utilisation de machines virtuelles
dans un environnement de formation ou de laboratoire
est qu'il est possible de prendre des instantanés à différents
moments, puis de reprendre à l'endroit où se trouvait l'instantané.
Par exemple, lorsque je donnais mes cours en personne, je
créais des machines cassées de Windows 7 et je posais différents
problèmes à mes étudiants
A+ pour qu'ils les dépannent.
Je leur donnais la machine virtuelle, je l'allumais, je la restaurais
à partir du dernier point de sécurité, c'est-à-dire là
où je l'avais cassée, puis je leur demandais
d'essayer de comprendre ce qui n'allait
pas et comment ils pouvaient le réparer.
C'est une excellente façon d'utiliser les machines virtuelles
dans le cadre de votre formation.
Et lorsque vous poursuivrez vos études et que vous commencerez
à vous familiariser avec Linux, Windows, les environnements de
serveurs, Mac OS et d'autres éléments de ce type, vous pourrez
créer différentes machines virtuelles contenant
ces systèmes d'exploitation invités et mettre en
pratique vos compétences dans un environnement sûr et sécurisé.
La dernière chose que nous devons
aborder est le concept d'émulation, car
de nombreuses personnes confondent émulation et virtualisation.
L'émulation consiste à utiliser un système
qui imite un autre système.
Avec la virtualisation, une instance virtuelle
d'un matériel particulier est créée et utilisée.
En réalité, vous utilisez une nouvelle machine physique
représentée par un logiciel.
Dans le cas d'un émulateur, un logiciel traduit
l'environnement en temps réel pour faire croire
qu'il s'agit d'autre chose.
Par exemple, si je veux jouer à un vieux
jeu de Super Nintendo sur mon MacBook Pro,
je peux télécharger un émulateur de Super Nintendo comme OpenEmu,
qui traduira en temps réel le code du jeu
en instructions compréhensibles par mon Mac.
Avec la virtualisation, le logiciel exécuté peut
accéder physiquement au matériel de votre machine, ce
qui le rend beaucoup plus rapide que l'utilisation d'un émulateur.
Dans quels cas est-il préférable d'utiliser un émulateur plutôt
qu'une solution de virtualisation ?
Si vous devez faire fonctionner un système
d'exploitation destiné à un autre type de matériel,
comme une Super Nintendo sur un ordinateur Mac ou Windows, vous devrez
utiliser un émulateur.
Si vous souhaitez exécuter un logiciel
conçu pour un système d'exploitation différent, comme
un Android conçu pour fonctionner sur un processeur
ARM, mais que vous disposez d'un processeur Intel
et d'un système d'exploitation Windows,
là encore, les émulateurs seront le bon choix pour vous, car vous avez affaire
à un matériel sous-jacent différent.
En revanche, si vous avez besoin d'une vitesse élevée
et de meilleures performances,
vous devez utiliser une solution de virtualisation.
N'oubliez pas cependant qu'avec la virtualisation,
vous êtes limité à l'exécution de logiciels codés
pour le matériel sous-jacent particulier de votre processeur.
Normalement, la plupart d'entre nous utilisent des processeurs basés sur x86 ou x64, donc vous utilisez
Windows, Linux ou Mac, ou n'importe lequel de ces trois systèmes
d'exploitation sur ce type de systèmes avec la
virtualisation fonctionnera parfaitement.
Mais si vous essayez d'exécuter un système d'exploitation
conçu pour un processeur ARM, cela ne fonctionnera
pas avec la virtualisation, vous devrez utiliser
un émulateur.
En général, vous utiliserez la virtualisation plutôt
qu'un émulateur, parce que c'est plus rapide
et plus efficace et que la plupart
des choses sont écrites pour fonctionner
sur un processeur x86 ou x64.
Mais encore une fois, si vous avez besoin d'exécuter
quelque chose pour un processeur différent,
c'est à ce moment-là que vous devrez utiliser un émulateur.