DockerCon 2015 - An 2, tournant historique vers la communauté Docker

Lundi soir à 18h, le Docker Paris Meetup se tenait depuis les locaux de Maltem Consulting, pour retransmettre en live la keynote d’ouverture de la DockerCon 2015 depuis San Francisco.

L’année dernière, lors de cette même DockerCon, des doutes émergeaient sur la capacité de la société Docker à asseoir son leadership sur un écosystème très étendu et dynamique.

Bien sûr, le produit était déjà au cœur d’une tornade de hype et son potentiel à révolutionner l’industrie tech était déjà identifié.
2 articles relayés récemment le démontrent :

Mais la communauté bruissait de nombreuses frustrations :

  • Les containers présentaient des faiblesses dans la gestion du réseau et de la sécurité
  • Le DockerHub présentait des manques pour tracer l’authenticité et l’intégrité des images proposées. Souvenez-vous, c’était avant les official repos
  • Et si le Dockerfile et le container faisaient leur job, de nombreuses initiatives tentaient d’apporter des solutions au manque de standard concernant la gestion d’un parc de containers (fig, kubernetes, mesos, fleet) et leur configuration automatique (etcd, consul, zookeeper…)

Les doutes sur la capacité de Docker, Inc. à canaliser toute cette énergie autour de son produit étaient si forts, que certaines dissidences ont émergées (CoreOS Rocket).

Lors de la keynote, Solomon Hykes, fondateur et CTO de Docker a clairement montré l’expérience acquise pendant cette folle année 2014.
En annonçant la création du projet Open Container parrainé par la Linux Foundation, et en faisant don du runtime docker à la communauté (sous le nom de runC), il a aussi prouvé sa détermination à fournir à sa communauté, à son écosystème et à sa plateforme les cadres d’indépendance de gouvernance et d’architecture susceptibles de satisfaire l’ensemble des acteurs impliqués dans l’univers Docker.
Le début d’une nouvelle ère, plus adulte, assurément !

Lire le compte-rendu plus détaillé…

State of the Union, par Ben Golub, CEO @ Docker, Inc

Dans un premier temps, Ben Golub rappelle la folle aventure du succès de Docker :

  • En 2 ans,
  • Plus de 1300 contributeurs
  • Et 185 groupes d’utilisateurs
  • Répartis dans 58 pays.
  • Et une volonté d’adoption par 97% des acteurs IT (en avril 2015, selon une étude ETR) !

Ben rappelle aussi que Docker, c’est :

  • Un projet,
  • Une solution,
  • Un écosystème,
  • Un mouvement (au sens d’une révolution des consciences dans la manière de penser l’IT)

Futur, par Solomon Hykes, CTO @ Docker

Le why de Docker, Inc.

Comme toute bonne société tech, Docker, Inc. s’essaye à l’exercice du why de Simon Sinek : quelle est l’inspiration qui motive l’existence de la société ?

Selon Solomon Hykes, la mission de la société Docker, Inc. est de construire les outils qui favoriseront l’innovation de masse, de fournir le meilleur levier pour démultiplier la créativité des programmeurs.

Le how : la révolution incrémentale

Pour cela, Docker, Inc. se donne pour objectif de construire à horizon de 5 ans un jeu d’outils logiciels adaptés à Internet et aux applications massivement distribuées, à leur échelle et au niveau d’abstraction qu’ils présentent face aux notions d’infrastructure.

Solomon a travaillé sur le projet Docker (et son ancêtre closed-source) pendant 8 ans.

Durant tout ce temps, il a adopté la méthode de la révolution incrémentale :

  1. Choisir de résoudre un problème fondamental
  2. Le résoudre de la manière la plus simple qui soit
  3. Passer à un autre problème…

C’est la méthode qu’il continue de prôner…

