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

Solomon Hykes : le fondateur de Docker 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.

Près de 100 millions de téléchargements d'images de container

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

Ce qui a permis à Docker d'émerger si rapidement ? L'excellent accueil que les développeurs ont réservé à cette technologie. A l'heure où nous écrivons ses lignes, la forge lancée par la société éponyme (le Docker Hub) enregistre près de 100 millions de téléchargements d'images de container, pour 45 000 applications dockerisées disponibles... La révolution semble bel est bien en marche. Et on se demande ce qui pourrait bien l'arrêter. 

Pourtant, l'aventure Docker n'avait pas forcément bien commencé. En 2008, Solomon Hykes avait bien fondé une première société. Baptisée dotCloud, elle avait pu jeter les bases de la technologie de container, mais sans parvenir alors à commercialiser de produit. Auto-financée via la prestation de service, l'entreprise est alors installée dans la cave de la mère du jeune entrepreneur à Montrouge près de Paris.

En 2010, cet ancien de l'Epitech est repéré par un incubateur américain, et pas n'importe lequel. Il s'agit du très prisé Y Combinator. Certains fleurons de la Silicon Valley y sont passés, parmi lesquels Dropbox, Parse, Reddit ou encore Airbnb. Solomon Hykes déménage alors en Californie. Il ne le sait pas encore, mais une nouvelle page de l'histoire de sa société est en train de s'écrire. Coaché par les équipes d'Y Combinator, dotCloud parvient à commercialiser son premier produit : un service cloud de plateforme (PaaS), alors concurrent d'Heroku. Les containers en deviennent le socle. L'accueil n'est pas mauvais, mais rien à voir avec ce que Docker connait aujourd'hui.

C'est avec son PaaS dotCloud et ses quelques centaines de millions de visiteurs que Solomon Hykes a éprouvé Docker

C'est début 2013 que Solomon Hykes prend la décision qui va tout changer. Il ouvre les sources de sa technologie de container. L'engouement de la communauté est immédiat. Quelques semaines après, la société reçoit des centaines de patchs.

L'ingénieur comprend très vite le potentiel de cette opportunité. Il décide de fonder une nouvelle société pour porter le projet. Ce sera Docker. Souhaitant se recentrer sur le développement de son produit, il cède sa place de CEO à Ben Golub, un routard de la Silicon Valley.

66 millions de dollars levés

Puis, la décision est prise de vendre dotCloud pour concentrer l'essentiel de l'activité sur Docker. Le PaaS sera cédé courant 2014 à l'Allemand cloudControl. Mais Solomon Hykes l'admet, c'est bien grâce à DotCloud, qui culminera à quelques centaines de millions de visiteurs par mois, qu'il a pu éprouver sa technologie de container, notamment sa capacité à supporter des systèmes à grande échelle.

Ensuite tout va très vite. Face à l'incroyable engouement suscité par Docker (avec rapidement des centaines de contributeurs), les géants du cloud rallieront le projet les uns après les autres. Après Red Hat, ce sera au tour de Google environ 6 à 8 mois après le lancement officiel de la nouvelle société. Dans la foulée, la start-up capitalise sur ces deux premiers partenaires pour rencontrer d'autres grands éditeurs. Objectif : créer "un effet boule de neige" en vue de promouvoir Docker comme standard du cloud. Le pari est remporté depuis l'adhésion d'Amazon puis celles de Microsoft et IBM fin 2014.

Depuis le lancement de dotCloud, Solomon Hykes et ses associés sont parvenus à lever 66 millions de dollars, dont 55 millions sur la seule année 2014.

 

 

Interview de Solomon Hykes : "Docker déplace le pouvoir des grands fournisseurs de plateforme vers le développeur"

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.
 

 A lire aussi :

Serveurs / Docker