Docker a multiplié les annonces ces dernières semaines. La société a ainsi annoncé le rachat de l’éditeur Infinit, la livraison de Docker sur Azure, la disponibilité de Containerd en open source… Nous avons demandé à quelques partenaires Docker quelles étaient les justifications de ces différentes annonces et si elles étaient globalement conformes à leurs intérêts.

À propos du rachat d’Infinit

« Docker Inc a bien compris qu’il était en danger sur plusieurs fronts, décrypte Johan Welsch, directeur de l’innovation l’hébergeur-infogéreur Coreye. La menace vient par exemple du moteur d’exécution de conteneur Rocket (Coreos), créé fin 2014 suite à une divergence de point de vue entre Docker et Coreos ». La menace vient aussi « de l’Open Container Initiative, qui propose des spécifications ouvertes sur les images et le runtime de conteneur – qui différent de celles de Docker – ou des acteurs majeurs de l’internet, comme Red Hat et VMware. Avec sa distribution Atomic Red Hat prépare l’arrivée de rkt. Et qui sait ce que prépare VMware avec Photon. »

Donc à son avis, Docker Inc tente une contre-attaque intéressante. « Bénéficiant d’une avance certaine sur le marché des conteneurs, que ce soit dans le fonctionnel de Docker, ou dans la diffusion des compétences liées à Docker, l’entreprise monte en gamme en ajoutant de la richesse dans son écosystème. Le marché demande de pouvoir gérer des conteneurs à état (stateful container), pour n’importe quel OS ». C’est la raison de l’acquisition d’Infinit, estime-t-il. « Au départ, Les conteneurs étaient limités à un seul hôte (le PC du développeur), pour des instances jetables et dont les données pouvaient disparaître. En gagnant en fiabilité et maturité, Docker est petit à petit entré dans les datacenters, mais au vu des problèmes liés à la persistance des données, il est d’abord resté cantonné aux applis ou aux services stateless : les frontaux Web, les moteurs d’API. La persistance étant toujours assurée dans des bases de données relationnelles ou non, en dehors de Docker ». Avec Infinit, Docker tente donc de prendre la main sur la gestion de ces données persistantes.

« Le rachat d’Infinit s’inscrit dans la logique d’enrichissement de la solution Docker sur un périmètre encore non couvert par Docker Inc : le stockage, décrypte pour sa part Stéphane Vincent, directeur des activités Run d’Alter Way. L’initiative de stockage décentralisée d’Infinit est une approche résolument moderne, même si elle encore jeune et ne répond pas à tous les cas d’usage souhaitables en matière de stockage. »

« Je pense que docker a besoin de s’affirmer comme solution professionnelle pour les grandes entreprises », analyse Julien Furgerot, Développeur Expert au sein de la société de développement d’applications Sfeir. Le rachat d’Infinit, un spécialiste des fichiers distribué, s’inscrit dans cette stratégie selon lui. « Une des problématiques Docker est de savoir comment enregistrer les données d’un container sachant que ceux-ci peuvent être instanciés sur n’importe quel machine d’un cluster. Infinit a développé un « driver » pour le stockage de fichiers des containers. Le rachat d’Infinit répond donc à ce besoin. On peut imaginer qu’Infinit viendra renforcer son offre payante « Docker Datacenter ». »

À propos de Docker sur Azure

Les partenaires jugent également l’ouverture à Microsoft intéressante. « Depuis plus d’un an maintenant, la société Docker affiche une volonté forte de faire de Microsoft un partenaire essentiel de son écosystème, estime Ludovic Piot, consultant chez l’infogéreur Oxalide. Non seulement en proposant Docker sur son offre de Cloud Public, mais aussi en proposant Docker sur plateforme Windows. L’arrivée de Docker sur Azure permet de boucler la présence de la technologie Docker sur les trois grandes offres de Cloud public : Amazon avec AWS ECS, Google avec Container Engine (GKE), et Microsoft avec Docker on Azure ».

« Microsoft affiche une orientation de plus en plus open source, service et cloud. Et la communauté des développeurs C# et .Net est large », abonde Johan Welsch. Pour Docker, qui « cherche à élargir sa base d’utilisateur […], il était donc normal de déployer les conteneurs et les architectures microservices sur Microsoft ». Et, sachant que nombre d’applications sont hybrides Linux-Microsoft, Docker s’est pris à « rêver d’une solution d’orchestration Docker capable de gérer les deux ».

Même constat de Stéphane Vincent, pour qui Docker sur Azure est une suite logique pour Docker dans un monde IAAS résolument hétérogène et hybride (non limité à Linux …).

À propos de Containerd en open source

Concernant Containerd en open source, « on est sur la lignée de ce qui avait été initié lors de la DockerCon 2015 à Barcelone, estime Ludovic Piot. La volonté de Docker est de proposer des implémentations de référence open source reposant sur son expérience de plusieurs années sur le développement des technologies de containerisation. Déjà à l’époque, la société Docker sortait de plusieurs mois de chahut de la part de la communauté open source, dû à ses méthodes de gouvernance sur le projet Docker. Sa réponse, en créant l’OCP et en open-sourçant runC, avait appaisé ses détracteurs, CoreOS en premier lieu. En 2016, la polémique s’est déplacée sur deux terrains : le rythme d’évolution imposé à l’API Docker et l’intégration de fonctionnalités dissociées (comme Swarm) au sein du produit Docker. La communauté Open Source (Kubernetes et rkt) est une fois de plus montée au créneau, entrainant derrière elle une bonne partie de l’industrie (Google, Redhat…) ».

