Docker, conteneurs et virtualisation : la cohabitation est possible
Les conteneurs Docker sont rapides, faciles à utiliser et gratuits. En matière de performances, on les compare même à KVM. Mais, cela ne veut pas dire que la technologie convienne à tout le monde.
La technologie de conteneurs Docker a pris d’assaut le monde du cloud et du développement d’applications depuis sa mise à l’Open Source il y a un peu plus d’un an. La raison : sa capacité à proposer une façon de packager et de déployer les applications sur un grand nombre d’instances Linux. VMware l’a bien compris et a profité de VMworld 2014 pour annoncer un partenariat avec Docker, Google et Pivotal pour intégrer conteneurs et virtualisation. Mais dans les entreprises, là où la virtualisation est omniprésente et surtout bien ancrée, cela n’est pas toujours d’un grand usage. Vraiment ?
Les défenseurs de la technologie soutiennent que Docker et sa couche sous-jacente, la technologie Linux Containers (LXC) ont une empreinte plus réduite sur les hyperviseurs traditionnels en matière de CPU et de stockage, et donc offrent de meilleures performances et une consolidation plus importante. Boden Russell, spécialiste du logiciel chez IBM Global Services, a fait un benchmark d’OpenStack sur KVM, contre OpenStack sur Docker et LXC. Résultat, Docker a largement surpassé KVM ou dans certains cas, affichait des performances au moins comparables.
Alors que certaines entreprises pourraient certes remplacer leur technologie de virtualisation par Docker, un autre scenario plus probable consiste à « augmenter » l’existant, affirme Scott Johnston, vice-président produits, chez Docker. Ils pourraient par exemple faire tourner Docker à côté d’un environnement VMware, ou déployer des conteneurs Docker dans une VM VMware pour conserver une certaine cohérence en matière d’administration.
« Les entreprises sont intéressées par l’agilité que peut proposer Docker, mais elles montrent un intérêt réel à réduire leur empreinte de datacenter et surtout à abaisser leur licencing », explique-t-il. Les tests, comme ceux réalisés par Russel, laissent penser qu’il est possible de faire tourner 10 conteneurs Linux dans une unique VM. « Là où vous aviez 10 VM, vous pouvez avoir 100 conteneurs. »
Mais la force de Docker - et celle des conteneurs en général - est justement sa faiblesse, particulièrement dans les environnements hétérogènes d’entreprise. La faible surcharge de Docker et son empreinte réduite en matière de stockage sont dues au fait que la technologie n’inclut pas une copie de l’OS dans chaque application en conteneur. En contrepartie, cela limite Docker aux instances Linux qui supporte LXC. Autrement dit, si vous souhaitez utiliser Docker pour placer une application Windows dans un conteneur, vous n’avez pas de chance.
Il reste évidemment bien de cas d’usage où la virtualisation plus traditionnelle est incontestable, écrit Russell, pointant du doigt les instances où LXC n’est pas supporté sur l’hôte et lorsque « la VM nécessite une configuration unique du noyau qui n’est pas applicable à d’autres VM sur l’hôte ». Si Docker est certes rapide, facile à utiliser et gratuit, il ne convient pas à tout le monde.
Traduit par la rédaction