We couldn't find a match for given <KEYWORD>, please try again.

Pourquoi utiliser des conteneurs plutôt que des VM ? | VMware

Les machines virtuelles (VM) et les conteneurs sont complémentaires et similaires - ils améliorent tous deux l’efficacité informatique, la portabilité des applications et les DevOps. Cependant, comprendre la différence entre les deux est un facteur clé du développement d’une stratégie agile, Cloud et axée sur les applications.

  • Les VM résolvent les problèmes d’infrastructure en permettant aux entreprises de mieux tirer parti des serveurs et en facilitant la portabilité limitée des charges de travail.
  • Les conteneurs résolvent les problèmes d’application par l’amélioration des DevOps, la prise en charge de microservices, l’augmentation de la portabilité et l’utilisation optimisée des ressources.

VMware Cloud Foundation intègre vSphere With Kubernetes

Les 5 principales raisons pour lesquelles Kubernetes fonctionne mieux sur VMware vSphere

Quelle est la différence entre les conteneurs et les VM ?

Les VM comprennent le système d’exploitation client avec tout le code de leurs applications et de leurs dépendances qui fonctionnaient précédemment sur un seul serveur ou à partir d’un pool de serveurs. La taille des images de VM se mesure généralement en gigaoctets. Plusieurs machines virtuelles peuvent exister sur un même serveur physique, même si elles fonctionnent sur des systèmes d’exploitation différents. Les VM séparent les serveurs du matériel sous-jacent et persistent généralement pendant toute leur durée de vie.

Les conteneurs partagent le système d’exploitation hôte et n’incluent que les applications et leurs dépendances. La taille des images de conteneur se mesure généralement en mégaoctets. Chaque conteneur fonctionnant sur un même serveur partage le même système d’exploitation sous-jacent. Les conteneurs peuvent donc être mis en service en quelques millisecondes et sont plus efficaces pour les cas d’usage éphémères où des instances doivent être mises en service et hors service en fonction de l’évolution de la demande.

En résumé, en quoi les machines virtuelles et les conteneurs diffèrent-ils ?

Bien que les conteneurs et les machines virtuelles contribuent tous deux à améliorer l’utilisation des ressources informatiques, chacun a ses avantages et ses inconvénients. Les machines virtuelles existent depuis des décennies et permettent aux entreprises de combiner plusieurs serveurs exécutant différentes applications sur un seul serveur physique, même s’ils utilisent des systèmes d’exploitation différents. Cela a permis de réaliser des économies substantielles sur le matériel et les logiciels des serveurs, car ce qui fonctionnait auparavant sur plusieurs serveurs fonctionne désormais sur un seul. Les machines virtuelles sont également à la base de la plupart des services Cloud. AWS, Azure et d’autres Clouds publics utilisent les VM parmi leurs offres standard. Cependant, comme elles encapsulent l’intégralité d’un serveur dans chaque machine virtuelle, la quantité de CPU et de RAM dont les VM ont besoin peut devenir encombrante et limiter le nombre de VM qui peuvent exister sur un seul serveur.

Les conteneurs ont rapidement gagné en popularité depuis la sortie de Docker en 2013, en partie en réponse à surcharge de consommation des VM. Étant donné que les conteneurs reposent sur le système d’exploitation d’un serveur, ils partagent cette instance unique ainsi que d’autres fichiers binaires et bibliothèques. Les conteneurs dont donc seulement besoin de contenir du code d’application, que ce soit sous la forme d’une application monolithique unique ou de microservices regroupés dans un ou plusieurs conteneurs pour couvrir toute une fonction professionnelle.

Ainsi, alors que les machines virtuelles permettent à une entreprise d’exécuter plusieurs serveurs virtuels sur un seul système matériel, quel que soit leur système d’exploitation, les conteneurs offrent une virtualisation des applications légère et à haute densité, la possibilité de mettre en service les applications et les instances en quelques secondes et, dans une certaine mesure, une sécurité inhérente à la séparation des applications dans leurs propres conteneurs.

Quels sont les avantages et les inconvénients de la virtualisation ?

Avantages des VM :

  • Des décennies d’expertise en matière de virtualisation permettent d’accéder à un ensemble éprouvé d’outils de gestion et de sécurité des machines virtuelles
  • Les VM permettent d’exécuter plusieurs applications nécessitant des systèmes d’exploitation différents sur un seul élément d’infrastructure
  • Les VM émulent un environnement informatique complet, y compris toutes les ressources du système d’exploitation
  • Les VM simplifient la portabilité et la migration entre les plates-formes on-premise et les plates-formes Cloud
  • Il existe un vaste écosystème et un marché bien établis pour les VM, avec des leaders du secteur tels que VMware

