Les conteneurs Docker sont plus performants que les VM

Selon une étude d’IBM Research, les conteneurs Docker sont plus performants que les machines virtuelles sous l’hyperviseur KVM. Une forme de reconnaissance pour la start-up qui vient juste de sortir sa version 1.0.

Docker, la technologie star de conteneurs Linux, est plus performante que l’hyperviseur KVM. C’est en tout cas la conclusion qui s’impose à la lecture d’une étude menée par IBM Research et visant à comparer les deux technologies. Dans tous les scénarios étudiés, les conteneurs se sont montrés aussi ou plus performants que les VM.

linpack perfsLa comparaison réalisée par IBM Research repose sur l’emploi de plusieurs batteries de tests ciblant différents types d’opérations (calcul d’équations linéaires avec Linpack, bande passante mémoire avec Stream, bande passante réseau avec nuttcp, temps de latence avec netprf, entrées/sorties avec fio et Redis, MySQL avec SysBench oltp). La vague de tests montre un réel écart entre les deux technologies sur les tests de calcul Linpack et sur les opérations de lecture ou d’écriture, où Docker fait jeu égal avec un Linux natif. Dans les autres cas, la différence est moins flagrante. « Les performances de Docker sont aussi bonnes ou meilleures que KVM dans tous les cas testés », concluent les auteurs.

Revoir les architectures Cloud

Pour ces derniers toutefois, tant Docker que KVM n’entraînent qu’une dégradation de performances négligeable pour les applications sollicitant largement le processeur ou la mémoire. Le bilan est plus nuancé pour les charges de travail réclamant beaucoup d’entrées/sorties. Mais là encore, Docker apparaît le mieux placé. « KVM convient moins aux applications qui sont sensibles au temps de latence ou ont des débits d’entrées/sorties importants », écrit IBM Research. Même si Docker également affiche quelques points faibles. IBM note ainsi que « les volumes Docker ont des performances sensiblement supérieures que les fichiers stockés dans AUFS (un système de fichiers exploité par la technologie de conteneurs) » et que « le NAT (Network Adress Translation) Docker entraîne une dégradation de performances qui peut être sensible pour les applications générant des débits réseau élevés ». Pour les auteurs, avec ce type d’applications, il s’agit de trouver le bon compromis entre facilité de supervision (qu’amène Docker) et performances.

Pour IBM Research, ces résultats conduisent à remettre en cause les pratiques des prestataires de Cloud qui tendent à réserver les conteneurs au Paas. Et à se baser sur les VM pour le Iaas. « Nous ne voyons aucune raison technique pour laquelle cela devrait être le cas », les conteneurs offrant de meilleures performances et une plus grande simplicité de déploiement, assurent les auteurs. Qui remarquent par ailleurs qu’une technologie comme Docker permettrait aux hébergeurs d’éliminer la cohabitation entre deux technologies pour offrir tant des VM que des serveurs non virtualisés (bare metal). Et de suggérer aux prestataires de simplifier leur architecture en ne proposant plus qu’une image Docker qui peut être déployée « sur tous types de configurations, d’une fraction de cœur (de processeur, NDLR) à une machine entière ». Les auteurs invitent également l’industrie à revenir sur la pratique consistant à déployer des conteneurs au sein de VM, un choix qui aboutit à faire peser sur les premiers les dégradations de performances des secondes sans amener de bénéfices supplémentaires.

Bientôt la commercialisation ?

Après être passé de la version 0.11 à la 1.0 en juin dernier probablement afin d’accélérer l’exploitation commerciale du projet (via des packages payants se greffant autour de la technologie), Docker s’est, dans le courant de l’été, délesté de son activité originelle, le Paas dotCloud, a racheté une start-up spécialisée dans l’orchestration de conteneurs et s’apprêterait à boucler un tour de table significatif, levant entre 40 et 75 millions de dollars. S’appuyant sur les confidences de deux sources proches du dossier, nos confrères de GigaOm expliquaient il y a quelques jours que la société serait ainsi valorisée aux environs de 400 millions de dollars. Depuis sa création, Docker a déjà levé 26 millions de dollars.

A lire aussi :

Open Source : comment Docker est en passe de démoder les VM