Installer un ERP ou une base de données sur un serveur par un simple glisser-déposer d'icône. Plus de processus d'installation, plus de copie de DLL ou de fichiers dans de multiples répertoires, plus de données placées dans les registres. C'est ce que propose la containerisation : placer l'application dans une bulle étanche, un container, où elle s'exécute indépendamment des autres containers de la machine.
L'approche ne date pas d'hier. Sun Microsystems la proposait déjà sur Solaris, voici 10 ans, et Microsoft Research travaillait dessus en 2005, dans son projet DrawBridge. Son succès, en revanche, est tout récent avec Docker. Créée par dotCloud, poussée par la communauté Linux, la technologie connaît aujourd'hui un intérêt considérable, notamment auprès des fournisseurs de services Cloud et des entreprises adeptes de l'approche Devops.
La version 1.0 n'a été officiellement lancée que le 9 juin 2014, mais Docker compte déjà plus de 20 millions de téléchargements et 45 000 applications dans son catalogue de containers, le Docker Hub. Un succès qui plaît aux investisseurs : Docker a levé 40 millions de dollars le mois dernier. Et pour cause : déployer un serveur Web, que ce soit sur un ou 1 000 serveurs à la fois, se réalise en quelques secondes. Pour un gros site Internet ou un service Cloud, l'économie en administration système est majeure.
Windows Server « 2015 » embarquera un client Docker
Devant une telle réussite, Microsoft et la communauté Windows ne pouvaient rester l'arme au pied. En juin dernier, lors de la conférence DockerCon, Microsoft annonçait le support officiel de Docker sur Azure. L'exécution de containers Linux sur le Cloud Microsoft n'était qu'une première étape. L'éditeur travaille désormais sur une version compatible avec Windows Server. L'OS Microsoft embarquera donc un moteur Docker et pourra exécuter des applications Windows en containers. Il deviendra enfin possible de déployer de multiples applications Windows sur une même instance Windows Server sans connaître « l'enfer des DLL ».Marc Gardette, directeur technique de Microsoft France résume ce choix stratégique : « Dans un premier temps, nous avons proposé Docker sur les 5 distributions Linux disponibles sur Azure, pour exécuter des containers Linux. Nous nous sommes attaqués ensuite au portage de Docker sur Windows Server, afin, cette fois, d'exécuter des containers Windows. » La prochaine version majeure de Windows Server, attendue pour 2015, embarquera ainsi un client Docker.
L'approche par container possède un autre atout : permettre de densifier le nombre d'applications sur un même serveur. A la différence de la virtualisation, tous les containers d'une machine partagent le même système d'exploitation. On peut ainsi exécuter deux fois plus d'applications à puissance égale. Les avantages de la virtualisation sans les inconvénients en quelque sorte. Pour autant, Microsoft n'oppose pas containers et virtualisation. « Ce sont des technologies complémentaires qui répondent à des besoins différents, notamment du point de vue isolation. D'ailleurs, certains utilisent les containers sur des configurations "bare metal", mais beaucoup le font aussi au-dessus d'une architecture virtualisée » précise Alex Wehle, responsable des offres Infrastructures et Cloud hybride de Microsoft France.
Microsoft veut s'impliquer dans les projets Open Source relatifs à Docker
Microsoft prévoit également d'étendre la bibliothèque de machines virtuelles Azure (Azure Gallery) vers Docker Hub afin de proposer à la communauté Docker des containers Windows. Enfin, l'éditeur entend collaborer avec Docker sur le développement des API Open Orchestration. En collaborant étroitement avec l'éditeur de Docker, Microsoft veut fournir aux entreprises des API standardisées qui permettront de gérer des applications complexes, multi-containers, indifféremment en environnement Linux ou Windows. Bien évidemment, on ne pourra pas exécuter un container Linux sur une machine Windows Server et réciproquement, mais l'administrateur pourra exploiter les mêmes outils pour distribuer des containers sur les clusters de traitements, qu'ils soient sous Linux ou Windows.Outre cette collaboration avec Docker, Microsoft fait son entrée dans le projet Kubernetes. Initié par Google, celui-ci concerne les outils de gestion des containers, notamment la façon de simplifier la gestion de grands clusters d'exécution de containers Docker. Microsoft livrera sans doute plus de détails sur Docker pour Windows lors de sa conférence TechEd Europe qui se tient du 28 au 31 octobre à Barcelone.