Solomon Hykes (Docker) : ce Français qui pourrait révolutionner l'informatique mondiale

Solomon Hykes (Docker) : ce Français qui pourrait révolutionner l'informatique mondiale Solomon Hykes est le créateur de Docker. Sa technologie permet aux applications de passer des clouds de Google à ceux de Microsoft, IBM... Et ainsi d'ouvrir le jeu concurrentiel de l'IT.

Technologie de container virtuel ultralégère, Docker vient redessiner les perspectives de l'informatique, et du cloud en particulier. Grâce au container Docker, il devient possible d'envisager de basculer presque en un clic une application d'un cloud à un autre... pour peu que ces derniers en aient implémenté la technologie. Or depuis déjà plus d'un an, les plus grands fournisseurs de services IT dans les nuages ont implémenté Docker : d'abord Google et Amazon, puis Microsoft. A l'origine de cette solution open source : le Français Solomon Hykes. Fondateur de la société qui porte le projet (également baptisée Docker), il en est aujourd'hui le directeur technique.

2470920 docker entend desormais revolutionner les systemes distribues
Solomon Hykes à l'occasion de la DockerCon Europe qui s'est tenue à Amsterdam les 4 et 5 décembre 2014. © Antoine Crochet-Damais / JDN

Le JDN a rencontré le créateur de Docker à l'occasion de la DockerCon Europe qui se tenait à Amsterdam en décembre 2014. Il nous a confié ses projets.


JDN. Google, Amazon, Microsoft ou IBM ont implémenté Docker sur leurs clouds respectifs. Est-il vraiment possible de basculer un container Docker, contenant une application, d'un de ses clouds vers un autre ?

Solomon Hykes. Oui. Il est tout à fait possible de basculer un container du cloud de Google par exemple vers Amazon Web Services. C'est d'ailleurs là le premier but de Docker. Notre philosophie consiste à standardiser les clouds pour permettre de passer un container de l'un à l'autre. A la manière des containers du monde réel transportant des marchandises de port en port, les container Docker visent ainsi à faciliter les migrations dans le monde du cloud. De ce point de vue, Docker déplace le pouvoir vers le développeur plutôt que vers les grands fournisseurs de plateforme. Grâce à notre technologie, les clients ont en effet un choix plus vaste. C'est beaucoup moins facile de les capturer.

Pourquoi les grands clouds ont décidé de tous implémenter cette technologie qui pourtant permet à leurs clients de passer chez le concurrent ?

Face à l'engouement immédiat et massif de la communauté puis les premiers grands acteurs IT qui ont rallié Docker, les clouds n'ont très vite plus eu le choix. Ils ont compris que s'ils n'implémentaient pas les containers Docker les "bateaux" ne viendraient plus chez eux...

Mais en même temps, ces clouds doivent pouvoir garder leurs spécificités. Notre défi consiste donc à proposer un standard qui ne les empêche pas de conserver leur différence et leur valeur ajoutée. D'où notre orientation vers une architecture d'API et d'extensions qui permette à chacun de proposer une implémentation originale de Docker, mais qui reste compatible avec les autres implémentations.

Vous êtes en train de mettre en place un processus d'open design autour de Docker. C'est ce dispositif qui va permettre d'orchestrer les débats sur l'évolution de Docker, notamment entre les différents clouds en présence...

"Nous nous inscrivons dans la même logique que Linux"

Nous ne voulons en aucun cas cacher cet aspect. Le business, c'est normal, et les intérêts peuvent être divergents. D'où l'importance d'un système pour canaliser le projet et les contributions. C'est ce que nous cherchons à mettre en place avec la structure de gouvernance de Docker que nous avons présentée en décembre à la DockerCon Europe à Amsterdam. C'est le but de l'Open Design API. Nous nous situons ici dans la même logique que Linux. C'est un projet qui a réussi à inclure des grandes entreprises sans perdre son intégrité.

Quid d'Oracle et Salesforce ? Ont-ils à votre connaissance des projets d'implémentation de Docker ?

Oracle supporte Docker dans sa distribution Linux. Ses équipes de R&D cherchent aussi à faire en sorte que la base Oracle tourne correctement dans Docker. Ce qui devrait nécessiter encore un certain temps de maturation avant d'être pleinement effectif. Plus globalement, cette volonté d'Oracle constitue un nouveau signe qui valide notre modèle. Ce ralliement signifie en effet que Docker intéresse aussi les éditeurs de logiciel d'entreprise, et pas seulement les clouds publics.

