Les conteneurs sont-ils l’avenir de votre production informatique ?
Faut-il migrer massivement vers les containers ? A l’heure où le Cloud se généralise dans toutes les entreprises, d’autres comme BlaBlaCar ont fait le choix des conteneurs pour la totalité de leur production : « Plutôt que de construire un Cloud privé, on a fait le choix de partir directement sur les conteneurs qui sont davantage centrés sur les applications qu’on fait tourner et qui ont un impact moindre sur les performances de la machine », explique Simon Lallemand. Nous avons fait le point sur le sujet avec Liz Rice, co-fondatrice de Microscaling Systems, et spécialiste des containers.
Les conteneurs sont-ils l’outil ultime du DevOps ?
Il n’existe pas d’outil ultime : l’innovation humaine est sans limites, et nous trouverons toujours de meilleurs outils. Je pense que les conteneurs offrent de très bons mécanismes pour packager les logiciels, pour mettre au même niveau développement, tests et déploiement. Ils sont utiles pour orchestrer les déploiements à grande échelle, et nous affranchissent d’une part de la complexité sous-jacente tout en permettant une uniformisation des déploiements. Dans un monde où on utilise de nombreux langages qui ont des librairies et des dépendances, utiliser des conteneurs comme outil de packaging est très utile, c’est une solution astucieuse et c’est pour cela que les conteneurs ont du succès aujourd’hui. Mais demain, on utilisera peut-être autre chose que des conteneurs pour répondre à ces problématiques.
Est-ce que la technologie est suffisant mature pour l’industrie ? Pour des déploiements en production ?
Les conteneurs existent depuis un certain temps et des sociétés comme Google utilisent cette technologie depuis des années. Je pense qu’on peut donc faire confiance au concept de base derrière les conteneurs, et de nombreux déploiements à grande échelle sont là pour le prouver. Cependant tout outil dispose d’une certaine marge d’amélioration… la technologie des conteneurs n’est pas complètement mature, mais Docker améliore en permanence les outils autour des conteneurs. Alors faut-il passer au tout conteneur ? Je pense qu’une société doit avant tout se demander pourquoi elle souhaite effectuer cette migration. Le conteneur n’est pas une baguette magique qui peut régler tous les problèmes, il faut une bonne culture pour réussir ce genre de transformation. Quand on est déjà dans la culture de déploiement et d’intégration en continu, dans le DevOps, alors oui, on peut passer aux conteneurs très facilement. Il faut par contre réfléchir sérieusement aux outils de gestion des conteneurs. Aujourd’hui on a tendance à construire un nouveau conteneur à chaque changement dans le code, et à force les conteneurs se multiplient. Comment alors savoir quels conteneurs sont importants, ceux qu’il faut garder?
Comment les conteneurs changent les méthodes de travail du développeur?
Ce qui est intéressant est l’idée du “developper intent”…la personne qui écrit une application n’a pas besoin de savoir tout au niveau opérations, sécurité, réseau. Mais par exemple ce morceau de code doit pouvoir communiquer de façon sécurisée avec tel autre morceau de code. Avec les conteneurs et les outils devops, les développeurs peuvent répondre à ce type de besoin, travailler de façon indépendante et s’assurer que leurs besoins soient adressés par les ops grâce au conteneur.
On oppose souvent conteneurs et machines virtuelles, qu’en pensez-vous ?
Il n’y a pas de réponse absolue, cela dépend des cas, mais globalement les machines virtuelles sont assez lourdes. Lancer une instance EC2 sur AWS demande du temps, ce n’est pas critique, mais cela prend quelques minutes. En comparaison, démarrer un conteneur qui est juste un process, c’est instantané. C’est plus rapide, plus léger, et cela permet de répartir son logiciel en des micro services indépendants…. sans avoir besoin de cette couche de virtualisation par dessus. On a les bénéfices d’une application packagée avec toutes ses dépendances, mais sans le poids de l’OS.
S’adapter à l’évolution de l’IT, apprendre en continu, c’est un challenge ?
Oui, c’est un challenge constant, mais c’est ce qui rend cette industrie passionnante, tout change tout le temps. Cela fait 20 ans que je suis dans l’industrie logicielle, j’y ai appris beaucoup de choses, il y a eu beaucoup de changements, de nouvelles technologies, mais certains principes sont encore valables aujourd’hui. On a bougé tous les process vers le client, puis tout vers le serveur, puis tout vers le mobile, puis vers le cloud… on revisite en permanence, on redécouvre toujours de nouvelles façons de mettre en oeuvre des concepts qui ne sont pas forcément nouveaux.