« C’est la réponse directe de Docker Inc à la polémique d’il y a quelques mois, selon Stéphane Vincent. Cela permet à Docker de prouver sa bonne foi en séparant la gestion des conteneurs de leur orchestration. »

« En open-sourçant les briques de base de son Docker Engine, Docker cherche à s’imposer comme l’implémentation de référence et pérennise son offre, analyse Julien Furgerot. Docker annonce d’ailleurs que Containerd a pour vocation d’être utilisé comme runtime de containers pour d’autres solutions type kubernetes ou rancherOs. »

Ces annonces sont-elles conformes aux intérêts des partenaires?

Pour tous les partenaires que nous avons interrogés, ces annonces vont plutôt dans le bon sens.

Stéphane Vincent voit dans ces annonce un potentiel « d’extension des cas d’usage adressables et un renforcement de la pérennité du « noyau » ». « En tant que meilleur partenaire mondial 2015 dans la catégorie Open Source sur Azure, Alter Way est très sensibles à l’arrivée de Docker sur Azure. Nous travaillons déjà sur des opportunités business de ce type … »

Johan Welsch espère que si la théorie du « winner takes all » s’applique, Coreye pourra « focaliser ses compétences sur une seule technologie, avec un nombre restreint d’outils de gestion-supervision à maîtriser ». A long terme, sa crainte est de voir Docker dériver vers des modules payants.

Pour Julien Furgerot, « les entreprises ne sont pas enfermées sur Docker et pourront migrer leurs containers sur d’autres infras voir d’autres « engines ». Je pense qu’on peut apporter une plus-value avec des développeurs qui sauront adapter leurs applications aux contraintes Docker. »

À trop ouvrir son code source, Docker ne risque-t-il pas de nuire à sa rentabilité ?

La question ne se pose pas en ces termes, selon Ludovic Piot pour qui Docker « n’a jamais tenté de nier sa double identité : open source et société commerciale. Cela ne se fait pas sans heurts réguliers. Néanmoins, la stratégie commerciale de la société Docker n’est pas très différente des autres acteurs commerciaux du monde open source : proposer des produits pour entreprise, à forte intégration, qui facilite le management des briques de base que sont l’API et le runtime Docker. Il existe déjà des alternatives open source à Docker runtime et api, notamment rkt, qui présente nombre de qualités architecturales face à Docker. Il n’empêche, Docker reste leader aujourd’hui, en notorité, et sur le formidable catalogue d’images publiques disponibles sur le Docker Hub. »

Selon Johan Welsch, l’ouverture des sources de Containerd est logique dans le cadre d’une stratégie défensive pour Docker. « Le cœur du moteur Docker va devoir s’ouvrir vers des technos OCI, explique-t-il. Le standard open finira par gagner tôt ou tard. Ouvrir le source est un moyen de faire cotiser une communauté à l’effort de standardisation. Et donc, cela représente une économie potentielle pour Docker Inc à terme par rapport à un développement-test-support 100% interne. Sans compter l’impact positif sur l’image de l’entreprise. »

Stéphane Vincent ne le pense pas non plus « car le business de Docker Inc a toujours ciblé les outils (DDC, DTR, CS…)  ou le service (support, conseil) gravitant autour du « noyau » »

« En démocratisant les containers pour des usages simples, Docker peut vendre des solutions propriétaires (Docker Datacenter) et du support, les containers pouvant être utilisés dans de nombreux scénarios (j’ai même vu un PoC de Cobol dans un container) », estime Pour Julien Furgerot.

L’arrivée de Docker sur Azure ne risque-t-elle pas de déstabiliser les partenaires Docker historiques, noyés parmi les prestataires de services Microsoft développant des compétences Docker ?

Stéphane Vincent ne le pense pas. « Pour être réellement pertinent sur Docker, la courbe d’apprentissage est telle que cela nécessite un expertise spécifique et un savoir-faire éprouvé que les partenaire historiques de Docker comme Alter Way (nous sommes partenaires Conseil et Formation de Docker depuis fin 2014 et revendeur à valeur ajoutée des solutions Docker Inc) vont pouvoir se valoriser sur ce nouveau « terrain de jeu » que représente Azure… »

« Les technos de containers facilitent et encouragent le devops, estime Julien Furgerot. Cela fait intervenir des ops et des développeurs, là où les consultants Microsoft ont une plus-value. Mais il faut aussi des architectes pour orchestrer le passage aux containers, surtout sur des clusters hybride Windows-Linux. C’est là que les partenaires Docker sont indispensables. »

Pour Johan Welsch, « Docker sur Azure ne devrait pas perturber les partenaires Docker historiques. Au-delà du moteur Docker, il y a les concepts d’architecture microservices, le design des développements, les cycles de vie du code, les outils de livraison continue-déploiement continu… Tout ceci s’adaptera sans problème aux langages Microsoft. »