Du côté de Salesforce, il existe à ma connaissance une initiative visant à utiliser Docker dans Heroku. Mais, elle en est encore à la phase de projet. Même si nous étions concurrent à l'époque de dotCloud, nous nous sommes toujours bien entendus avec Heroku [qui a été acquis par Salesforce en 2010 NDLR]. Nous leur avons montré notre technologie très tôt. Ils ont d'ailleurs collaboré au design de Docker.

Quels sont vos mentors dans la Silicon Valley ?

C'est un aspect important ici. Dans la Silicon Valley, les dirigeants IT sont très accessibles. L'équipe de Y Combinator qui nous a incubés reste une référence pour moi. Je les rencontre souvent. Jerry Yang, le co-fondateur de Yahoo!, est au conseil d'administration de Docker en indépendant. Je discute souvent lui sur ma problématique de fondateur dans un contexte d'hyper-croissance. Je rencontre toute sorte de personnes très accessibles, qui ont une expérience intéressante.

Comparé à d'autres solutions, notamment OpenVZ, Docker semble pécher en termes de stabilité. Avec Docker, il ne serait notamment pas possible, ou difficile, d'isoler des pools de ressource machine entre plusieurs containers basés sur une même machine. Que répondez-vous à cela ?

Il est vrai que LXC [Linux Containers NDLR] sur lequel Docker s'adosse jusqu'ici pour ses propres containers était en retard jusqu'ici par rapport à OpenVZ sur cet aspect. Mais dans les dernières versions de Linux, le contrôle des ressources s'est beaucoup amélioré. Et pour preuve : Google n'utilise désormais plus OpenVZ mais Docker à 100% pour gérer l'isolation CPU et mémoire disque.

Notez que nous avons conclu un partenariat avec Parallels, dont l'objectif est de faire d'OpenVZ un backend pour Docker. Le développement est en cours [NDLR depuis notre entretien avec Solomon Hykes, Parallels a annoncé la prise en charge des containers Docker par les Parallels Containers gérés dans sa solution Cloud Server]. Cela permettra ainsi de bénéficier du meilleur des deux mondes : la standardisation de Docker, et la sécurité et l'isolation qui demeurent des avantages d'OpenVZ.

Sera-t-il possible, à terme, de pouvoir migrer un container de Linux à Windows et réciproquement ?

"Le Docker Hub Enterprise est l'un des piliers de notre business model"

Un container ne pourra pas passer de Linux à Windows sans l'aide d'une machine virtuelle. Mais plus globalement, l'objectif de Docker est d'effacer l'hétérogénéité des OS serveurs du point de vue des développeurs. Docker permet en effet d'unifier la gestion des architectures applicatives contenant des composants aussi bien sous Linux que Windows. Ces composants vont pouvoir être containerisés et gérés par le biais des mêmes outils et mêmes tableaux de bord. Une fois la version Windows de Docker lancée [ce qui devrait intervenir courant 2015 NDLR], cette vision deviendra possible. Sur un même cluster, vous pourrez disposer de composants containerisés sous des serveurs Linux et Windows.

Pour aller jusqu'au bout de la logique d'un cloud, quid de la gestion du multi-tenant et de la gestion réseau par Docker ?

Nous sommes actuellement en discussion avec des équipementiers réseau pour concevoir une version 2.0 de la gestion réseau de Docker. L'idée est d'étendre la logique d'extension de Docker au domaine du réseau, et en particulier de créer un composant réseau qui puisse fonctionner à travers plusieurs machines. Ce dispositif permettra de définir la manière dont les machines utilisées par un cluster de containers se parlent entre elles.

Côté multi-tenant, il manque à Docker un système d'authentification et de sécurité pour permettre à plusieurs clients d'avoir différentes visions du système Docker. Sur ce point, nous sommes en train d'implémenter un système de gestion d'espace de confiance, avec gestion de clés, qui aura pour but de tout authentifier et tout chiffrer par défaut.

A quel point Docker Hub Enterprise est-il central dans la réussite de votre business model ?

Docker Hub Enterprise est une version installable du Docker Hub [qui est un services en ligne de partage de containers Docker NDLR]. Il est tarifé par abonnement, et a pour vocation d'accompagner l'offre de services que nos partenaires vont pouvoir commercialiser autour de Docker. Après avoir séduit les développeurs et les grands clouds publics, c'est un moyen pour nous de poser le pied dans les systèmes d'information. Mais cet ensemble constitue aujourd'hui surtout le pilier de notre business model.