Ainsi, en 2014, plusieurs problèmes ont trouvé leurs solutions.

  • Les containers docker sont une réponse au problème de disposer d’un runtime reproductible de manière industrielle.
  • docker hub est une proposition de solution aux problèmes de packaging et de distribution de ces containers,
  • docker-compose est une réponse au problème de composition de services à travers des couches multiples de containers
  • docker-machine étend cette réponse à la gestion des serveurs
  • Enfin, docker-swarm adresse la gestion du clustering

Les nouvelles itérations de solutions à problèmes

Gestion du réseau

Une faiblesse avérée de l’écosystème Docker était la gestion du réseau.

Le rachat de Socket Plane par Docker permet de publier dès aujourd’hui docker-network : une solution toute intégrée de gestion du réseau pour de multiples serveurs, avec configuration de topologies complexes à base de réseaux virtuels, des règles de sécurité, de ségrégation, de firewalling…

Découverte automatique de services

Besoin exprimé très tôt par la communauté qui a rapidement proposé des solutions multiples, la découverte et la configuration automatique de services est aujourd’hui proposée par Docker dans une solution standardisée : docker swarm discovery, qui peut tirer parti de 11 backends différents intégrés par la communauté (dont les incontournables historiques comme etcd, consul, zookeeper…)

Extensibilité de la solution

Docker gère désormais la possibilité d’être étendu via des plugins communautaires sur 4 domaines fonctionnels différents

  • Le réseau
  • Le stockage (les volumes)
  • L’orchestration
  • La découverte de services

Ces plugins sont gérés en multi-tenancy : un plugin peut être utilisé pour une application et un autre prendre le relais pour une autre application.

Ainsi, docker-compose sait maintenant provisionner directement des instances AWS ECS après un effort de développement porté par Amazon.

Authenticité des images

Docker Notary est un nouvel outil qui permet de gérer des collections d’images de containers dont on souhaite garantir l’authenticité.
Les mécanismes sous-jacents n’ont pas été détaillés, mais dans le principe, cela ressemble à la validation d’un certificat auprès d’une authorité.

Une main tendue vers la commmunauté

Pour terminer sa présentation, Solomon a présenté un certain nombre d’initiatives qui visent à répondre aux souhaits exprimés par la communauté.

The docker plumbing project

Un souhait de pouvoir réutiliser facilement des briques internes du projet Docker.
Ce qui n’était pas facile jusqu’à présent : le code de Docker ayant accumulé une certaine dette technique et la tuyauterie interne du produit présentant certains couplages forts.

Le projet docker plumbing va porter l’effort de faire sauter ces adhérences entre la couche d’abstraction qu’est Docker et la tuyauterie sous-jacente des technologies utilisées (LXC, cgroups, namespaces, etc.).

Ainsi, l’API de runtime container a été extraite de Docker pour devenir runC, une API universelle de description de container, qui supporte la migration à chaud, des fonctionnalités de sécurité, le support de multiples architectures de processeurs, de multiples OS, etc.

Docker ouvre ses standards à la communauté

Un deuxième souhait fort de la communauté était la promotion et l’adhésion à des standards ouverts.

Dans ce sens, Docker, Inc. fait un mouvement historique d’ouverture à sa communauté :

  • Il produit une spécification formelle décrivant un format universel de container : l’OCF (une sorte d’ELF du container).
  • Qui sera géré par une structure de gouvernance indépendante créée pour l’occasion, sous la tutelle de la Linux Foundation : l’Open Container Project, regroupant tous les grands acteurs engagés dans la communauté (AWS, Cisco, CoreOS, Docker, EMC, Google, Microsoft, HP, IBM, Fujitsu, Mesosphere, Redhat, VMware,…)
  • Et qui reçoit, comme premier don, runC pour servir d’implémentation de référence.

Et comme pour résumer toutes ces initiatives en un seul état d’esprit, Solomon répète ce qu’il a déjà plusieurs fois martelé pendant sa longue keynote : «Welcome Home«.