- Qu’est-ce qu’une machine virtuelle ?
- Fonctionnement des machines virtuelles
- Avantages et inconvénients des machines virtuelles
- Avez-vous besoin d’une machine virtuelle ?
- Types de machines virtuelles
- Machines virtuelles et conteneurs
- Comment déployer une machine virtuelle
- 8 cas d’usage des machines virtuelles
- Principales solutions de machines virtuelles
- En résumé : les VM offrent une flexibilité opérationnelle
Qu’est-ce qu’une machine virtuelle ?
Une machine virtuelle (VM) est un ordinateur logiciel qui exécute des systèmes d’exploitation (OS) et des applications différents de ceux de son ordinateur hôte. Par exemple, vous pouvez exécuter une VM Linux sur un ordinateur Windows.
La puissance des ordinateurs a transformé le monde au siècle dernier. Aujourd’hui, ils sont au cœur de nos infrastructures critiques, de nos activités commerciales et bien plus encore. De même, les VM sont devenues la pierre angulaire de l’informatique d’entreprise au nouveau millénaire.
Bien que la technologie de virtualisation ait été lancée dans les années 1960, ce n’est qu’avec le lancement de la station de travail de VMware en 1999 que les VM sont devenues une solution commercialisable. Aujourd’hui, Future Market Insight prévoit que le marché mondial des VM atteindra une valorisation de 177,3 milliards de dollars d’ici 2033. La transformation numérique mondiale, l’essor du cloud computing, les économies de coûts et l’accès accru aux technologies de pointe stimulent la croissance du marché.
Cet article explique ce qu’est une machine virtuelle, pourquoi elle est utile, comment elle fonctionne et les éléments à prendre en compte lors du passage à la virtualisation.
Fonctionnement des machines virtuelles
Une machine virtuelle est un serveur autonome qui ne dépend pas du matériel pour fonctionner, mais utilise des logiciels. Un administrateur peut exécuter plusieurs machines virtuelles « invitées », avec leur propre système d’exploitation et leur propre fonction, depuis un seul serveur physique hôte.
À titre de référence, les systèmes d’exploitation sont les logiciels fondamentaux installés sur le matériel pour gérer le fonctionnement d’une machine. Toutefois, comme les applications — les programmes conçus pour les utilisateurs finaux — sont propres à chaque système d’exploitation, le système natif peut limiter la capacité des utilisateurs à explorer d’autres systèmes et applications.
Comme son serveur hôte, la VM contient de la mémoire, une interface réseau, du stockage et une capacité CPU allouée. Un hyperviseur sépare les VM invitées les unes des autres, tandis que les ressources de l’hôte physique sont partagées entre les VM selon les besoins.
Avantages et inconvénients des machines virtuelles
Les machines virtuelles offrent notamment des économies de coûts, de la flexibilité et de la portabilité. Elles permettent aux administrateurs de gérer des centaines d’ordinateurs virtuels depuis un seul appareil physique. Une VM peut également passer rapidement d’un appareil physique à un autre.
Les machines virtuelles fonctionnent comme n’importe quel ordinateur, avec une fraction du matériel physique. Ainsi, un administrateur pourrait exécuter une douzaine de VM depuis son ordinateur hôte, chacune fonctionnant comme un système d’exploitation indépendant.
Déjà très prisée pour la virtualisation des serveurs, la mise en œuvre des VM convient parfaitement aux infrastructures hybrides actuelles.
Ces avantages ont conduit toutes les industries à adopter les machines virtuelles dans leurs environnements cloud.
Cependant, nombre de ces mêmes avantages mettent également en évidence les limites des machines virtuelles. Bien que les VM puissent accomplir beaucoup de choses, elles sont naturellement moins performantes que leurs hôtes physiques autonomes, puisqu’elles tirent toute leur puissance de ces derniers et doivent partager de nombreuses ressources avec d’autres VM invitées.
Référence rapide des avantages et inconvénients des machines virtuelles
| Fonctionnalité | Avantages des VM | Inconvénients des VM |
|---|---|---|
| Performances | Les VM peuvent exécuter plusieurs systèmes d’exploitation sur un seul hôte physique, ce qui permet d’économiser de l’espace, des coûts et de la maintenance. | La stabilité, la fiabilité et les performances des VM dépendent des capacités de l’hôte. |
| Sécurité | Les VM peuvent offrir une meilleure sécurité en isolant différentes instances logicielles et en empêchant les logiciels malveillants d’affecter le système hôte. | La sécurité des VM est exposée à la prolifération des VM, aux attaques externes telles que les rançongiciels, à la configuration réseau, aux contrôles d’accès, au niveau de confiance des charges de travail et aux fournisseurs de services cloud. |
| DevSecOps | Les VM sont des ressources économiques pour tester, développer et exploiter des ressources de cloud computing. | Les VM sont moins efficaces que les machines réelles, car elles accèdent indirectement au matériel. Cela peut affecter le DevSecOps. |
| Accessibilité et compatibilité | Différentes versions de VM peuvent être rapidement déployées, mises à niveau ou migrées, avec différentes fonctionnalités matérielles, différents systèmes d’exploitation et différentes capacités. | Les VM dépendent d’hyperviseurs, des logiciels qui gèrent les VM et leurs ressources, et peuvent rencontrer des problèmes de compatibilité ou de fiabilité. |
Avez-vous besoin d’une machine virtuelle ?
Avez-vous déjà souhaité avoir plus d’un ordinateur ? Un vieil ordinateur se déprécie-t-il rapidement alors que vous souhaitez en préserver le contenu ? Développez-vous simultanément une application pour Windows, Mac et Linux ?
Si ces questions vous concernent, une VM peut être un complément précieux à votre arsenal technologique. Qu’il s’agisse de créer une armée d’ordinateurs, de préserver d’anciennes données ou de développer des applications compatibles avec plusieurs systèmes d’exploitation, les VM peuvent faire tout cela et bien plus encore.
La virtualisation présente un autre avantage intéressant en matière d’inventaire et de coûts. Les entreprises peuvent réduire leurs coûts, accroître leur taux d’utilisation et limiter les problèmes liés au matériel avec une simple fraction des équipements nécessaires, notamment les disques, les lecteurs et le matériel serveur.
Les machines virtuelles sont particulièrement pertinentes pour les centres de données, les développeurs de logiciels et les services informatiques. Elles peuvent toutefois également être utilisées sur les PC et ordinateurs portables des utilisateurs finaux pour isoler des charges de travail ou des applications.
Types de machines virtuelles
Il existe deux grands types de machines virtuelles : les VM de processus et les VM système. Les VM système créent un environnement de système d’exploitation entièrement virtualisé, essentiellement identique à un ordinateur physique standard, tandis que les VM de processus ne reproduisent temporairement qu’un système d’exploitation afin d’exécuter une application ou un processus donné.
Voici une comparaison plus détaillée de ces deux types de VM :
| Machines virtuelles de processus | Machines virtuelles système | |
|---|---|---|
| Autres appellations | Machine virtuelle de langage ou environnement d’exécution géré | Machine virtuelle matérielle |
| Utilisations | Simulation logicielle ; imitation du comportement de l’appareil | Émulation logicielle ; reproduction exacte de l’appareil |
| Capacités | Exécuter un seul programme ou processus | Accès complet au système d’exploitation de l’ordinateur |
| Abstraction | Architecture du jeu d’instructions (ISA) | Programmation de haut niveau |
| Exemples |
|
|
Machines virtuelles et conteneurs
Les conteneurs et les machines virtuelles sont souvent confondus, car ils exécutent tous deux des applications isolées depuis une même plateforme. Ils se distinguent par leur taille, leur vitesse, leur productivité des charges de travail et leur intégration à la machine hôte.
Alors que les VM peuvent émuler le matériel d’un ordinateur et se mesurer en gigaoctets de données, les conteneurs ne contiennent généralement qu’une seule application ou un seul processus, en mégaoctets. Les conteneurs légers présentent un avantage naturel sur les VM en matière de vitesse et de déploiement de microservices. En comparaison, les machines virtuelles sont mieux adaptées à la gestion de charges de travail et d’applications plus importantes.
Pour en savoir plus sur les machines virtuelles et les conteneurs, consultez notre guide Virtualisation et conteneurisation.
Comment déployer une machine virtuelle
La technologie qui sous-tend le déploiement des machines virtuelles repose sur un mécanisme logiciel appelé hyperviseur. Situé entre le matériel et les machines virtuelles invitées, l’hyperviseur s’exécute sur la machine hôte physique et supervise les VM existantes. Les hyperviseurs ne servent pas uniquement à la virtualisation des serveurs : ils peuvent également virtualiser des applications, du stockage et des postes de travail.
Le déploiement d’un hyperviseur offre aux administrateurs les fonctionnalités de gestion nécessaires ainsi que la possibilité de mettre en œuvre la microsegmentation. Une autre tendance qui gagne du terrain est la vente d’appareils intégrant un hyperviseur, comme la machine virtuelle basée sur le noyau (KVM) pour Linux. Les principaux fournisseurs d’hyperviseurs comprennent VMware, Microsoft, et Red Hat.
8 cas d’usage des machines virtuelles
La flexibilité étant l’un des principaux avantages des VM, les cas d’usage potentiels sont extrêmement nombreux. Parmi les plus courants, on peut citer l’optimisation de l’utilisation des capacités, l’exécution de logiciels anciens et de différents systèmes d’exploitation, les instantanés au niveau système ainsi que les environnements sandbox destinés à l’exploration et à l’expérimentation.
Optimiser l’utilisation des capacités
Le principal avantage de l’adoption des machines virtuelles est peut-être l’augmentation des capacités de stockage, d’exécution des applications et de traitement. La virtualisation permet de regrouper les charges de travail et donc de réduire l’espace physique qu’elles occupent, ainsi que la quantité d’équipements et de frais généraux nécessaires. Avec une empreinte réduite sur site, les entreprises peuvent gérer plus de ressources que jamais.
Exécuter des logiciels anciens
Les applications logicielles anciennes peuvent devenir incompatibles avec les nouvelles versions des systèmes d’exploitation ou ne plus être disponibles pour les employés d’une organisation. Cela peut être dû à une migration volontaire de l’équipe informatique ou à l’arrêt du support par les développeurs du logiciel. Dans tous les cas, le souhait du personnel d’utiliser des applications anciennes n’est pas rédhibitoire. Avec les VM, l’utilisateur peut recréer l’environnement nécessaire au fonctionnement du programme abandonné.
Utiliser différents systèmes d’exploitation
Le cas d’usage le plus courant des VM consiste à accéder à un ensemble de systèmes d’exploitation différents depuis un seul hôte physique. Quel que soit le système d’exploitation natif de l’hôte, la capacité du personnel informatique à créer ou à répliquer de nouvelles machines facilite considérablement le développement multiplateforme.
Instantanés au niveau système
Lorsqu’ils expérimentent avec des VM, les utilisateurs trouvent la fonction d’instantané utile pour enregistrer une version de leur machine invitée. Cette fonction permet aux clients de préserver l’état et les données de leur système actuel, notamment les disques, la mémoire et les cartes d’interface réseau virtuelle (VNI). Les utilisateurs peuvent créer et gérer plusieurs instantanés pour effectuer des tests sur leur VM, mais attention : l’exécution prolongée d’une VM à partir d’un instantané peut provoquer une instabilité et une perte de données.
Développer des logiciels pour des systèmes d’exploitation non natifs
Les VM présentent un intérêt constant pour les développeurs et les professionnels qui doivent accéder à de nombreux systèmes informatiques différents. Alors qu’il n’y a pas si longtemps, les programmeurs devaient partager leur temps entre différents types d’appareils (par exemple, les plateformes de bureau et mobiles), les VM ouvrent la voie à un développement d’applications multiplateforme plus rapide et plus fluide.
Fournir un environnement sandbox sécurisé
L’une des fonctionnalités de sécurité des serveurs des VM est qu’elles constituent des environnements isolés au sein des hôtes physiques. Comme il ne s’agit pas d’ordinateurs indépendants utilisant leur propre matériel et que leur système d’exploitation et leurs applications ne sont pas connectés à l’hôte ni aux autres machines invitées, les VM peuvent être un excellent environnement pour tester des fichiers suspects, de nouveaux projets et bien plus encore, dans un cadre isolé et sans craindre d’endommager le système lui-même.
Explorer et expérimenter avec le système
Alors que les développeurs peuvent avoir un plan détaillé de leurs objectifs lorsqu’ils utilisent un ordinateur, les passionnés de technologie commencent souvent à l’utiliser sans aucun plan. Avec un manuel d’instructions, un guide en ligne ou sans rien de tout cela, de nombreux utilisateurs souhaitent explorer les capacités de leur appareil. Pour les curieux, les VM offrent un terrain de jeu pour expérimenter sans conséquences. Qu’il s’agisse d’apprendre à utiliser un nouveau système d’exploitation ou de déconstruire un ordinateur, les VM offrent aux utilisateurs intéressés un espace d’exploration.
Répliquer une VM sur d’autres machines
Puisqu’un seul hôte peut servir plusieurs VM, il est facile de comprendre pourquoi celles-ci sont si faciles à répliquer. Le seul inconvénient de cette fonctionnalité est que les VM sont limitées aux destinations desservies par leur hyperviseur. Autrement, une VM tient dans quelques fichiers et peut être transférée vers d’autres hôtes.
Principales solutions de machines virtuelles
Le marché des VM est diversifié, avec de nombreuses options et de nouvelles entreprises qui proposent des VM. Microsoft, Red Hat, Canonical, Oracle, Linux Mint et IBM sont des fournisseurs de VM de premier plan. Examinons trois offres de VM populaires.
Microsoft Azure
Machines virtuelles Microsoft Azure est l’un des services de cloud computing les plus populaires, permettant aux utilisateurs de créer et d’exécuter des VM à la demande. Azure propose différentes options pour diverses charges de travail, notamment des systèmes d’exploitation Windows et Linux, plusieurs tailles et configurations, ainsi que des fonctionnalités de haute disponibilité et d’évolutivité.
Les utilisateurs peuvent également tirer parti de l’intégration avec d’autres services Azure, notamment le stockage, la mise en réseau, la sécurité et la gestion. Les VM Azure offrent aux utilisateurs davantage de contrôle et de flexibilité sur leur infrastructure cloud, tout en réduisant les coûts et la complexité.
Tarification
Microsoft Azure propose gratuitement des VM Windows ou Linux pendant 12 mois, une période généreuse, après la création d’un nouveau compte. Ensuite, le service met à disposition un calculateur de coûts pratique, quoique très complexe, pour estimer vos dépenses.
Canonical Ubuntu
Machines virtuelles Canonical Ubuntu sont des instances cloud qui s’exécutent sur des plateformes populaires telles qu’Amazon Web Services (AWS) et Microsoft Azure. Elles offrent des fonctionnalités renforcées de sécurité, de conformité et de support aux entreprises et aux développeurs qui ont besoin de solutions fiables et évolutives. Elles sont également compatibles avec les systèmes d’exploitation Linux, Windows et Mac OS.
Machines virtuelles Ubuntu Pro sont populaires, car elles fournissent des ressources open source, offrant une liberté totale aux développeurs, tout en atténuant les risques associés à l’open source grâce à des mises à jour, des correctifs et des résolutions de problèmes, ainsi qu’à des progiciels et outils certifiés de Canonical et de ses partenaires.
Tarification
La tarification des VM Ubuntu Pro commence à seulement 25 dollars US par an pour un seul poste de travail sans support, ou à 300 dollars US par an avec une assistance complète 24 h/24 et 7 j/7. Pour un serveur avec un nombre illimité de VM, le prix commence à 500 dollars US par an sans support, ou à 3 400 dollars US par an avec un support complet.
Red Hat Virtualization
Red Hat Virtualization (RHV) est une plateforme de virtualisation complète de niveau entreprise qui permet d’exécuter et de gérer vos VM sur une infrastructure unique ou en cluster. Basée sur Linux, RHV offre des performances élevées ainsi que des fonctionnalités d’évolutivité, de sécurité et de flexibilité pour vos charges de travail.
RHV est populaire, car elle repose sur des normes et des technologies ouvertes telles que Linux, KVM et oVirt. RHV s’intègre également à d’autres produits et services Red Hat, notamment Ansible, Satellite et OpenShift, afin de fournir une solution complète pour votre environnement de cloud hybride.
Tarification
La tarification de RHV commence à 999 dollars US par an et par hyperviseur pour l’offre standard, ou à 1 499 dollars US par an et par hyperviseur pour l’option Premium.
En résumé : les VM offrent une flexibilité opérationnelle
Bien que la virtualisation des ordinateurs remonte aux années 1960, la prolifération des machines virtuelles est un phénomène du XXIe siècle. L’accès à plusieurs systèmes d’exploitation et à des environnements internes isolés est essentiel, à mesure que le développement logiciel et les applications sont devenus prioritaires.
Les machines virtuelles offrent :
- Une flexibilité opérationnelle
- Une gestion centralisée
- Une protection pour la reprise après sinistre
- Une réduction des frais généraux et des temps d’arrêt
- Une évolutivité
Pour répondre aux besoins des organisations, des applications et des charges de travail de demain, les VM continueront de contribuer à l’amélioration de la productivité des entreprises.
Voici les meilleurs logiciels de sauvegarde des VM pour assurer le bon fonctionnement de votre entreprise.