Menu

Conteneurs ou Machines virtuelles : quelle est la différence ?

Doug Jones
Doug Jones
97,215 vues
Selon une étude récente menée par 451 Research, l'adoption des conteneurs d'applications devrait augmenter de 40 % par an d'ici 2020. Les conteneurs favorisent un développement rapide et agile comme jamais auparavant. Toutefois, des questions de base sur les conteneurs demeurent, notamment :
  • En quoi diffèrent-ils des machines virtuelles ?
  • Si les conteneurs sont, par nature, transitoires et amovibles, comment pouvez-vous les utiliser en parallèle du stockage persistant ?
  • Comment viennent-ils compléter les solutions de virtualisation et d'orchestration ?

Machine virtuelle : et conteneur

Dans cet article de blog, nous répondons à la première question : en quoi les machines virtuelles sont-elles différentes des conteneurs ? Qu'est-ce qu'une machine virtuelle ? Jusqu'à présent, alors que la puissance et la capacité de traitement des serveurs augmentaient, les applications bare metal n'étaient pas en mesure d'exploiter cette nouvelle abondance de ressources. C'est ainsi que les machines virtuelles sont nées et ont été conçues : un logiciel est exécuté sur des serveurs physiques pour émuler un système matériel spécifique. Un hyperviseur, ou moniteur de machine virtuelle, est un logiciel, un firmware ou un matériel qui crée et exécute des machines virtuelles. Il se situe entre le matériel et la machine virtuelle et est nécessaire à la virtualisation du serveur.

Dans chaque machine virtuelle, un système d'exploitation invité est exécuté. Les machines virtuelles équipées de différents systèmes d'exploitation peuvent s'exécuter sur le même serveur physique. Ainsi, une machine virtuelle UNIX peut s'exécuter aux côtés d'une machine virtuelle Linux, etc. Chaque machine virtuelle possède ses propres fichiers binaires, bibliothèques et applications, qu'elle dessert, et sa taille peut atteindre plusieurs gigaoctets. 

infographie : virtualisation des machines et conteneurs

La virtualisation des serveurs a apporté de nombreux avantages, l'un des plus importants étant la possibilité de consolider des applications sur un seul système. Auparavant, une seule application était exécutée sur un seul serveur. Cette époque est révolue. La virtualisation a permis de réaliser des économies en réduisant l'empreinte, en accélérant le provisionnement des serveurs et en améliorant la reprise d'activité, car le matériel du site de reprise d'activité n'a plus besoin de mettre en miroir le data center principal.

Le développement a également bénéficié de cette consolidation physique, car une utilisation accrue sur des serveurs plus grands et plus rapides a permis de libérer les serveurs inutilisés pour les affecter à l'assurance qualité, au développement ou au matériel de laboratoire.   Toutefois, cette approche a eu des inconvénients. Chaque machine virtuelle inclut une image distincte du système d'exploitation, ce qui entraîne une surcharge en mémoire et en empreinte du stockage. Il s'avère que ce problème accentue la complexité à toutes les étapes du cycle de développement logiciel, du développement et des tests à la production et à la reprise d'activité. Par ailleurs, cette approche limite considérablement la portabilité des applications entre les clouds publics, les clouds privés et les data centers classiques. Que sont les conteneurs ? La virtualisation des systèmes d'exploitation a gagné en popularité au cours des dix dernières années. Elle permet aux logiciels de fonctionner de manière prévisible et efficace lorsqu'ils sont migrés d'un environnement de serveur vers un autre. Les conteneurs permettent d'exécuter ces systèmes isolés sur un seul système d'exploitation serveur ou hôte.

Les conteneurs se trouvent au-dessus d'un serveur physique et de son système d'exploitation hôte, par exemple Linux ou Windows. Chaque conteneur partage le noyau du système d'exploitation hôte et, en général, les fichiers binaires et les bibliothèques. Les composants partagés sont en lecture seule. Les conteneurs sont donc exceptionnellement « légers » : ils ne mesurent que quelques mégaoctets et n'ont besoin que de quelques secondes pour démarrer, contre plusieurs gigaoctets et plusieurs minutes pour une machine virtuelle.

Les conteneurs réduisent également la surcharge administrative. Étant donné qu'ils partagent un système d'exploitation commun, la maintenance (bogues, correctifs, etc.) n'est nécessaire que pour un seul système d'exploitation. Ce concept est similaire à l'expérience offerte par les hôtes d'hyperviseur : moins de points de gestion, mais un domaine d'erreur légèrement supérieur. En bref, les conteneurs sont plus légers et plus portables que les machines virtuelles. En conclusion, les machines virtuelles et les conteneurs sont différents à plusieurs égards, mais la principale différence est que les conteneurs permettent de virtualiser un système d'exploitation de sorte que plusieurs workloads peuvent s'exécuter sur une seule instance de système d'exploitation. Avec les machines virtuelles, le matériel est virtualisé de sorte à exécuter plusieurs instances de systèmes d'exploitation. La vitesse, l'agilité et la portabilité des conteneurs permettent de disposer d'un outil supplémentaire pour rationaliser le développement logiciel.

NetApp® mise sur la technologie des conteneurs et travaille à des innovations capables de favoriser la rapidité et l'agilité du développement logiciel. Nous avons développé Trident afin de rendre le stockage persistant automatique et transparent. Découvrez la dernière version de Trident sur GitHub et également sur notre page dédiée aux solutions de conteneurs. Si vous souhaitez en savoir plus ou si vous avez des questions, visitez thePub sur netapp.io.

Doug Jones

Doug Jones est responsable senior des services produits chez NetApp et dirige la stratégie de portefeuille des services de migration. Il est titulaire d'un MBA en direction générale de la Duke Fuqua School of Business et d'un diplôme en informatique de la Florida Atlantic University. Il vit dans la région d'Asheville, en Caroline du Nord.

Afficher tous les posts par Doug Jones

Pour aller plus loin

Drift chat loading