Qu'est-ce que la virtualisation des serveurs ? Le guide ultime
La virtualisation des serveurs est un processus qui crée et abstrait plusieurs instances virtuelles sur un seul serveur. La virtualisation des serveurs abstrait ou masque également les ressources du serveur, y compris le nombre et l'identité des machines physiques individuelles, des processeurs et des différents systèmes d'exploitation.
Les conceptions traditionnelles de matériel et de logiciels informatiques prenaient généralement en charge des applications uniques. Souvent, cela obligeait les serveurs à exécuter chacun une seule charge de travail, gaspillant ainsi les processeurs, la capacité de mémoire et d'autres ressources matérielles inutilisées, telles que la bande passante réseau. Le nombre de serveurs matériels a explosé à mesure que les entreprises déployaient davantage d'applications et de services à l'échelle de l'entreprise. Les coûts correspondants et les exigences croissantes en matière d'espace, d'alimentation, de refroidissement et de connectivité ont poussé les centres de données à leurs limites.
L'avènement de la virtualisation des serveurs a changé la donne. La virtualisation ajoute une couche logicielle, appelée hyperviseur, à un ordinateur, qui dissocie le matériel sous-jacent de tous les logiciels qui s'exécutent au-dessus. La virtualisation traduit les ressources physiques en équivalents virtuels (logiques). L'hyperviseur organise et gère ensuite les ressources virtualisées de l'ordinateur, en les provisionnant dans des instances logiques appelées machines virtuelles (VM), chacune pouvant fonctionner comme un serveur distinct et indépendant.
La clé ici réside dans l'utilisation des ressources. La virtualisation gérée par hyperviseur permet de créer et d'exécuter simultanément plusieurs machines virtuelles à partir des ressources disponibles de l'ordinateur. La virtualisation permet à un seul ordinateur d'effectuer le travail de plusieurs ordinateurs, en utilisant jusqu'à 100 % du matériel disponible du serveur pour traiter simultanément plusieurs charges de travail. Cela réduit le nombre de serveurs, allège la charge pesant sur les installations des centres de données, améliore la flexibilité informatique et réduit les coûts informatiques pour l'entreprise.
La virtualisation a révolutionné l'informatique d'entreprise, mais ses nombreux avantages sont parfois tempérés par des facteurs tels que la complexité des licences et de la gestion, ainsi que par des problèmes potentiels de disponibilité et d'indisponibilité. Les entreprises doivent comprendre ce qu'est la virtualisation, comment elle fonctionne, ses avantages et ses inconvénients, ainsi que ses cas d'utilisation. Ce n'est qu'alors qu'une entreprise pourra adopter et déployer efficacement la virtualisation dans l'ensemble de son centre de données.
Pourquoi la virtualisation des serveurs est-elle importante ?
Pour apprécier le rôle de la virtualisation dans l'entreprise moderne, il convient de se pencher brièvement sur l'histoire des technologies de l'information.
La virtualisation n'est pas une idée nouvelle. Cette technologie est apparue dans les années 1960, au début de l'ère des ordinateurs centraux, comme moyen de prendre en charge le partage du temps sur les ordinateurs centraux, qui divise les ressources matérielles considérables de ces derniers pour exécuter plusieurs charges de travail simultanément. La virtualisation était une solution idéale et essentielle pour les ordinateurs centraux, car leur coût et leur complexité élevés les limitaient à un seul système déployé. Les organisations devaient donc tirer le meilleur parti de leur investissement.
L'avènement des architectures informatiques x86 a permis l'apparition, dans les années 1980, d'appareils informatiques facilement accessibles, simples et peu coûteux. Les organisations ont abandonné les ordinateurs centraux au profit de systèmes informatiques individuels pour héberger ou servir chaque application d'entreprise à un nombre croissant d'utilisateurs ou d'ordinateurs clients. Les ordinateurs individuels de type x86 étant simples et limités en termes de puissance de traitement, de mémoire et de capacité de stockage, les ordinateurs x86 et leurs systèmes d'exploitation (OS) ne pouvaient généralement prendre en charge qu'une seule application. Un grand ordinateur partagé a été remplacé par de nombreux petits ordinateurs bon marché. La virtualisation n'était plus nécessaire et son utilisation a disparu avec les ordinateurs centraux.
Mais deux facteurs ont favorisé le retour de la technologie de virtualisation dans les entreprises modernes. Tout d'abord, le matériel informatique a évolué rapidement et de manière spectaculaire. Au début des années 2000, les serveurs d'entreprise classiques étaient généralement équipés de plusieurs processeurs et disposaient d'une mémoire et d'un espace de stockage bien supérieurs à ce que la plupart des applications d'entreprise pouvaient réellement utiliser. Cela a entraîné un gaspillage de ressources et d'investissements, car la capacité de calcul excédentaire de chaque serveur restait inutilisée. Il était courant de trouver un serveur d'entreprise n'utilisant que 15 à 25 % de ses ressources disponibles.
Le deuxième facteur était une limite stricte en matière d'installations. Les organisations se contentaient d'acheter et de déployer des serveurs supplémentaires à mesure que de nouvelles charges de travail venaient s'ajouter au répertoire des applications d'entreprise. Au fil du temps, le nombre considérable de serveurs en service risquait de saturer l'espace physique, la capacité de refroidissement et la disponibilité électrique d'un centre de données. Au début des années 2000, la disponibilité, la distribution et le coût de l'énergie suscitaient de vives inquiétudes. La tendance à la multiplication des serveurs et au gaspillage des ressources n'était pas viable.
La virtualisation des serveurs a refait surface à la fin des années 1990 avec plusieurs produits et services de base, mais ce n'est qu'avec la sortie du produit ESX Server 1.0 de VMware en 2001 que les entreprises ont enfin eu accès à une plateforme logicielle de virtualisation prête à l'emploi. Les années suivantes ont vu l'arrivée de nouveaux produits de virtualisation, tels que Xen Project, Hyper-V de Microsoft avec Windows Server 2008 et d'autres. La virtualisation a gagné en stabilité et en performances, et l'introduction de Docker en 2013 a marqué le début de l'ère des conteneurs virtualisés, offrant une vitesse et une évolutivité supérieures pour les architectures d'applications microservices par rapport aux machines virtuelles traditionnelles.
Les plateformes de virtualisation actuelles reprennent les mêmes principes fonctionnels que leurs homologues mainframe d'autrefois. La virtualisation dissocie les logiciels du matériel sous-jacent, ce qui lui permet de provisionner et de gérer les ressources virtualisées comme des instances logiques isolées et indépendantes. Elle transforme ainsi un serveur physique en plusieurs serveurs virtuels, chacun capable de fonctionner indépendamment pour prendre en charge plusieurs applications s'exécutant simultanément sur le même ordinateur physique.
La virtualisation des serveurs revêt une importance capitale, car elle résout deux problèmes qui ont longtemps affecté l'informatique d'entreprise au début du XXIe siècle. La virtualisation réduit le nombre de serveurs physiques, ce qui permet à une organisation de réduire le nombre de serveurs physiques dans son centre de données ou d'exécuter beaucoup plus de charges de travail sans ajouter de serveurs. Cette technique est appelée « consolidation des serveurs ». La réduction du nombre de serveurs permet également d'économiser de l'espace, de l'énergie et du refroidissement dans le centre de données, ce qui peut souvent éviter, voire éliminer, la nécessité de construire de nouvelles installations. En outre, les plateformes de virtualisation offrent généralement des fonctionnalités puissantes telles que la gestion centralisée des machines virtuelles, la migration des machines virtuelles (qui permet de déplacer facilement une machine virtuelle d'un système à un autre) et la protection des charges de travail/données grâce à des sauvegardes et des instantanés.
La virtualisation a également constitué la pierre angulaire des services cloud modernes. En contribuant à surmonter les limites des environnements de serveurs physiques, la virtualisation a fourni un mécanisme essentiel permettant la mise en place de centres de données flexibles, hautement consolidés, très efficaces et pilotés par des logiciels, qui sont indispensables au cloud computing pratique. Il n'y aurait pas de cloud sans la virtualisation des serveurs et d'autres technologies de virtualisation telles que la virtualisation des réseaux.
Comment fonctionne la virtualisation des serveurs ?
La virtualisation des serveurs fonctionne en isolant le matériel informatique de tous les logiciels susceptibles de fonctionner sur ce matériel. Cette abstraction est réalisée par un hyperviseur, un logiciel spécialisé qui doit être installé sur un ordinateur physique. Il existe de nombreux hyperviseurs dans le domaine des entreprises, notamment Microsoft Hyper-V et VMware vSphere.
L'introduction ultérieure des conteneurs virtuels comme alternative à la virtualisation utilise une variante d'hyperviseur appelée moteur de conteneur, telle que Docker ou Apache Mesos. Bien que les caractéristiques et les comportements des conteneurs soient légèrement différents de ceux de leurs homologues VM, les objectifs sous-jacents d'abstraction, d'approvisionnement et de gestion des ressources sont identiques.
L'abstraction reconnaît les ressources physiques de l'ordinateur, notamment les processeurs, la mémoire, les volumes de stockage et les interfaces réseau, et crée des alias logiques pour ces ressources. Par exemple, un processeur physique peut être abstrait en une représentation logique appelée CPU virtuel ou vCPU. L'hyperviseur est chargé de gérer toutes les ressources virtuelles qu'il abstrait et traite tous les échanges de données entre les ressources virtuelles et leurs équivalents physiques.
La véritable puissance d'un hyperviseur ne réside pas dans l'abstraction, mais dans ce qu'il est possible de faire avec ces ressources abstraites. Un hyperviseur utilise des ressources virtualisées pour créer des représentations logiques d'ordinateurs, ou machines virtuelles (VM). Une VM se voit attribuer des processeurs, de la mémoire, du stockage, des adaptateurs réseau et d'autres éléments virtualisés (tels que des GPU) gérés par l'hyperviseur. Lorsqu'un hyperviseur provisionne une VM, l'instance logique qui en résulte est complètement isolée du matériel sous-jacent et de toutes les autres VM établies par l'hyperviseur. Cela signifie qu'une VM n'a aucune dépendance directe ni aucune connaissance de l'ordinateur physique sous-jacent ou de toute autre VM susceptible de partager les ressources de l'ordinateur physique.
Cette isolation logique, combinée à une gestion rigoureuse des ressources, permet à un hyperviseur de créer et de contrôler simultanément plusieurs machines virtuelles sur le même ordinateur physique, chacune d'entre elles pouvant fonctionner comme un ordinateur complet et pleinement opérationnel. La virtualisation permet à une organisation de créer plusieurs serveurs virtuels à partir d'un seul serveur physique. Une fois qu'une machine virtuelle est établie, elle nécessite l'installation d'une suite complète de logiciels, y compris son propre système d'exploitation, ses pilotes, ses bibliothèques et l'application d'entreprise souhaitée. Cela permet à une organisation d'utiliser plusieurs systèmes d'exploitation pour prendre en charge un large éventail de charges de travail sur le même ordinateur physique. Par exemple, une machine virtuelle peut utiliser une version Windows Server pour exécuter une application Windows, tandis qu'une autre machine virtuelle sur le même ordinateur peut utiliser une variante Linux pour exécuter une application Linux.
L'abstraction rendue possible par la virtualisation confère aux machines virtuelles une flexibilité extraordinaire, impossible à obtenir avec les ordinateurs physiques traditionnels et les installations logicielles physiques. Toutes les machines virtuelles existent et s'exécutent dans l'espace mémoire physique d'un ordinateur. Elles peuvent donc être facilement enregistrées sous forme de fichiers image mémoire ordinaires. Ces fichiers enregistrés peuvent être utilisés pour créer rapidement des duplicatas ou des clones de machines virtuelles sur le même ordinateur ou sur d'autres ordinateurs de l'entreprise, ou pour enregistrer la machine virtuelle à un moment donné. De même, une VM peut être facilement déplacée d'un ordinateur virtualisé à un autre en copiant simplement la VM souhaitée de l'espace mémoire d'un ordinateur source vers un espace mémoire d'un ordinateur cible, puis en supprimant la VM d'origine de l'ordinateur source. Dans la plupart des cas, la migration peut avoir lieu sans perturber la VM ou l'expérience utilisateur.
Bien que la virtualisation permette de créer plusieurs ordinateurs logiques à partir d'un seul ordinateur physique, le nombre réel de machines virtuelles pouvant être créées est limité par les ressources physiques présentes sur l'ordinateur hôte et les exigences informatiques imposées par les applications d'entreprise exécutées sur ces machines virtuelles. Par exemple, un ordinateur doté de quatre processeurs et de 64 Go de mémoire peut héberger jusqu'à quatre machines virtuelles, chacune disposant d'un processeur virtuel et de 16 Go de mémoire virtualisée. Une fois qu'une machine virtuelle est créée, il est possible de modifier les ressources abstraites qui lui sont attribuées afin d'optimiser ses performances et de maximiser le nombre de machines virtuelles hébergées sur le système.
Les ordinateurs plus récents et plus riches en ressources peuvent héberger un plus grand nombre de machines virtuelles, tandis que les systèmes plus anciens ou ceux qui ont des charges de travail intensives en calcul peuvent en héberger moins. Il est possible pour l'hyperviseur d'attribuer des ressources à plusieurs machines virtuelles, une pratique appelée « surengagement », mais cela est déconseillé en raison des pertes de performances informatiques qui en résultent, car le système doit partager dans le temps toutes les ressources surengagées. La disponibilité immédiate de nouveaux ordinateurs puissants rend également le surengagement pratiquement inutile, car les inconvénients du surengagement l'emportent largement sur les avantages liés à l'ajout d'une autre machine virtuelle sur un système physique. Il est plus facile et préférable de simplement provisionner la machine virtuelle supplémentaire sur un autre système où les ressources sont disponibles.
Quels sont les avantages de la virtualisation des serveurs ?
La virtualisation apporte à l'entreprise un large éventail d'avantages technologiques et commerciaux. Voici quelques-uns des avantages les plus importants et les plus courants de la virtualisation :
- Consolidation des serveurs. La virtualisation permettant à un serveur physique d'effectuer le travail de plusieurs serveurs, le nombre total de serveurs dans l'entreprise peut être réduit. C'est ce qu'on appelle la consolidation des serveurs. Par exemple, supposons qu'il y ait actuellement 12 serveurs physiques, chacun exécutant une seule application. Avec la virtualisation, chaque serveur physique pourrait héberger trois machines virtuelles, chacune exécutant une application. L'entreprise n'aurait alors besoin que de quatre serveurs physiques pour exécuter les mêmes 12 charges de travail.
- Infrastructure physique simplifiée. Avec moins de serveurs, le nombre de racks et de câbles dans le centre de données est considérablement réduit. Cela simplifie les déploiements et le dépannage. L'organisation peut atteindre les mêmes objectifs informatiques avec seulement une fraction de l'espace, de l'énergie et du refroidissement requis pour le complément de serveurs physiques.
- Réduction des coûts liés au matériel et aux installations. La consolidation des serveurs réduit les coûts liés au matériel et aux installations des centres de données (n'oubliez pas : moins d'énergie et moins de refroidissement). La consolidation des serveurs par la virtualisation est une stratégie de réduction des coûts importante pour les entreprises qui possèdent un grand nombre de serveurs. Elle a été l'un des principaux moteurs de l'adoption précoce de la virtualisation dans les années 2000.
- Une plus grande polyvalence des serveurs. Chaque machine virtuelle existant en tant qu'instance indépendante, chacune d'entre elles doit exécuter un système d'exploitation indépendant. Cependant, le système d'exploitation peut varier d'une machine virtuelle à l'autre, ce qui permet à l'entreprise de déployer n'importe quelle combinaison de Windows, Linux et d'autres systèmes d'exploitation sur le même matériel physique. Une telle flexibilité est inégalée dans les déploiements de serveurs physiques traditionnels.
- Gestion améliorée. La virtualisation centralise le contrôle des ressources et la création d'instances VM. La virtualisation moderne ajoute une multitude d'outils et de fonctionnalités qui permettent aux administrateurs informatiques de contrôler et de superviser l'environnement virtualisé. À titre d'exemple, les fonctionnalités de migration en direct permettent de déplacer une VM entre deux serveurs physiques sans interrompre la charge de travail. Les fonctionnalités de protection des données, telles que les instantanés, peuvent capturer l'état d'une machine virtuelle à tout moment, ce qui permet de la restaurer rapidement et facilement en cas de pannes ou de sinistres imprévus. La virtualisation se prête bien à la gestion centralisée, permettant aux administrateurs de voir toutes les machines virtuelles de l'environnement et de déployer des correctifs ou des mises à jour avec moins de risques d'erreurs.
Quels sont les inconvénients de la virtualisation des serveurs ?
Bien que la virtualisation des serveurs apporte de nombreux avantages potentiels à l'entreprise, les implications supplémentaires en termes de logiciels et de gestion liées aux logiciels de virtualisation entraînent de nombreux inconvénients potentiels que l'entreprise doit prendre en considération :
- Risques et disponibilité. L'exécution de plusieurs charges de travail sur le même ordinateur physique comporte des risques pour l'entreprise. Avant l'avènement de la virtualisation, une panne de serveur n'affectait que la charge de travail associée. Avec la virtualisation, une panne de serveur peut affecter plusieurs charges de travail, ce qui peut entraîner des perturbations plus importantes pour l'entreprise, ses employés, ses partenaires et ses clients. Les responsables informatiques doivent tenir compte de questions telles que la répartition des charges de travail (quelles machines virtuelles doivent résider sur quels serveurs physiques) et mettre en œuvre des techniques de récupération et de résilience afin de garantir la disponibilité des machines virtuelles critiques à la suite d'une panne de serveur ou d'une autre infrastructure physique.
- Prolifération des machines virtuelles. Les ressources informatiques nécessitent une gestion rigoureuse afin de suivre leur disponibilité, leur utilisation, leur état et leurs performances. Connaître leur existence, leur utilisation et leur fonctionnement est essentiel pour garantir l'efficacité des centres de données. Un défi permanent lié à la virtualisation et aux machines virtuelles est la création et l'abandon éventuel, parfois involontaire, de machines virtuelles. Les machines virtuelles inutilisées ou inutiles continuent de consommer de précieuses ressources serveur, mais ne fournissent que peu de travail utile. Parallèlement, ces ressources ne sont pas disponibles pour d'autres machines virtuelles. Au fil du temps, les machines virtuelles prolifèrent et l'entreprise manque de ressources, ce qui l'oblige à réaliser des investissements imprévus dans des capacités supplémentaires. Ce phénomène est appelé « prolifération des machines virtuelles » ou « prolifération des serveurs virtuels ». Les machines virtuelles inutiles doivent être identifiées et mises hors service afin de libérer des ressources qui pourront être réutilisées. Une bonne gestion du cycle de vie des charges de travail et des ressources informatiques contribuera à atténuer les problèmes de prolifération, mais il faut des efforts et de la discipline pour y remédier.
- Pénurie de ressources. La virtualisation permet de dépasser l'utilisation normale des ressources du serveur, principalement en matière de mémoire et de réseau. Par exemple, les machines virtuelles peuvent partager le même espace mémoire physique, en s'appuyant sur l'échange de pages classique, qui consiste à déplacer temporairement des pages mémoire vers un disque dur afin que l'espace mémoire puisse être utilisé par une autre application. La virtualisation peut attribuer plus de mémoire que le serveur n'en dispose ; c'est ce qu'on appelle le surengagement de mémoire. Le surengagement n'est pas souhaitable, car la latence supplémentaire liée à l'accès au disque peut ralentir les performances de la machine virtuelle. La bande passante du réseau peut également devenir un goulot d'étranglement, car plusieurs machines virtuelles sur le même serveur se disputent l'accès au réseau. Ces deux problèmes peuvent être résolus en mettant à niveau le serveur hôte ou en redistribuant les machines virtuelles entre les serveurs.
- Licences. L'achat et les licences des logiciels ont un coût qui peut facilement être négligé. Les hyperviseurs et les outils de gestion associés compatibles avec la virtualisation imposent des coûts supplémentaires à l'entreprise, et les licences des hyperviseurs doivent être surveillées attentivement afin de respecter les conditions générales des contrats de licence des logiciels. Les violations de licence peuvent entraîner des poursuites judiciaires et des sanctions financières importantes pour l'entreprise en infraction. De plus, les machines virtuelles bare metal nécessitent des systèmes d'exploitation indépendants, ce qui implique l'achat de licences pour chaque déploiement de système d'exploitation.
- Expérience. La mise en œuvre et la gestion réussies d'un environnement virtualisé dépendent de l'expertise du personnel informatique. La formation et l'expérience sont essentielles pour garantir que les ressources sont fournies de manière efficace et sécurisée, surveillées et récupérées en temps opportun, et protégées de manière appropriée afin d'assurer la disponibilité continue de chaque charge de travail. Les politiques d'entreprise jouent un rôle important dans l'utilisation des ressources, car elles permettent de définir comment les nouvelles machines virtuelles sont demandées, approuvées, provisionnées et gérées tout au long de leur cycle de vie. Heureusement, la virtualisation est aujourd'hui une technologie mature et largement adoptée, ce qui offre de nombreuses possibilités de formation et de mentorat dans le domaine des hyperviseurs et de la gestion de la virtualisation.
Cas d'utilisation et applications
La virtualisation s'est révélée être une technologie fiable et polyvalente qui s'est répandue dans la plupart des centres de données au cours des deux dernières décennies. Cependant, les entreprises peuvent encore se poser des questions importantes concernant les cas d'utilisation et les applications appropriés pour le déploiement de la virtualisation. Aujourd'hui, la virtualisation des serveurs peut être appliquée à un large éventail de cas d'utilisation, de projets et d'objectifs commerciaux, notamment les suivants :
- Consolidation des serveurs. La consolidation est le cas d'utilisation par excellence de la virtualisation des serveurs. C'est elle qui a fait connaître la virtualisation. La consolidation consiste à traduire les charges de travail physiques en machines virtuelles, puis à migrer ces machines virtuelles vers un nombre réduit de serveurs physiques. Cela permet de réduire le nombre de serveurs, de diminuer les coûts d'achat et de maintenance des serveurs, de libérer de l'espace dans le centre de données et de réduire les besoins en énergie et en refroidissement pour l'informatique. La virtualisation permet au service informatique d'en faire plus avec moins et d'économiser de l'argent en même temps. La consolidation est peut-être aujourd'hui un cas d'utilisation évident, mais elle reste l'un des principaux moteurs de la virtualisation.
- Développement et tests. Bien que la virtualisation des serveurs prenne en charge les environnements de production et les charges de travail, la flexibilité et la facilité qu'elle apporte au provisionnement et au déploiement des machines virtuelles en font un outil idéal pour les initiatives de développement et de test. Il est très simple de provisionner une machine virtuelle pour tester une nouvelle version logicielle, d'expérimenter différentes configurations, optimisations et intégrations (en faisant communiquer plusieurs machines virtuelles) et de valider la récupération des charges de travail dans le cadre de tests de reprise après sinistre. Ces machines virtuelles sont souvent temporaires et peuvent être supprimées une fois les tests terminés afin d'éviter une prolifération indésirable.
- Améliorez la disponibilité. Les logiciels de virtualisation comprennent généralement un ensemble de fonctionnalités qui permettent d'améliorer la fiabilité et la disponibilité des charges de travail exécutées dans les machines virtuelles. À titre d'exemple, la migration en direct permet de déplacer une machine virtuelle d'un serveur physique à un autre sans interrompre la charge de travail. Les machines virtuelles peuvent être déplacées depuis des machines ou des systèmes en difficulté ou dont la maintenance est prévue, sans interruption notable. Des fonctions telles que le redémarrage prioritaire des machines virtuelles garantissent que les machines virtuelles les plus importantes (celles qui exécutent des charges de travail et des services critiques ou qui ont des dépendances) sont redémarrées avant les autres machines virtuelles afin de rationaliser les redémarrages après des perturbations. Des fonctionnalités telles que les instantanés permettent de conserver des copies récentes des machines virtuelles, ce qui protège ces dernières et permet un redémarrage rapide avec peu ou pas de perte de données. D'autres fonctionnalités de disponibilité aident plusieurs instances d'une même charge de travail à partager le trafic et les charges de traitement, ce qui permet de maintenir la disponibilité de la charge de travail en cas de défaillance d'une machine virtuelle. La virtualisation est devenue un élément central des plans de maintenance et de reprise après sinistre.
- Centralisation. Avant la virtualisation des serveurs, il incombait au personnel informatique de suivre les applications et les serveurs associés. La virtualisation apporte des outils puissants qui permettent de découvrir, d'organiser, de suivre et de gérer toutes les machines virtuelles fonctionnant dans l'environnement à partir d'un seul et même écran, afin de fournir aux administrateurs informatiques une vue d'ensemble du paysage des machines virtuelles, ainsi que toutes les alertes ou tous les problèmes pouvant nécessiter une attention particulière. De plus, les outils de virtualisation sont parfaitement adaptés aux technologies d'automatisation et d'orchestration, permettant la création et la gestion autonomes de machines virtuelles afin d'accélérer les tâches d'administration informatique.
- Prise en charge multi-plateforme. Chaque machine virtuelle exécute son propre système d'exploitation unique. La virtualisation s'est imposée comme un moyen pratique de prendre en charge plusieurs systèmes d'exploitation sur un seul serveur physique, ainsi que sur l'ensemble des serveurs d'un centre de données. Les entreprises peuvent exécuter les combinaisons souhaitées de Windows, Linux et d'autres systèmes d'exploitation sur le même matériel serveur x86, qui est entièrement abstrait par l'hyperviseur de virtualisation.
Il existe très peu de charges de travail d'entreprise qui ne peuvent pas fonctionner correctement dans une machine virtuelle. Il s'agit notamment des applications héritées qui dépendent d'un accès direct à des périphériques matériels serveur spécifiques pour fonctionner, tels qu'un modèle ou un type de processeur spécifique. De telles préoccupations sont rares aujourd'hui et devraient continuer à s'atténuer à mesure que les applications héritées sont inévitablement révisées et mises à jour au fil du temps.
Quels sont les types de virtualisation de serveurs ?
La virtualisation est réalisée grâce à plusieurs techniques éprouvées : l'utilisation de machines virtuelles, l'utilisation de la paravirtualisation et la mise en œuvre de la virtualisation hébergée par le système d'exploitation.
Modèle VM
Le modèle VM est l'approche de virtualisation la plus populaire et la plus largement mise en œuvre, utilisée par VMware et Microsoft. Cette approche utilise un hyperviseur basé sur un moniteur de machine virtuelle (VMM) qui est généralement appliqué directement sur le matériel informatique. Ces hyperviseurs sont généralement appelés « Type 1 », « virtualisation complète » ou « virtualisation bare-metal », et ne nécessitent aucun système d'exploitation dédié sur l'ordinateur hôte. En fait, un hyperviseur bare metal est souvent considéré comme un système d'exploitation de virtualisation, c'est-à-dire un système d'exploitation à part entière. Le terme « VM hôte » est souvent appliqué à une VM principale exécutant le logiciel de gestion du serveur ou une autre charge de travail principale, bien que les hyperviseurs de type 1 désignent ou requièrent rarement une VM hôte aujourd'hui.
L'hyperviseur est chargé d'abstraire et de gérer les ressources de l'ordinateur hôte, telles que les processeurs et la mémoire, puis de fournir ces ressources abstraites à une ou plusieurs instances de VM. Chaque VM existe en tant qu'invité au-dessus de l'hyperviseur. Les VM invitées sont complètement isolées logiquement de l'hyperviseur et des autres VM. Chaque VM nécessite son propre système d'exploitation invité, ce qui permet aux organisations d'utiliser différentes versions de systèmes d'exploitation sur le même ordinateur physique.
Paravirtualisation
Les premiers hyperviseurs bare metal étaient confrontés à des limitations de performances. La paravirtualisation a vu le jour pour résoudre ces problèmes de performances initiaux en modifiant le système d'exploitation hôte afin qu'il reconnaisse et interagisse avec un hyperviseur via des commandes appelées hypercalls. Une fois la modification réussie, l'ordinateur virtualisé pouvait créer et gérer des machines virtuelles invitées. Les systèmes d'exploitation installés dans les machines virtuelles invitées pouvaient utiliser des systèmes d'exploitation variés et non modifiés, ainsi que des applications non modifiées.
Le principal défi de la paravirtualisation réside dans la nécessité d'un système d'exploitation hôte (et dans la nécessité de modifier ce système d'exploitation hôte) pour prendre en charge la virtualisation. Les systèmes d'exploitation propriétaires non modifiés, tels que Microsoft Windows, ne prennent pas en charge un environnement paravirtualisé, et un hyperviseur paravirtualisé, tel que Xen, nécessite une prise en charge et des pilotes intégrés au noyau Linux. Cela pose un risque considérable pour les mises à jour et les modifications du système d'exploitation. Une organisation qui passe d'un système d'exploitation à un autre risque de perdre la prise en charge de la paravirtualisation. La popularité de la paravirtualisation a rapidement diminué à mesure que le matériel informatique a évolué pour prendre directement en charge la virtualisation basée sur VMM, par exemple en introduisant des extensions de virtualisation dans le jeu de commandes des processeurs.
Virtualisation hébergée
Bien qu'il soit plus courant d'héberger un hyperviseur directement sur le matériel d'un ordinateur (sans avoir besoin d'un système d'exploitation hôte), un hyperviseur peut également être installé sur un système d'exploitation hôte existant afin de fournir des services de virtualisation à une ou plusieurs machines virtuelles. Ce type de virtualisation est appelé « virtualisation de type 2 » ou « virtualisation hébergée » et est utilisé par des produits tels que Virtuozzo et Solaris Zones. L'hyperviseur de type 2 permet à chaque machine virtuelle de partager le noyau du système d'exploitation hôte sous-jacent ainsi que les binaires et bibliothèques communs, alors que les hyperviseurs de type 1 ne permettent pas un tel partage.
La virtualisation hébergée rend potentiellement les machines virtuelles invitées beaucoup plus efficaces en termes de ressources, car elles partagent un système d'exploitation commun : celui-ci n'a pas besoin d'être dupliqué pour chaque machine virtuelle. Par conséquent, la virtualisation hébergée peut potentiellement prendre en charge des centaines, voire des milliers d'instances de machines virtuelles sur le même système. Cependant, le système d'exploitation commun offre un vecteur unique de défaillance ou d'attaque : si le système d'exploitation hôte est compromis, toutes les machines virtuelles fonctionnant sur l'hyperviseur sont également susceptibles d'être compromises.
L'efficacité des machines virtuelles hébergées a donné naissance au développement des conteneurs. Le concept de base des conteneurs est identique à celui de la virtualisation hébergée, où un hyperviseur est installé au-dessus d'un système d'exploitation hôte et où toutes les instances virtuelles partagent le même système d'exploitation. Mais la couche hyperviseur (par exemple, Docker et Apache Mesos) est spécialement conçue pour les volumes élevés de petites machines virtuelles efficaces destinées à partager des composants ou des dépendances communs, tels que des binaires et des bibliothèques. Les conteneurs ont connu une croissance significative avec les architectures logicielles basées sur les microservices, où des composants agiles et hautement évolutifs sont déployés et supprimés rapidement de l'environnement.
Meilleures pratiques en matière de migration et de déploiement
La virtualisation apporte des fonctionnalités puissantes à l'informatique d'entreprise, mais elle nécessite une couche logicielle supplémentaire qui exige une gestion minutieuse et réfléchie, en particulier dans les domaines du déploiement et de la migration des machines virtuelles.
Une machine virtuelle peut être créée à la demande, en la construisant manuellement via l'approvisionnement en ressources et la configuration d'un ensemble d'éléments, puis en installant le système d'exploitation et l'application. Bien qu'un processus manuel puisse convenir pour des tests ponctuels ou des cas d'utilisation spécialisés, tels que l'évaluation de logiciels, le déploiement peut être considérablement accéléré à l'aide de modèles qui prédéfinissent les ressources, la configuration et le contenu d'une machine virtuelle souhaitée. Un modèle définit la machine virtuelle, qui peut ensuite être créée automatiquement, rapidement et avec précision, puis dupliquée selon les besoins. Les principaux hyperviseurs et outils de gestion associés prennent en charge l'utilisation de modèles, notamment Hyper-V et vSphere.
Les modèles sont importants dans les environnements informatiques d'entreprise. Ils apportent cohérence et prévisibilité à la création de machines virtuelles, garantissant ainsi :
- Les ressources sont fournies de manière optimale.
- La sécurité est correctement configurée, par exemple en ajoutant des machines virtuelles protégées dans Hyper-V.
- Tous les contenus ajoutés à la VM, tels que les systèmes d'exploitation, sont correctement licenciés.
- La machine virtuelle est déployée sur des serveurs adaptés afin d'observer la charge des serveurs, l'équilibrage de charge du réseau et d'autres facteurs dans le centre de données.
Les modèles permettent non seulement de rationaliser les efforts informatiques et d'améliorer les performances de la charge de travail, mais aussi de refléter les politiques commerciales de l'organisation et de renforcer les exigences de conformité. Des outils tels que Microsoft System Center Virtual Machine Manager, Packer et PowerCLI peuvent aider à créer et à déployer des modèles.
La migration est un deuxième aspect essentiel du processus et de la pratique de la virtualisation. Différents hyperviseurs peuvent offrir différents ensembles de fonctionnalités et ne sont pas interopérables à 100 %. Une organisation peut choisir d'utiliser plusieurs hyperviseurs, mais le transfert d'une machine virtuelle existante d'un hyperviseur à un autre nécessite un moyen de migrer les machines virtuelles créées pour un hyperviseur afin qu'elles fonctionnent sur un autre hyperviseur. Prenons l'exemple d'une migration de Hyper-V vers VMware, où un outil tel que VMware vCenter Converter peut aider à migrer des machines virtuelles en masse.
Les migrations impliquent généralement de prendre en compte l'inventaire actuel des machines virtuelles, qui doit détailler le nombre de machines virtuelles, la capacité du système de destination et les dépendances. Les administrateurs peuvent sélectionner les machines virtuelles sources, définir les machines virtuelles de destination (y compris les dossiers de destination), installer les agents nécessaires à la conversion, définir les options de migration telles que le format de la machine virtuelle et soumettre la tâche de migration pour exécution. Il est souvent possible de définir des calendriers de migration, ce qui permet aux administrateurs de définir les heures et les groupes de migration souhaités afin que les machines virtuelles concernées puissent être déplacées dans le meilleur ordre possible, à un moment où les effets sont minimisés.
Ces migrations d'hyperviseurs ne sont ni rapides ni faciles. La décision de changer d'hyperviseur et de migrer des machines virtuelles d'un hyperviseur à un autre doit être soigneusement testée et validée bien avant toute initiative de migration réelle.
Gestion de la virtualisation des serveurs
La gestion de la virtualisation au sein d'une entreprise nécessite à la fois une expérience pratique, des politiques claires, une planification rigoureuse et des outils performants. La gestion de la virtualisation peut généralement être clarifiée grâce à une série de bonnes pratiques courantes qui mettent l'accent sur le rôle de l'infrastructure ainsi que sur celui de l'entreprise :
- Ayez un plan. N'adoptez pas la virtualisation pour elle-même. La virtualisation des serveurs offre des avantages significatifs, mais elle comporte également des coûts et des complexités à prendre en compte. Une organisation qui envisage d'adopter la virtualisation pour la première fois doit clairement comprendre pourquoi et où cette technologie s'inscrit dans son plan d'affaires. De même, les organisations qui ont déjà virtualisé certaines parties de leur environnement doivent comprendre pourquoi et comment l'extension du rôle de la virtualisation sera bénéfique pour leur activité. La réponse peut être aussi évidente qu'un projet de consolidation des serveurs pour réaliser des économies, ou un moyen de soutenir des projets de développement logiciel actifs en dehors de l'environnement de production. Quels que soient les facteurs déterminants, élaborez un plan avant de vous lancer dans une initiative de virtualisation.
- Évaluez le matériel. Évaluez l'ampleur du projet. Les logiciels de virtualisation, qu'il s'agisse d'hyperviseurs ou d'outils de gestion, doivent être achetés et entretenus. Déterminez le nombre de systèmes et d'applications à virtualiser, puis examinez l'infrastructure afin de vérifier que le matériel est compatible avec la virtualisation. La quasi-totalité du matériel actuel des centres de données est adaptée à la virtualisation, mais il est préférable de procéder à une vérification préalable afin d'éviter de découvrir une incompatibilité ou un matériel inadéquat lors de l'installation.
- Testez et apprenez. Tout nouveau déploiement de virtualisation est généralement précédé d'une période de tests et d'expérimentation, en particulier lorsque la technologie est nouvelle pour l'organisation et l'équipe informatique. Les équipes informatiques doivent avoir une connaissance approfondie du fonctionnement d'une plateforme de virtualisation avant qu'elle ne soit déployée et utilisée dans un environnement de production. Même lorsque la virtualisation est déjà présente, le passage à la virtualisation de nouvelles charges de travail, en particulier les charges de travail critiques, doit s'accompagner de projets détaillés de validation de principe afin d'apprendre à utiliser les outils et de valider le processus. Les petites organisations peuvent faire appel à des prestataires de services et à des consultants si nécessaire.
- Concentrez-vous sur l'activité. La virtualisation doit être déployée et utilisée en fonction des besoins de l'entreprise, en tenant compte notamment de la sécurité, de la conformité réglementaire, de la continuité des activités, de la reprise après sinistre et du cycle de vie des machines virtuelles (provisionnement, utilisation, puis récupération des ressources). Les outils de gestion informatique doivent prendre en charge la virtualisation et s'adapter de manière appropriée à toutes ces considérations commerciales.
- Commencez modestement et développez progressivement. Les organisations qui découvrent la virtualisation des serveurs doivent commencer par une période de test et d'expérimentation avec des déploiements de virtualisation modestes et non critiques, tels que des serveurs de test et de développement. Recherchez les gains modestes et rapides pour acquérir de l'expérience, apprendre à résoudre les problèmes et démontrer la valeur de la virtualisation tout en minimisant les risques. Une fois qu'elle aura acquis une certaine expertise, l'organisation pourra planifier et exécuter des projets de virtualisation plus complexes.
- Adoptez des directives. À mesure que l'organisation adopte la virtualisation des serveurs, il convient de créer et d'adopter des directives relatives à l'approvisionnement, à la surveillance et au cycle de vie des machines virtuelles. Les ressources informatiques ont un coût. Les directives peuvent aider à codifier les processus et les pratiques qui permettent à une organisation de gérer ces coûts, d'éviter le gaspillage des ressources en empêchant le surprovisionnement et la prolifération des machines virtuelles, et de maintenir des comportements cohérents liés aux questions de sécurité et de conformité. Les directives doivent être révisées et mises à jour régulièrement.
- Sélectionnez un outil. Les outils de gestion de la virtualisation ne sont généralement pas la première considération dans la stratégie de virtualisation d'une organisation. Les plateformes de virtualisation comprennent généralement des outils de base, et il est recommandé de se familiariser avec ces outils dès les premières étapes de l'adoption de la virtualisation. À terme, les entreprises peuvent trouver avantageux d'adopter des outils plus complets et plus puissants qui prennent en charge des environnements de virtualisation vastes et sophistiqués. À ce stade, l'entreprise et le personnel informatique auront une idée précise des caractéristiques et des fonctionnalités requises d'un outil, des raisons pour lesquelles ces caractéristiques sont nécessaires et des avantages qu'elles apporteront à l'entreprise. Les outils de gestion de la virtualisation des serveurs sont sélectionnés en fonction d'un large éventail de critères, notamment les coûts de licence, la compatibilité multiplateforme prenant en charge plusieurs hyperviseurs de différents fournisseurs, la prise en charge des modèles et de l'automatisation, le contrôle direct des machines virtuelles et du stockage, et même le potentiel de libre-service et de refacturation, permettant à d'autres services ou utilisateurs de provisionner des machines virtuelles et de recevoir une facture s'ils le souhaitent. Les organisations peuvent choisir parmi de nombreux outils de surveillance de la virtualisation des serveurs qui varient en termes de fonctionnalités, de complexité, de compatibilité et de coût. Les fournisseurs de virtualisation fournissent généralement des outils destinés aux hyperviseurs spécifiques du fournisseur. Par exemple, Microsoft System Center prend en charge Hyper-V, tandis que vCenter Server est adapté aux hyperviseurs VMware. Mais les organisations peuvent également opter pour des outils tiers, notamment ManageEngine Applications Manager, SolarWinds Virtualization Manager et Veeam One.
- Prise en charge de l'automatisation. La virtualisation se prête aux techniques d'automatisation et d'orchestration qui permettent d'accélérer les tâches courantes d'approvisionnement et de gestion tout en garantissant une exécution cohérente, en minimisant les erreurs, en atténuant les risques de sécurité et en renforçant la conformité. En général, les outils prennent en charge l'automatisation, mais il faut l'expérience et la perspicacité humaines pour codifier les pratiques et les processus établis en une automatisation appropriée. L'adoption de conteneurs virtuels dépend étroitement de l'automatisation et de l'orchestration - et utilise des outils bien conçus tels que Kubernetes - pour gérer un environnement conteneurisé.
Fournisseurs et produits
Il existe de nombreuses offres de virtualisation sur le marché actuel, mais le choix des fournisseurs et des produits dépend souvent fortement des objectifs de virtualisation et des infrastructures informatiques en place. Les organisations qui ont besoin d'hyperviseurs bare metal (de type 1) pour leurs charges de travail de production peuvent généralement choisir entre VMware vSphere, Microsoft Hyper-V, Citrix Hypervisor, IBM Red Hat Enterprise Virtualization (RHEV) et Oracle VM Server pour x86. VMware domine le paysage actuel de la virtualisation grâce à ses nombreuses fonctionnalités et à sa polyvalence. Microsoft Hyper-V est un choix courant pour les organisations qui ont déjà standardisé leurs plateformes Microsoft Windows Server. RHEV est couramment utilisé dans les environnements Linux.
Les hyperviseurs hébergés de type 2 sont également courants dans les environnements de test et de développement, ainsi que dans les terminaux multi-plateformes, tels que les PC qui doivent exécuter des applications Windows et Mac. Parmi les offres les plus populaires, on trouve VMware Workstation, VMware Fusion, VMware Horizon, Oracle VM VirtualBox et Parallels Desktop. Les multiples offres de VMware fournissent une virtualisation à usage général, prenant en charge les systèmes d'exploitation Windows et Linux et les applications sur le matériel Mac, ainsi que le déploiement d'une infrastructure de bureau virtuel dans toute l'entreprise. Le produit d'Oracle est également à usage général, prenant en charge plusieurs systèmes d'exploitation sur un seul système de bureau. Les hyperviseurs de Parallels prennent en charge les systèmes d'exploitation non Mac sur le matériel Mac.
Les hyperviseurs peuvent varier considérablement en termes de caractéristiques et de fonctionnalités. Par exemple, lorsqu'ils comparent vSphere et Hyper-V, les décideurs prennent généralement en compte des aspects tels que la manière dont les deux hyperviseurs gèrent l'évolutivité (le nombre total de processeurs et de clusters pris en charge par l'hyperviseur), la gestion dynamique de la mémoire, les questions de coût et de licence, ainsi que la disponibilité et la diversité des outils de gestion de la virtualisation.
Mais certains produits sont également conçus pour des tâches avancées spécifiques à certaines missions. Si l'on compare vSphere ESXi à Nutanix, Nutanix AHV apporte à la virtualisation d'entreprise une infrastructure hyperconvergée (HCI), un stockage défini par logiciel et sa plateforme de gestion Prism. Cependant, AHV est destiné uniquement à la HCI ; les organisations qui ont besoin d'une virtualisation et d'outils plus polyvalents pourraient se tourner vers la plateforme VMware, plus mature.
Les entreprises peuvent également choisir entre Xen (commercialisé sous le nom de Citrix Hypervisor) et les hyperviseurs Linux KVM. Les deux peuvent exécuter plusieurs systèmes d'exploitation simultanément, offrant ainsi une grande flexibilité réseau, mais le choix dépend souvent de l'infrastructure sous-jacente et de l'intérêt pour le cloud. Aujourd'hui, Amazon réduit son support pour Xen et opte pour KVM, ce qui peut influencer le choix d'hyperviseur des entreprises préoccupées par l'intégration des logiciels de virtualisation avec tout fournisseur de cloud potentiel.
Le choix d'un hyperviseur ne doit être fait qu'après une longue période d'évaluation, de tests et d'expérimentation. Les responsables informatiques et commerciaux doivent avoir une compréhension claire des compatibilités, des performances et des nuances techniques d'un hyperviseur préféré, ainsi qu'une image complète des coûts et des implications en matière de licence de l'hyperviseur et des outils de gestion.
Quel est l'avenir de la virtualisation des serveurs ?
La virtualisation des serveurs a beaucoup évolué au cours des deux dernières décennies. Aujourd'hui, elle est largement considérée comme un produit de base. C'est un élément incontournable, couramment utilisé et presque obligatoire dans toute infrastructure informatique d'entreprise moderne. Les hyperviseurs sont également devenus des produits de base, avec peu de fonctionnalités nouvelles ou innovantes permettant de se démarquer de la concurrence sur le marché. L'avenir de la virtualisation des serveurs ne repose pas sur les hyperviseurs, mais plutôt sur la manière dont elle peut soutenir les initiatives commerciales essentielles.
Tout d'abord, la virtualisation des serveurs n'est pas une technologie exclusive. Un type d'hyperviseur peut ne pas être idéal pour toutes les tâches, et les hyperviseurs bare metal, hébergés et basés sur des conteneurs peuvent coexister dans le même centre de données pour remplir toute une série de rôles spécifiques. Les organisations qui ont standardisé un type de virtualisation peuvent trouver des raisons de déployer et de gérer d'autres types d'hyperviseurs à l'avenir.
Considérez l'influence croissante des conteneurs. Les machines virtuelles et les conteneurs sont deux types différents de virtualisation, gérés par deux types différents d'hyperviseurs. Pourtant, les machines virtuelles et les conteneurs peuvent parfaitement fonctionner en parallèle dans un centre de données pour gérer différents types de charges de travail d'entreprise.
Deuxièmement, l'influence et l'évolution continues de technologies telles que l'HCI mettront à l'épreuve les limites de la gestion de la virtualisation. Par exemple, les tendances récentes vers la désagrégation ou l'HCI 2.0 fonctionnent en séparant les ressources informatiques et de stockage, et les outils de virtualisation doivent organiser efficacement ces ressources désagrégées en pools et en niveaux, provisionner ces ressources pour les charges de travail et surveiller ces ressources distribuées avec précision.
Les menaces persistantes liées aux failles de sécurité et aux attaques malveillantes renforceront la nécessité de mettre en place des systèmes de journalisation, d'analyse et de reporting, ainsi que de gestion des changements et d'automatisation. Ces facteurs favoriseront l'évolution des outils de gestion de la virtualisation des serveurs (mais pas celle de l'hyperviseur lui-même) et amélioreront la visibilité sur l'environnement pour obtenir des informations et des analyses commerciales.
Regardez vers l'avenir de la gestion de la virtualisation. L'accent mis sur la virtualisation passe des hyperviseurs (ce que vous devez faire) à l'automatisation, l'orchestration et l'intelligence globale disponibles pour rationaliser et aider les administrateurs au quotidien (comment vous devez le faire). Des outils tels que Kubernetes pour les conteneurs Docker, ainsi que des scripts et des modèles, sont absolument essentiels pour réussir le déploiement de conteneurs. Recherchez des technologies d'IA pour ajouter des fonctionnalités d'autonomie, d'analyse et de prédiction aux environnements virtualisés dynamiques.
Enfin, la virtualisation traditionnelle des serveurs continuera à s'intégrer aux clouds et aux plateformes cloud, facilitant ainsi les migrations entre les centres de données et les clouds. VMware Cloud sur AWS et Microsoft Azure Stack sont deux exemples de cette intégration.
Stephen J. Bigelow, rédacteur technique senior chez TechTarget, possède plus de 20 ans d'expérience dans la rédaction technique dans le secteur des PC et des technologies.
Alexander S. Gillis est rédacteur technique pour l'équipe WhatIs chez TechTarget.
