Les entreprises françaises déjà convaincues par les containers
Réunies lors du premier rassemblement Paris Container Day, les entreprises témoignent en coulisse qu’elles sont sur le point de passer leurs containers en production.
Ne dites plus qu’il s’agit d’une technologie de laboratoire : les containers, ces mini-machines virtuelles dont on a surtout commencé à parler en 2015, sont déjà en production chez les hébergeurs, les éditeurs et les sociétés de service. Tel est en tout cas le constat que LeMagIT a pu faire en ce début d’été, lors de l’événement Paris Container Day que le cabinet de conseil Xebia a organisé dans la capitale à destination des équipes IT des entreprises.
Rappelons que si le dispositif LXC des containers existe dans Linux depuis 2008, les entreprises n’y ont trouvé de l’intérêt qu’avec l’arrivée d’une version mâture du logiciel Docker, en 2015. Celui-ci permet non seulement de stocker les containers sous forme d’image-disque, mais aussi, surtout, de programmer leur déploiement au travers d’une API.
L’événement a réuni quelques centaines de personnes et, de ce que LeMagIT en sait, elles venaient des quatre coins de la France et toutes ont payé leur place.
Des entreprises déjà séduites
Parmi le public venu s’informer sur les dernières avancées de Docker et son écosystème, des représentants d’Orange ont confié au MagIT qu’ils exploitaient déjà des containers, en particulier pour exécuter le moteur de recommandation du site de Sosh.
« Notre équipe met au point des offres d’hébergement à base de Docker. Jusqu’en 2014, nous ne faisions que de l’IaaS classique, avec des outils Open Source. Mais lorsque nous avons découvert Docker, qui était livré en préversion avec Ubuntu 14.04, cela a été une révélation : nous avions enfin le moyen de déployer des fonctions virtualisées sans l’inconvénient d’administrer de l’infrastructure. Nous avons monté une équipe dédiée à Docker. Aujourd’hui, nous fournissons des containers pour les usages internes d’Orange. Demain, Orange Cloud Service (la division hébergeur dédiée aux PME, ndr), proposera de l’hébergement de containers », explique Renaud Deconde, directeur technique chez Orange.
Autre exemple, le groupe Trace, qui développe des logiciels pour l’industrie, voit dans les containers un moyen simple de basculer ses produits en SaaS. « Jusqu’ici, nos applications s’installent sur le poste client. Nous voulons à présent qu’elles soient utilisables depuis le web. Le problème est qu’il s’agit d’un nouveau projet, donc avec peu de moyens pour le mettre en œuvre. Nous cherchons à faire des économies et l’un des moyens pour y parvenir et de mutualiser au maximum les ressources matérielles, ce que permet manifestement de faire Docker », indique David Ducatel, ingénieur R&D chez Trace.
En l’occurrence, les containers ne contiennent pas de système d’exploitation et consomment donc, généralement, dix fois moins de ressources que des machines virtuelles ; les applications exécutées dans les containers font appel à l’OS qui exécute les containers. Fait intéressant : Trace n’envisage même pas d’utiliser des machines virtuelles en étape intermédiaire, alors que les systèmes de virtualisation (VMware, Microsoft Hyper-V...) sont autrement plus matures que Docker.
Le format de packages DAB pour résoudre l’automatisation des déploiements
Le manque de maturité de la technologie est d’ailleurs le contre-argument que mettent généralement en avant les fournisseurs d’infrastructure. Mais cela ne semble pas refroidir pour autant les entreprises. « Docker fait ce qu’on lui demande : packager une application, la déployer et limiter sa consommation de ressources. A nous ensuite de faire l’outillage pour tout orchestrer. Mais ce n’est pas compliqué car il ne faut pas prendre le problème du point de vue classique de l’administrateur système, qui irait mettre dans une machine virtuelle des scripts pour remontrer les logs. On va plutôt connecter le container à des containers satellites qui récupèrent les métriques et les routent vers d’autres containers qui vont les exposer. C’est la philosophie container : un service par container, avec plusieurs services d’opérations autour d’un container applicatif », estime Renaud Deconde.
Selon lui, le seul problème de Docker était jusqu’à présent l’absence d’un format de packaging qui, à l’instar des formats RPM et autres .deb sous Linux, permettrait de déployer d’un coup un container applicatif avec tous ses containers-satellites nécessaires. « Ce problème va être résolu sous peu avec l’arrivée du nouveau format DAB de Docker. Nous l’avons testé, il suffit de constituer des repositories de binaires et d’avoir un peu de jugeote pour définir les dépendances. On obtient ensuite des chaînes de build (déploiement-tests-correction-mise en production, ndr) incroyablement performantes », ajoute Renaud Deconde.
Les utilisateurs préfèrent Kubernetes pour tout orchestrer
David Ducatel n’est pas aussi affirmatif. « Docker tout seul n’a aucune fonction d’orchestration. Du coup, on ne sait pas où s’exécute tel container, comment on y accède, ni comment on récupère ses métriques. Et cela complique le déploiement : il faut configurer toutes les bases de données et tous les dispositifs de réplication à la main, voire faire appel à un ingénieur système dès que l’on veut plus de ressources matérielles », dit-il.
Parmi les solutions qu’il envisage, l’orchestrateur Open Source Kubernetes lui plaît plus que son concurrent Apache Mesos, voire que Swarm, l’extension proposée par Docker. « Ces logiciels apportent l’orchestration qui manque. Mais l’avantage de Kubernetes est qu’il permet véritablement de faire du cloud hybride. Depuis Kubernetes, nous pouvons orchestrer des containers qui s’exécutent dans notre datacenter, comme sur n’importe quel cloud public », se félicite David Ducatel. Un avis que rejoint Renaud Deconde, mais pour d’autres raisons : « Nous avions choisi Swarm à la base. Mais si nous devions refaire ce choix, nous partirions sur Kubernetes, beaucoup moins frustre. Quant à Mesos, nous ne sommes pas très satisfaits de la manière dont ils gèrent leur communauté », lance-t-il.
A l’occasion de l’événement, l’équipe de Kubernetes était venue exposer les nouvelles fonctions de la dernière version 1.3 du logiciel, sur laquelle repose désormais Google Container Engine, l’offre d’hébergement de Google. Parmi ces nouveautés, citons la possibilité de fédérer en un super-cluster hybride des clusters de containers exécutés chacun à des endroits différents (que ce soit dans un datacenter privé comme en cloud public), ainsi qu’un système de log centralisé, le maintien d’un registre d’index et la gestion des mises à jour pour l’ensemble. Le service de stockage en ligne Box, la banque Goldman Sachs, Wikimédia ou encore le site français Jasmshake pour les musiciens font partie des clients. Par ailleurs, Kubernetes est pilotable depuis un environnement d’orchestration du datacenter plus global, comme OpenStack ou OpenShift de Red Hat.
Docker réconcilie bel et bien développeurs et administrateurs système
Pilotable par une API, Docker est devenu en peu de temps l’outil essentiel des DevOps, à savoir ces développeurs qui mettent directement en production leurs applications, sans avoir besoin d’attendre que les administrateurs système déploient pour eux des serveurs. Les pratiques de DevOps, qui seraient essentielles pour les entreprises afin de mettre régulièrement à jour leurs services en ligne, leurs apps mobiles ou encore leurs objets connectés, se heurtent à la peur de voir la DSI dépossédée de ses fonctions. En pratique, il n’en serait rien.
« Paradoxalement, Docker n’a pas créé de rupture entre nos développeurs et nos administrateurs système, mais leur a permis de mieux collaborer. Car l’application n’est plus conçue par les uns puis mise en production par les autres, elle est bâtie par les deux : les administrateurs systèmes sont venus dire aux développeurs comment déployer des ressources et les développeurs ont pu vérifier que tout fonctionnait comme prévu. Tout le monde se retrouve autour de la table pour suivre l’avancement de toutes les tâches, nous sommes tous montés en compétence, la mise en production se fait avec l’aval de tout le monde, il y a une meilleure entente et, bien entendu, nous avançons bien plus vite qu’avec le processus séquentiel habituel », se réjouit ainsi Philippe Alexandre, architecte IT chez Orange.
Que les containers soient des machines Linux ne pose de problème à personne
Dernier point, Docker orchestre les containeurs LXC du noyau Linux et même s’il en existe des implémentations pour d’autres systèmes, c’est bel et bien ainsi qu’il fonctionne par défaut et sur toutes les offres de cloud public. Même sur Microsoft Azure : le nouveau service Azure Container Service, présenté à l’occasion de l’événement, repose sur des containers Docker exécutés par-dessus des machines virtuelles Linux. De fait, les applications exécutées en container sont des applications Linux.
Et cela ne pose aucun problème aux visiteurs que LeMagIT a pu rencontrer durant Paris Container Day : « nos logiciels sont développés en C#, le langage de Windows. Mais, d’après nos tests, il nous paraît beaucoup plus efficace de les exécuter sur des containers Docker avec la couche d’émulation .Net que Microsoft propose désormais pour Linux », résume Alexandre Carvallo, développeur chez Trace.
Microsoft n’a cependant pas dit son dernier mot : Windows Server 2016, encore en Technical Preview à l’heure où sont écrites ces lignes, intègre son propre système de containers, basé sur une machine virtuelle parente qui exécute le système Windows Nano Server, afin d’exécuter les applications écrites pour .Net. Selon un responsable de Microsoft présent à l’événement, les containers créés par Windows Server 2016 sont exportables sur un système où les containers sont gérés par Docker, pour peu qu’il y ait une couche d’émulation .Net suffisante.
« Je ne pense pas que la généralisation de containers Linux pose un problème à Microsoft. Ils se positionnent comme un système pour Datacenter qui sait orchestrer les containers au travers de machines virtuelles Linux et c’est rentable. Je suis d’ailleurs impressionné par leur ouverture et leur changement radical de mentalité depuis le départ de Ballmer. Microsoft est désormais l’ami des communautés Open source », se plait à conclure Renaud Deconde.