Avec sa technologie de conteneurs, Docker est passe de révolutionner la portabilité d’applications entre clouds. Zoom sur cette société d’origine française, nouvelle coqueluche de la Silicon Valley.

Docker, c’est une toute nouvelle technologie de packaging logiciel qui permet de déployer/déplacer facilement n’importe quel applicatif d’un serveur à un autre en « l’enveloppant » dans un objet unique avec toutes ses dépendances (OS, base de donnée, serveur d’application, etc.). Cette technique permet de s’assurer que l’application tournera à l’arrivée exactement comme au départ sans se préoccuper de la configuration du système hôte.

Tous les géants du Cloud l’ont déjà adopté

Alors que la version 1.0 vient à peine de sortir, tous les grands opérateurs cloud, à commencer par Google, Microsoft, Rackspace ou IBM (qui l’a embarqué dans son PaaS BlueMix) l’ont déjà adopté. Ce qui fait que Docker est bien parti pour s’imposer comme le standard de fait en matière de portabilité d’applications entre clouds.

Et les fonds d’investissements se livrent une concurrence féroce pour avoir le privilège de participer à son financement. Depuis sa création en 2010 – par un frenchie : Salomon Hykes –, la société a déjà levé 26 M$. Et, selon GigaOM, elle serait sur le point d’obtenir encore 40 à 75 M$ supplémentaires, ce qui la valoriserait autour de 400 M$.

Pas mal pour une entreprise d’une cinquantaine de personnes ! Surtout quand on sait que Docker s’appelait historiquement DotCloud et qu’elle s’est payé le luxe d’abandonner en cours de route son activité historique, le développement d’une plateforme PaaS – tout juste revendue à la filiale américaine de la société allemande CloudControl –, pour se consacrer pleinement au développement de sa technologie de conteneurs.

Docker au moins aussi performant que KVM

L’engouement pour Docker vient de ce que pour un certain nombre de tâches, les conteneurs s’avèrent beaucoup plus adaptés que l’emploi de machines virtuelles traditionnelles. Dans un comparatif publié récemment, IBM Research a ainsi mis en évidence que les conteneurs affichaient de meilleures performances face à l’hyperviseur KVM pour les applications générant des flots importants entrées-sorties ou nécessitant des temps de latence faibles.

Cela vient du principe même des conteneurs. La technologie de Docker repose notamment sur LXC, une fonction de virtualisation introduite à la fin des années 2000 dans le kernel Linux, qui utilise l’isolation des processus au niveau de l’OS comme méthode de cloisonnement. Ainsi, plusieurs environnements Linux peuvent fonctionner indépendamment les uns des autres en partageant le même système d’exploitation sans qu’il soit nécessaire de simuler d’autres machines avec leur propre OS. À la clé, une consommation moindre en termes d’espace disque et de ressources mémoire et une plus grande vélocité au démarrage. On parle dans ce cas de virtualisation légère.

Une technologie encore en devenir

Pour autant, il serait stérile d’opposer conteneurs et hyperviseurs. « Dans bien des cas, ils sont complémentaires », explique Fabien Amico, directeur général de Treeptik, une jeune société marseillaise spécialisée dans les architectures Java/JEE qui figure parmi les premiers en France à avoir implémenté Docker en production. Et de citer le cas de CloudFoundry, le PaaS développé par Pivotal, la coentreprise EMC-VMWare, qui utilise massivement Docker.

« Au demeurant, il faudra encore beaucoup de travail à Docker pour fournir des outils et des interfaces utilisateur qui permettent de déployer des applications complexes, analyse Fabien Amico. Docker se substitue avantageusement aux hyperviseurs traditionnels pour déployer une simple application avec un serveur et une base de données. Mais ces derniers sont encore indispensables pour gérer un datacenter et piloter des offres d’hébergement mutualisé. »

Par exemple, l’usage de Docker reste pour l’instant limité à des instances Linux (et encore seulement sur celles embarquant des systèmes intégrant une version récente [3.8] du noyau). Mais le projet LibContainer initié en février dernier devrait permettre à terme de créer des containers sur d’autres systèmes, notamment Windows. Docker devrait donc progressivement devenir une plateforme multiOS.

Un programme partenaires d’ici à la fin de l’année ?

À peine sorti du mode incubation, Docker n’a semble-t-il pas encore formalisé de programme d’engagement pour les partenaires. Du moins, pour les partenaires européens. Mais la société vient de mettre sur pieds son premier cursus de formation et aurait l’intention d’adapter son programme partenaires existant pour l’Europe d’ici à la fin de l’année. À l’heure où nous publions, la société n’a pas encore pu nous préciser ce point.