Inconvénients des VM :

  • Les images de machines virtuelles consomment généralement plusieurs gigaoctets et leur sauvegarde ou leur migration d’une plate-forme à une autre demandent plus de temps
  • Parce qu’elles encapsulent l’intégralité du serveur, système d’exploitation compris, un serveur physique peut prendre en charge moins de machines virtuelles que de conteneurs
  • Le temps de mise en service d’une VM peut prendre quelques minutes

Quels sont les avantages et les inconvénients des conteneurs ?

Avantages des conteneurs :

  • Les conteneurs sont plus légers que les machines virtuelles, car leurs images se mesurent en mégaoctets plutôt qu’en gigaoctets
  • Le déploiement, l’exécution et la gestion des conteneurs nécessitent moins de ressources informatiques
  • Les conteneurs sont opérationnels en quelques millisecondes
  • Comme ils présentent un plus petit ordre de grandeur
  • Un seul système peut héberger bien plus de conteneurs que de machines virtuelles

Inconvénients des conteneurs :

  • Tous les conteneurs doivent fonctionner sous le même système d’exploitation - pas de mélange de systèmes d’exploitation ou de versions
  • Les conteneurs peuvent être moins sécurisés que les VM étant donné que le système d’exploitation sous-jacent est partagé
  • La technologie des conteneurs est plus récente et cet écosystème est toujours en cours d’évolution

Comparaison entre l’utilisation de conteneurs dans les pratiques informatiques traditionnelles ou émergentes

Les VM ont joué et vont continuer à jouer un rôle dans la migration des applications legacy vers les environnements Cloud et hybrides. En raison de la maturité des VM, elles présentent un niveau de confort élevé, ainsi qu’un niveau d’inertie pour les entreprises qui ont opté pour une architecture informatique qui s’articule autour des VM. Par conséquent, les VM vont continuer rester la solution d’abstraction de prédilection pour de nombreuses applications d’entreprise persistantes et monolithiques, en particulier celles qui ne font pas l’objet de mises à jour fréquentes.

En revanche, les conteneurs sont adaptés aux pratiques et aux cas d’usage modernes, tels que l’intégration et livraison continues (CI/CD) dans les environnements DevOps agiles. Les conteneurs améliorent la portabilité des applications entre des configurations extrêmement différentes. Ainsi, une application développée sur un ordinateur portable et testée dans un sandbox peut fonctionner dans le Cloud sans qu’aucune modification ne soit nécessaire pour prendre en charge ces trois environnements. Les conteneurs présentent également une scalabilité quasi illimitée. Les applications reposant sur les microservices, qui séparent l’interaction utilisateur du traitement back-end, permettent aux environnements front-end et back-end d’évoluer séparément, et la légèreté des conteneurs permet de mettre en service de nouvelles instances quasi-instantanément en fonction des besoins. Par ailleurs, l’adoption d’une approche microservices pour le développement encourage le partage de routines de microservices communes entre plusieurs applications et processus métiers, pour une efficacité accrue des développeurs.

Comment le rôle des VM évolue-t-il avec les pratiques informatiques émergentes ?

À mesure que les applications d’apprentissage automatique et d’intelligence artificielle (ML/IA) sont adoptées dans les entreprises, ces applications gourmandes en ressources privilégieront les VM pour leur déploiement. De plus, les nouvelles architectures de réseau telles que la 5G, qui nécessitent une plus grande puissance de calcul en périphérie, favoriseront les VM pour effectuer les tâches lourdes de ces réseaux software-defined.

Grâce à leur délai de mise en service quasi instantané, les conteneurs vont prospérer dans l’univers des applications et des services web modernes orientés client qui ont besoin de scalabilité, et les conteneurs excellent en tant que plates-formes de développement, les codeurs n’ayant plus à se préoccuper des différences qui existent entre les infrastructures de développement et de déploiement.

Enfin, comme les conteneurs ont été conçus à l’origine pour être transitoires, ils se prêtent bien aux démons de réseau, à la mise en mémoire cache et aux fonctions de services Web.

Les conteneurs vont-ils remplacer les VM ou les deux solutions se complètent-t-elles ?

Les conteneurs et les machines virtuelles vont continuer à jouer un rôle important. Les conteneurs peuvent fonctionner sur des machines virtuelles, ce qui permet à une entreprise de continuer à exploiter ses outils existants d’automatisation, de sauvegarde et de surveillance. Les conteneurs exécutés sur des VM permettent aux services informatiques d’utiliser les équipes existantes expertes en VM pour gérer également un environnement conteneurisé. Les VM vont présenter de nouveaux cas d’usage, les entreprises cherchant de nouveaux moyens de tirer parti de la puissance de leur infrastructure ou du Cloud pour gérer les charges de travail d’application et de réseau les plus lourdes.

Solutions et produits connexes

vSphere with Tanzu

Exécutez les charges de travail Kubernetes à l’aide de votre infrastructure informatique existante.

Faire évoluer les applications existantes

Mettez à jour les applications existantes sans refactoring coûteux.