Qu'est-ce qu'une machine virtuelle ?

Les machines virtuelles (MV) sont des ordinateurs qui fonctionnent à l'intérieur d'autres ordinateurs en recourant à un processus connu sous le nom de virtualisation.

Share facebook icon linkedin icon twitter icon email icon

Ordinateur virtuel

Objectifs d’apprentissage

Après avoir lu cet article, vous :

  • Définition de la machine virtuelle
  • Comprendre le fonctionnement de la virtualisation et du matériel virtuel
  • Décrire plusieurs cas d'utilisation de machines virtuelles

Qu'est-ce qu'une machine virtuelle ?

Une machine virtuelle (MV) est un ordinateur basé sur un logiciel qui existe dans le système d'exploitation d'un autre ordinateur, souvent utilisé pour tester, sauvegarder des données ou exécuter des applications SaaS. Pour bien comprendre le fonctionnement des MV, il est important de comprendre d'abord comment les logiciels et le matériel informatique sont généralement intégrés par un système d'exploitation.

Qu'est-ce qu'un système d'exploitation ?

Les ordinateurs traditionnels sont construits à partir de matériel physique, notamment des disques durs, des puces de processeur, des RAM, etc. Afin d'utiliser ce matériel, les ordinateurs s'appuient sur un type de logiciel appelé système d'exploitation (OS). Les systèmes d'exploitation les plus courants sont Mac OSX, Microsoft Windows, Linux et Android.

C'est le système d'exploitation qui gère le matériel de l'ordinateur de manière utile pour l'utilisateur. Par exemple, si l'utilisateur veut accéder à l'internet, le système d'exploitation demande à la carte d'interface réseau d'établir la connexion. Si l'utilisateur veut télécharger un fichier, le système d'exploitation partitionnera l'espace sur le disque dur pour ce fichier. Le système d'exploitation exécute et gère également d'autres logiciels. Par exemple, il peut faire fonctionner un navigateur web et lui fournir suffisamment de mémoire vive (RAM) pour qu'il fonctionne correctement. En général, les systèmes d'exploitation existent dans un ordinateur physique selon un rapport de un pour un ; pour chaque machine, un seul système d'exploitation gère ses ressources physiques.

Peut-on avoir deux ou plusieurs systèmes d'exploitation sur un même ordinateur ?

Certains utilisateurs souhaitent pouvoir exécuter plusieurs systèmes d'exploitation simultanément sur un ordinateur, soit pour des tests, soit pour l'une des autres raisons énumérées dans la section ci-dessous. Cela peut être réalisé grâce à un processus appelé virtualisation. Dans le cadre de la virtualisation, un logiciel se comporte comme s'il s'agissait d'un ordinateur indépendant. Ce logiciel est appelé une machine virtuelle, également appelée ordinateur "invité". (L'ordinateur sur lequel tourne la MV est appelé "hôte".) L'invité possède un système d'exploitation ainsi que son propre matériel virtuel.

Le terme "matériel virtuel" peut sembler être un oxymore, mais il fonctionne en se connectant au matériel réel de l'ordinateur hôte. Par exemple, le "disque dur" de la MV n'est en fait qu'un fichier sur le disque dur de l'ordinateur hôte. Lorsque la MV veut enregistrer un nouveau fichier, elle doit en fait communiquer avec le système d'exploitation hôte, qui écrira ce fichier sur le disque dur de l'ordinateur hôte. Comme le matériel virtuel doit effectuer cette étape supplémentaire de négociation avec l'hôte pour accéder aux ressources matérielles, les machines virtuelles ne peuvent pas fonctionner aussi vite que leurs ordinateurs hôtes.

Avec la virtualisation, un ordinateur peut faire fonctionner deux ou plusieurs systèmes d'exploitation. Le nombre de MV pouvant fonctionner sur un hôte n'est limité que par les ressources disponibles de l'hôte. L'utilisateur peut exécuter le système d'exploitation d'une MV dans une fenêtre comme n'importe quel autre programme, ou il peut l'exécuter en plein écran pour qu'il ressemble et paraisse comme un véritable SE hôte.

À quoi servent les machines virtuelles ?

Voici quelques-unes des raisons les plus courantes pour lesquelles les gens utilisent des machines virtuelles.

  • Tests - Les développeurs de logiciels veulent souvent pouvoir tester leurs applications dans différents environnements. Ils peuvent utiliser des machines virtuelles pour exécuter leurs applications dans différents SE sur un seul ordinateur. C'est plus simple et plus économique que de devoir tester sur plusieurs machines physiques différentes.
  • Exécution de logiciels conçus pour d'autres SE - Bien que certaines applications logicielles ne soient disponibles que pour une seule plateforme, une MV peut exécuter des logiciels conçus pour un SE différent. Par exemple, un utilisateur de Mac qui souhaite exécuter un logiciel conçu pour Windows peut exécuter une MV Windows sur son hôte Mac.
  • Exécution de logiciels obsolètes - Certains logiciels anciens ne peuvent pas être exécutés dans des systèmes d'exploitation modernes. Les utilisateurs qui souhaitent exécuter ces applications peuvent exécuter un ancien SE sur une machine virtuelle.

Comment l'informatique en nuage utilise-t-elle les machines virtuelles ?

Plusieurs fournisseurs de services en cloud offrent des machines virtuelles à leurs clients. Ces machines virtuelles logent généralement sur des serveurs puissants qui peuvent héberger plusieurs MV et peuvent être utilisées pour toute une série de raisons qui ne seraient pas pratiques avec une MV hébergée localement. Ces raisons sont les suivantes

  • Exécution d'applications SaaS - Le Software-as-a-Service, ou SaaS en abrégé, est une méthode de fourniture de logiciels aux utilisateurs basée sur le cloud. Les utilisateurs de SaaS souscrivent à une application plutôt que de l'acheter une fois et de l'installer. Ces applications sont généralement servies à l'utilisateur sur l'internet. Souvent, ce sont des machines virtuelles dans le cloud qui effectuent les traitements pour les applications SaaS et les fournissent aux utilisateurs. Si le fournisseur de cloud computing dispose d'un point d'accès au réseau géographiquement distribué, l'application s'exécutera plus près de l'utilisateur, ce qui se traduira par des performances plus rapides.
  • Sauvegarde des données - Les services de MV en cloud sont très populaires pour la sauvegarde des données, car celles-ci sont accessibles de n'importe où. De plus, les MV en cloud offrent une meilleure redondance, nécessitent moins de maintenance et sont généralement plus évolutives que les datacenters physiques. (Par exemple, il est généralement assez facile d'acheter un gigaoctet d'espace de stockage supplémentaire auprès d'un fournisseur de MV en cloud, alors qu'il est beaucoup plus difficile de construire un nouveau serveur de données local pour ce gigaoctet de données supplémentaire).
  • Services d'hébergement comme la gestion du courriel et des accès - L'hébergement de ces services sur des MV en cloud est généralement plus rapide et plus rentable, et permet de minimiser la maintenance et de se décharger également des problèmes de sécurité.

Cloudflare et machines virtuelles

Cloudflare aide à protéger et à gérer tout type de déploiement de cloud, y compris les MV du cloud. En outre, pour les utilisateurs qui souhaitent disposer de la fonctionnalité d'exécution de code en latéral sans avoir à se soucier des machines virtuelles, nous avons Cloudflare Workers, une plateforme sans serveur qui fournit des services informatiques latéraux aux clients de manière totalement évolutive, permettant aux développeurs de multiplier les applications existantes ou d'en créer de nouvelles sans avoir à configurer ou à entretenir l'infrastructure.