Difficile d'y échapper, il n'y a plus une annonce ou une information autour de la virtualisation sans que soit évoqué Docker. Nous vous invitons à découvrir ce qu'est Docker.

Voici une première sur IT Social, un article de vulgarisation que nous consacrons à une technologie, une solution ou un produit qui fait l'actualité. Et quoi de mieux que d'inaugurer cette nouvelle rubrique avec l'un des produits qui fait le plus parler de lui actuellement : Docker.

Un air de déjà-vu

Il est étonnant comme parfois une nouveauté nous fait revenir en arrière… Et Docker fait partie de cela, tant la technologie qui nous est proposée porte des airs de déjà-vu. Jugez-en par vous mêmes :

Docker est une solution open source de création de container (conteneur) logiciel qui package une application et ses annexes afin d'en automatiser le déploiement et la gestion.

L'impression de déjà-vu provient tout simplement du fait que le container n'est pas une nouveauté, le monde Unix connaît et exploite cette technologie, et cela depuis des dizaines d'années. En particulier dans les différentes déclinaisons de l'Unix Solaris de Sun. Et que le container est également une fonctionnalité du noyau (kernel) Linux.

Une alternative à… VMware

Ce qui est nouveau avec Docker, c'est que le container est indépendant de la plateforme sur lequel il s'exécute. Pour cela, Docker s'appuie sur la fonction d'isolation des process du kernel Linux : LxC ou Linux Container. C'est donc une extension du format de container de Linux. Le résultat est un container isolé et agnostique, qui permet au développeur de se libérer des tâches de portage. Docker dispose également d'une API performante qui permet d'encapsuler les dépendances d'applications dans un seul packet, une approche très éloignée des DLL. Il devrait donc jouer un rôle important dans la rationalisation des développements.

Inévitablement, Docker se compare à une machine virtuelle (VM). La VM virtualise un environnement complet, de l'OS (système d'exploitation) à l'application, et s'exécute sur la couche hyperviseur. Dans un container, ce sont les ressources de l'OS du serveur qui sont mises à contribution et partagées entre les containers. Il n'a donc pas à être embarqué et packagé. Ajoutons à cela la gestion des versions qui se trouve simplifiée. On imagine les gains de temps, de place, de ressources, de licences, et de compatibilité d'un container face à une VM…

Attention, cependant, Docker n'est pas une solution miracle. Le container est plutôt destiné aux solutions nouvelles à packager et aux nouveaux déploiements. Pour les solutions en place, la VM s'impose. Idem pour les PRA, la VM dans un environnement qui le permet est plus adaptée à la migration à chaud. Enfin, Docker peut montrer des limites lorsqu'il s'agit d'échanger entre containers dispersés, par exemple pour échanger des composants. L'acquisition de Orchad par Docker est destinée à apporter une réponse à cette problématique.

Un succès immédiat

Docker est un projet open source, l'un des plus populaire hébergé par GitHub. Il affiche des milliers de forks et des centaines de contributeurs, une communauté qui ne cesse de grandir. Développée en interne par la jeune société dotCloud, elle porte un peu du savoir faire français puisque son fondateur, Solomon Hykes, sort d'Epitech, et qu'une partie des développeurs sont également Français.

Et l'avenir s'annonce florissant, car Docker apporte une réponse à une question languissante : comment continuer à réduire les coûts et à automatiser encore plus le SI ? Une réponse à une problématique reconnue en particulier par tous les utilisateurs de la virtualisation VMware, décrite comme cher et complexe. D'ailleurs, VMware a annoncé le support de Docker, suivant l'exemple de Microsoft, IBM, Amazon, Red Hat et OpenStack.

Décidément, Docker est bien une technologie à suivre…