Qu'est-ce qu'une machine virtuelle ?

Dernière mise à jour : 26/06/2026

Une machine virtuelle (VM) est un ordinateur basé sur un logiciel qui fournit un environnement isolé sur du matériel hôte. Les machines virtuelles peuvent exécuter des programmes et des systèmes d'exploitation, stocker des données, se connecter à des réseaux et exécuter d'autres fonctions de calcul. Une grande partie des technologies dont nous bénéficions aujourd'hui, comme le cloud computing et l'intelligence artificielle, reposent sur le concept de machine virtuelle, qui permet de séparer systèmes d'exploitation et logiciels d'une machine physique. Par exemple, dans le cloud computing, les VM servent à virtualiser les ressources des serveurs des fournisseurs de services cloud, ce qui permet aux clients de partager des ressources avec une architecture cloud mutualisée tout en étant isolés les uns des autres.

Comment fonctionnent les machines virtuelles ?

Les machines virtuelles utilisent la technologie de virtualisation pour créer du matériel virtuel, c'est-à-dire une version virtuelle d'un ordinateur sur une machine physique. La machine physique sur laquelle s'exécutent les VM est appelée machine hôte, tandis que les VM exécutées sur l'hôte sont appelées machines invitées.

Une couche logicielle légère appelée hyperviseur divise les ressources matérielles physiques de la machine hôte, telles que les CPU, les GPU, les TPU, la mémoire (RAM), le stockage et les réseaux. L'hyperviseur alloue ensuite ces ressources à chaque VM invitée. Cela vous permet d'exécuter plusieurs systèmes d'exploitation "invités" simultanément et de manière isolée sur une seule machine "hôte". Par exemple, Google Compute Engine utilise un hyperviseur basé sur KVM pour gérer et allouer efficacement les ressources aux machines virtuelles que vous créez.

Chaque VM invitée s'exécute sur une partition isolée sur l'hôte, complètement séparée des autres invités. Vous pouvez héberger plusieurs VM sur une seule machine hôte, souvent un serveur. L'hyperviseur améliore l'efficacité et la flexibilité globales en faisant abstraction des ressources physiques de la machine hôte dans un pool. Ces ressources peuvent ensuite être provisionnées et allouées de manière dynamique aux VM invitées en fonction de leurs besoins spécifiques.

Deux principaux types d'hyperviseurs

  • Type 1 : hyperviseurs Bare Metal : ils s'exécutent directement sur le matériel physique de l'hôte. Ils sont couramment utilisés dans les centres de données d'entreprise pour leurs performances élevées et leur grande efficacité. Par exemple, Google Cloud utilise un hyperviseur KVM pour alimenter ses machines virtuelles Compute Engine.
  • Type 2 : hyperviseurs hébergés : ils s'exécutent en tant qu'application sur un système d'exploitation existant, ce qui les rend adaptés à une utilisation sur ordinateur de bureau. Leur cas d'utilisation le plus courant est le développement et les tests.

Types de machines virtuelles

De manière générale, il existe deux types de machines virtuelles : les VM de traitement et les VM système.

Une VM de traitement, également appelée machine virtuelle d'application ou environnement d'exécution géré (MRE), crée un environnement virtuel d'un système d'exploitation pendant qu'une application ou un processus est en cours d'exécution, et la détruit dès que vous quitter. Les VM de traitement permettent de créer un environnement indépendant de la plate-forme, qui permet à une application ou à un processus de s'exécuter de la même manière sur n'importe quelle plate-forme. Le serveur Node.js sur Cloud Run en est un exemple concret. Cloud Run fournit un environnement entièrement géré dans lequel votre application s'exécute dans un conteneur, indépendamment de l'infrastructure sous-jacente.

Une VM système (parfois appelée "machine virtuelle matérielle") simule un système d'exploitation complet, permettant à plusieurs environnements d'OS de vivre sur la même machine. Il s'agit généralement du type de VM auquel on fait référence lorsqu'on parle de "machines virtuelles". Les VM système peuvent exécuter leurs propres OS et applications. Un hyperviseur surveille et répartit les ressources de la machine hôte physique entre les VM système.

Machines virtuelles cloud

