darren whittingham - Fotolia
DockerCon 2020 : Docker veut composer davantage avec Microsoft
L’éditeur a présenté une intégration de Docker Compose avec Azure Container Instance afin que les développeurs puissent y exécuter des commandes Docker et passer du développement en local au cloud.
Docker a profité de l’événement virtuel DockerCon 2020 pour étendre son pacte avec Microsoft. Les nouveaux aspects du partenariat portent sur une intégration plus étroite de Docker avec Azure Container Instance (ACI). De la sorte, les développeurs pourront y exécuter nativement les commandes Docker et gérer la manière dont ils passent du développement local à un service de container dans le cloud.
Cette approche doit améliorer la productivité des développeurs et serait « tout simplement beaucoup plus facile », déclare Justin Graham, vice-président des produits chez Docker, lors d’un entretien avec SearchAppArchitecture (propriété de TechTarget, également propriétaire du MagIT). Les deux éditeurs ont également présenté une intégration plus étroite entre Visual Studio Code et Docker Desktop pour faciliter les déploiements à distance dans ACI.
« Le point important ici, c’est de voir Microsoft et Docker s’aligner aussi étroitement pour améliorer l’expérience des développeurs et donner aux gens plus d’options pour faire fonctionner les containers dans le cloud », assure Elton Stoneman, directeur de Sixeyed Consulting, un cabinet de consultance IT spécialisé dans l’approche DevOps, Kubernetes et Docker. « Kubernetes est devenu le choix par défaut, mais c’est une plateforme complexe avec une courbe d’apprentissage abrupte. Les alternatives qui s’appuient sur des technologies que les développeurs aiment déjà sont bienvenues ».
Cette plus grande compatibilité entre VS Code et Docker Desktop signifie que les développeurs peuvent démarrer de nouveaux projets associés à un langage spécifique dont Node.js, Python, .NET Core et C#. « Ils peuvent ensuite utiliser la fonctionnalité Docker Compose et gérer la manière dont ils passent du développement local à un service de containerisation serverless dans le cloud sans quitter l’interface Docker CLI ou VS Code », assure Justin Graham.
Docker Compose, le pont vers les services cloud de Microsoft
La spécification Compose doit simplifier la migration du code dans le cloud. Ce standard définit une stack complexe dans un seul fichier exécutable avec une seule commande. « Cela élimine le besoin de déployer manuellement chacun des containers, un gain de temps appréciable », loue Elton Stoneman.
Compose serait utilisé par des millions de développeurs. GitHub héberge pas moins de 650 000 fichiers relatifs à cette spécification, si l’on en croit les dires Ben De St Paer-Gotch, directeur de la gestion produit chez Docker dans un article de blog.
Pour les développeurs Microsoft, Azure est généralement le premier choix pour les déploiements dans le cloud. Cependant, comme chez les autres hyperscalers, l’offre de services est importante. Il s’avère parfois difficile de se tenir au courant des nouvelles fonctionnalités et produits tout en comprenant comment les combiner pour exécuter du code en production.
Cependant, « l’intégration étroite entre Docker et ACI – en particulier le support de Docker Compose – signifie que vous aurez la possibilité d’exécuter vos applications en Azure, avec toute l’ampleur et la fiabilité dont vous avez besoin, en exploitant les mêmes fichiers Compose simples que ceux que vous utilisez en développement », assure Elton Stoneman.
Bien qu’ACI soit une option viable pour l’exécution d’applications Linux et Windows dans des containers, les développeurs devaient jusqu’alors modéliser leurs applications différemment suivant les environnements. Docker Compose servait pour le développement, puis il fallait utiliser des modèles ou des scripts ARM (Azure Resource Manage) dans le CLI Azure pour les déployer dans le cloud.
« Vous disposiez également d’outils et de processus différents pour gérer les containers ACI », assure Elton Stoneman. « Maintenant, vous pouvez utiliser un ensemble de technologies – le CLI de Docker et la spécification Compose – pour définir, exécuter et gérer les conteneurs dans chaque environnement ».
Une alternative à Kubernetes
Elton Stoneman a aidé WindSim, un éditeur norvégien de logiciel de gestion de parcs éoliens à déplacer son application principale vieille de 15 ans, vers des containers sans modification du code en utilisant ACI.
Selon le consultant, l’intégration Docker/Microsoft fournit une alternative pour les entreprises qui veulent déplacer leurs applications dans des containers et dans le cloud, mais qui ne veulent pas s’attaquer à Kubernetes.
« J’aime Kubernetes : l’orchestrateur est puissant et flexible, les fonctionnalités sont incroyables et il est supporté par tous les fournisseurs de cloud, mais c’est lourd à embarquer pour les clients », affirme-t-il.
Elton StonemanDirecteur de Sixeyed Consulting
Ainsi, les organisations doivent s’efforcer de « former » les développeurs et les opérateurs, et de gérer les frais de gestion accrus liés à l’exploitation de Kubernetes, « mais beaucoup sont heureux de le faire pour obtenir un orchestrateur de containers dans le cloud », ajoute-t-il. « Le couple Compose-ACI leur donne le même service géré sans la montée en puissance induite par Kubernetes, c’est pourquoi j’aime pouvoir proposer cette alternative ».
La disponibilité générale de cette intégration étendue entre les deux services est prévue pour le second semestre 2020.
Docker veut prouver l’effectivité de sa restructuration
Docker a cédé son entreprise à Mirantis l’année dernière et s’est restructuré pour se concentrer sur l’amélioration de l’expérience des développeurs, d’après Justin Graham. L’éditeur a connu quelques ratés liés à Kubernetes qui ont eu un impact sur les clients.
« Nous avons recentré l’entreprise en novembre dernier et nous avons mis en place une nouvelle stratégie pour aider les développeurs à créer de superbes applications en simplifiant ce que nous appelons le “code-to-cloud middle”, c’est-à-dire le contrôle des sources et les applications fonctionnant en production » vante Justin Graham.
Au début de ce mois, Docker a conclu un partenariat avec Snyk pour fournir une analyse de vulnérabilité native des images dans Docker afin de contribuer à rendre le processus de développement plus sûr.
Lors de son discours d’ouverture de la DockerCon 2020, Scott Johnston, PDG de Docker, n’a pas tari d’éloges pour Docker et VS Code. Il considère qu’ils font partie des outils « les plus appréciés » des développeurs.
En outre, le rapprochement de Docker et de Microsoft signifie que ces populations techniques peuvent partager leur travail via Docker Hub et faire de la programmation en binôme et du dépannage en temps réel, conclut Justin Graham.