Plus récemment, vous avez peut-être également entendu parler des machines virtuelles dans le cloud, ou VM cloud. Les machines virtuelles cloud sont simplement des machines virtuelles qui s'exécutent sur des serveurs virtuels dans le cloud. De nombreux fournisseurs de services cloud vous permettent de créer et d'exécuter des machines virtuelles cloud sur leur infrastructure. Vous pouvez ainsi utiliser leurs puissants serveurs en tant que machines hôtes et exploiter d'autres services définis par logiciel tels que la mémoire et le stockage réseau. Ces VM cloud sont généralement classées en fonction de l'optimisation de leurs ressources :

  • Les VM à usage général conviennent à une grande variété de tâches et de charges de travail.
  • Les VM optimisées pour le calcul sont conçues pour le calcul hautes performances (HPC) et les applications gourmandes en ressources de calcul.
  • Les VM à mémoire optimisée sont idéales pour les bases de données d'entreprise à grande échelle et les charges de travail nécessitant une importante quantité de mémoire.
  • Les VM spécialisées sont configurées avec des ressources spécifiques très exigeantes, telles que des GPU, pour l'IA/le ML et le calcul scientifique avancé.
  • Les Confidential VMs sont un type de VM sécurisé qui protège les données, même lorsqu'elles sont traitées en mémoire.

Questions fréquentes

Une machine virtuelle est une émulation logicielle d'un ordinateur physique, tandis qu'un bureau virtuel est une interface utilisateur qui permet d'accéder à un environnement de bureau hébergé sur un serveur distant. La principale différence entre les deux est qu'une machine virtuelle émule un ordinateur entier, tandis qu'un bureau virtuel fournit un accès à distance à un environnement de bureau.

Les machines virtuelles sont généralement sûres, car elles isolent le système hôte de la machine virtuelle, ce qui réduit le risque de propagation des logiciels malveillants. Toutefois, leur sécurité dépend d'une configuration appropriée, de mises à jour régulières et de pratiques de sécurité adaptées. Si elles ne sont pas gérées correctement, les machines virtuelles peuvent rester vulnérables aux attaques. Il est donc essentiel de suivre les bonnes pratiques de sécurité.

Oui, une machine virtuelle occupe de l'espace de stockage sur le système hôte. La quantité d'espace de stockage utilisée dépend de la taille du disque dur virtuel, du système d'exploitation et des applications installées. De plus, les machines virtuelles peuvent être configurées pour allouer dynamiquement de l'espace de stockage en fonction des besoins ou pour utiliser une quantité fixe de stockage.

VM ou conteneurs

Les VM et les conteneurs permettent tous deux d'isoler les applications, mais de manière fondamentalement différente. Une machine virtuelle virtualise l'ensemble de la pile matérielle physique, y compris le système d'exploitation. Les VM constituent donc des environnements autonomes et isolés, mais cela implique également qu'elles ont tendance à être plus volumineuses et à utiliser davantage de ressources.

Les conteneurs, quant à eux, sont plus légers, car ils ne virtualisent que la couche de l'OS. Au lieu d'inclure un système d'exploitation complet avec chaque application, un conteneur partage le kernel de l'OS de l'hôte. Les conteneurs peuvent ainsi utiliser moins de ressources que les VM et démarrer plus rapidement, tout en restant isolés. Les conteneurs sont donc intéressants pour le développement de nouvelles applications. Comme de nombreuses applications développées au cours des 10 dernières années ont été conçues pour les conteneurs, de nombreuses charges de travail, y compris l'e-commerce, le back-office et l'IA, sont "natives en conteneurs".

Comment sont utilisées les machines virtuelles ?

Les VM sont les composants de base des ressources informatiques virtualisées. Elles jouent un rôle principal dans la création d'applications, d'outils ou d'environnements, que ce soit dans le cloud ou sur site.

Voici quelques-unes des façons les plus courantes d'utiliser les machines virtuelles dans les entreprises :

Plusieurs machines physiques peuvent être reconfigurées et exécutées sur un hôte aux côtés d'autres VM, ce qui permet aux organisations de réduire la prolifération. Les VM ont prouvé au fil du temps qu'elles étaient capables d'exécuter les applications les plus sensibles aux performances.

Un service informatique centralisé peut provisionner et gérer les VM pour chaque unité commerciale et domaine fonctionnel, ce qui accélère l'accès aux ressources tout en améliorant la visibilité de l'entreprise.

Les VM peuvent servir d'environnements isolés pour les tests et le développement avec des fonctionnalités complètes, mais qui n'ont aucun impact sur l'infrastructure environnante.

Les VM peuvent facilement être désactivées, activées, migrées et adaptées, offrant ainsi une flexibilité maximale pour le développement et le déploiement.

La flexibilité et la portabilité offertes par les VM sont essentielles pour accroître la vitesse des initiatives de migration.

La réplication des systèmes dans des environnements cloud à l'aide de VM peut offrir une couche de sécurité supplémentaire. Les environnements cloud peuvent également être mis à jour en continu.

Les VM constituent la base de la création d'un environnement cloud en parallèle d'un environnement sur site, offrant plus de flexibilité sans pour autant abandonner les anciens systèmes.

Les VM vous permettent d'exécuter différents systèmes d'exploitation sur une seule machine physique. Par exemple, vous pouvez exécuter une VM Windows Server sur Compute Engine de Google Cloud, même si votre environnement de développement principal utilise Linux. Google Cloud propose une variété d'images d'OS pour répondre à différents besoins.

La réplication des systèmes dans des environnements cloud à l'aide de VM peut offrir une couche de sécurité supplémentaire. Les environnements cloud peuvent également être mis à jour en continu.

Avantages des machines virtuelles

Les machines virtuelles offrent de nombreux avantages, en particulier si vous optez pour une VM cloud, par exemple :

Évolutivité

Les VM dans le cloud facilitent le scaling de vos applications, ce qui améliore la disponibilité et les performances. Vous pouvez augmenter votre capacité en fonction de la demande sans avoir à investir dans vos propres serveurs physiques.

Portabilité

Une machine virtuelle est un package logiciel unique contenant des ressources matérielles, un système d'exploitation et toutes ses applications. Vous pouvez facilement déplacer des VM d'un serveur à un autre, ou même du matériel sur site vers des environnements cloud.

Empreinte et coûts réduits

Les VM vous permettent d'exécuter plusieurs environnements virtuels à partir d'une seule machine, ce qui vous aide à réduire l'empreinte de votre infrastructure physique, votre facture d'électricité, ainsi que les coûts de maintenance et de gestion.

Provisionnement plus rapide

Les VM peuvent être facilement dupliquées, ce qui permet aux entreprises de créer de nouveaux environnements identiques sans avoir à les configurer en partant de zéro.

Fiabilité

Les machines virtuelles et leurs composants existent virtuellement et restent isolés des autres VM invitées. En cas de plantage d'une VM, les autres VM invitées restent opérationnelles, et la machine hôte physique n'est pas affectée.

Sécurité renforcée

Les machines virtuelles vous permettent d'exécuter plusieurs systèmes d'exploitation sans affecter le système d'exploitation hôte. Les VM vous permettent de créer des environnements virtuels sécurisés pour tester des applications ou même étudier les failles de sécurité, sans risque élevé pour la machine hôte. Les offres de VM modernes, telles que les Confidential VMs de Google Cloud, assurent le chiffrement des données utilisées pendant leur traitement en mémoire avec un environnement d'exécution sécurisé (TEE) basé sur le matériel.

Défis potentiels des machines virtuelles

Il y a toutefois quelques points à prendre en compte lors de l'exécution de VM. L'un des plus grands défis potentiels des machines virtuelles est que l'exécution de plusieurs systèmes d'exploitation et d'une couche d'hyperviseur peut entraîner des coûts en termes de performances si la machine hôte n'est pas assez robuste. De plus, le matériel virtuel peut ne pas être aussi efficace que le matériel physique d'une machine physique. Enfin, la plupart des fournisseurs de services cloud proposent des machines virtuelles dont le nombre de CPU et la quantité de mémoire sont fixes, ce qui entraîne une utilisation inefficace des ressources.

La plupart de ces problèmes peuvent toutefois être résolus en choisissant d'utiliser des VM proposées par un fournisseur de services cloud. Les VM cloud offrent de nombreux avantages par rapport aux VM traditionnelles, car elles permettent aux entreprises d'accéder à la puissance de calcul de l'intégralité des ordinateurs d'un centre de données, plutôt qu'à une seule machine. De plus, les tailles de machines virtuelles Google Compute Engine proposent des types de machines personnalisés. Au lieu de choisir parmi des types de machines prédéfinis susceptibles d'inclure une capacité excédentaire, vous pouvez adapter le ratio CPU/mémoire spécifiquement à vos charges de travail. Vous ne payez ainsi que les ressources que vous utilisez réellement. Cette approche ciblée minimise le gaspillage et peut réduire considérablement vos dépenses cloud, en particulier lorsque vous migrez depuis un environnement sur site vers Google Cloud ou depuis d'autres fournisseurs de services cloud. Compute Engine propose également des types de VM optimisés pour répondre aux besoins spécifiques des clients en termes de charges de travail d'entreprise, de configurations à haute capacité de mémoire ou de charges de travail exigeantes comme le machine learning ou le calcul hautes performances.

Google Cloud propose aussi des machines virtuelles protégées pour une sécurité renforcée et une intégrité vérifiable de vos instances de VM. Les machines virtuelles protégées Google Cloud exploitent les fonctionnalités et contrôles de sécurité avancés de la plate-forme qui protègent les charges de travail d'entreprise contre des menaces telles que les attaques à distance, l'élévation des privilèges et les menaces internes.

Pour certaines applications, les développeurs peuvent choisir de se passer complètement des VM traditionnelles. Les modèles de déploiement modernes tels que l'orchestration de conteneurs (Google Kubernetes Engine, GKE) et l'informatique sans serveur (Cloud Run) sont des alternatives efficaces pour des cas d'utilisation spécifiques. Ils permettent aux équipes de s'affranchir de la gestion du système d'exploitation des VM, d'accélérer le déploiement et, souvent, de réaliser des économies.

Premiers pas avec les machines virtuelles sur Google Compute Engine

Si vous êtes prêt à utiliser des machines virtuelles, Google Cloud vous en propose par le biais de Compute Engine. Compute Engine fournit des instances de VM flexibles et autogérées hébergées sur l'infrastructure de Google. Voici un aperçu général de la procédure à suivre pour créer une VM sur Compute Engine et vous y connecter :

Configurer un projet Google Cloud

Vous devez disposer d'un projet Google Cloud pour lequel la facturation est activée. Les nouveaux utilisateurs peuvent s'inscrire à un essai sans frais.

Activer l'API Compute Engine

Cette API est nécessaire pour créer et gérer des VM. Vous pouvez l'activer dans la console Google Cloud ou à l'aide de la gcloud CLI.

Créez une instance de VM :

Vous pouvez créer des instances de VM à l'aide de la console Google Cloud ou de gcloud CLI.

  • Utiliser la console : accédez à "Compute Engine" dans la console Google Cloud et cliquez sur "Créer une instance". Vous pouvez ensuite configurer le nom, la région, la zone, le type de machine (par exemple, e2-medium), l'image du disque de démarrage (par exemple, Debian, Ubuntu, Windows Server) et d'autres paramètres de votre VM.
  • Avec gcloud CLI : les utilisateurs de la ligne de commande peuvent utiliser la commande gcloud compute instances create.

Se connecter à votre machine virtuelle

SSH (VM Linux) : connectez-vous de manière sécurisée à vos instances Linux à l'aide de SSH.

  • Utiliser la console Google Cloud : la méthode la plus simple consiste souvent à utiliser le bouton "SSH" disponible à côté de votre instance dans la section Compute Engine de la console. Une session de terminal basée sur le navigateur s'ouvre.

Utiliser gcloud CLI : la commande gcloud compute ssh permet de se connecter facilement depuis votre terminal local.

  • Gestion des clés SSH : par défaut, lorsque vous utilisez gcloud compute ssh pour la première fois avec une VM, gcloud génère une paire de clés SSH. Il ajoute ensuite votre clé publique aux métadonnées de la VM ou du projet. L'agent invité Google exécuté sur la VM configure automatiquement sshd pour autoriser l'accès à l'aide de cette clé.

Utiliser OS Login (recommandé) : pour renforcer la sécurité et simplifier la gestion des clés SSH, en particulier sur plusieurs VM ou équipes, envisagez d'activer OS Login. OS Login intègre le contrôle des accès SSH à Google Cloud IAM. Lorsqu'OS Login est activé, les clés SSH sont associées à votre identité Google, et l'accès est géré à l'aide des autorisations IAM plutôt que par la distribution de clés aux métadonnées d'instance.

Pour activer OS Login, définissez la clé de métadonnées enable-oslogin sur TRUE au niveau de votre projet ou de vos instances individuelles.

  •  Vous pouvez ensuite vous connecter à l'aide de la commande gcloud compute ssh comme d'habitude. Pour en savoir plus, consultez la documentation Configurer OS Login.

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.
Contactez un spécialiste des ventes Google Cloud pour discuter plus en détail de votre problématique.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Produits Google Cloud
  • Parcourez plus de 100 produits. Les nouveaux clients bénéficient de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail. Tous les clients peuvent utiliser plus de 25 produits gratuitement, dans les limites mensuelles spécifiées.
Google Cloud