kubernetes-logo-660x330Microsoft a annoncé la disponibilité de la préversion publique d’Azure Dev Spaces, qui apporte une expérience de développement natif du cloud pour Azure Kubernetes Service (AKS), avec la possibilité de travailler en équipe sur les applications tout en restant connecté au cloud.

Pour rappel, et comme nous l’avions évoqué lors du Briefing Calipia n°25, Kubernetes est un système open source qui s’impose rapidement comme le système d’orchestration de conteneurs, en simplifiant le déploiement, la mise à l’échelle et les opérations. Il s’exécute dans divers environnements, y compris sur site, ainsi qu’au sein de solutions de cloud, telles qu’Azure Container Service (ACS) de Microsoft qui s’est avéré un grand contributeur au projet Kubernetes et a développé également des logiciels pour faciliter l’utilisation de la technologie d’orchestration de conteneurs par les développeurs.

Outre le fait que Microsoft a rejoint la Cloud Native Computing Foundation l’année dernière pour accélérer le déploiement et l’adoption de Kubernetes, notons que c’est Brendan Burns, co-créateur de Kubernetes, qui dirige maintenant les projets de conteneur d’Azure. Microsoft a également fait l’acquisition de Deis, une entreprise à la base de plusieurs outils Kubernetes open source.

L’une des dernières initiatives pro-Kubernetes de Microsoft a été le lancement en octobre dernier d’un nouvel Azure Container Service (ACS) qui se concentre désormais sur Kubernetes. Il a été d’ailleurs lancé sous l’acronyme AKS au lieu d’ACS. Le « K » ici a été mis pour Kubernetes, en vue d’indiquer les nouvelles priorités de Microsoft concernant cette technologie de conteneurs qui n’est certes que de la virtualisation d’applications, mais qui est une étape importante vers une stratégie d’évolution des datacenters et en étant un facilitateur d’une refonte des logiciels sous la forme de micro-services qui permettent de créer des applications à l’échelle du cloud qui sont évolutives et durables, où chaque micro-service peut être géré et mis à jour indépendamment. Pour les équipes de développement, un avantage clé de ce modèle est qu’il permet de faire du parallélisme dans le développement.

Cependant, les micro-services introduisent de nouveaux défis tels que :

  • Comment travaillez-vous sur votre service quand il dépend d’autres services qui sont également modifiés en même temps ?
  • Comment établissez-vous une base de référence sur laquelle tous les membres de l’équipe peuvent travailler jusqu’à ce qu’ils soient prêts à engager des changements ?
  • Puisque votre micro-service, par sa conception, ne gère qu’une fonctionnalité spécifique requise par l’application, comment testez-vous les modifications de bout en bout ?

Pour adresser ces différents problèmes Microsoft propose donc Azure Dev Space permettant de créer des applications natives cloud sur AKS en créer les artefacts requis pour générer et exécuter votre code dans un conteneur, tel que Dockerfile. Cela permet de conteneuriser rapidement une application. Le code est ensuite synchronisé avec le cloud, où il est construit et déployé en tant que conteneur dans AKS.

Azure dev spaces

Il est ensuite possible d’éditer et de déboguer ce code comme si tout fonctionnait localement et sans avoir à installer l’outil Docker ou Kubernetes ou même en connaitre les concepts tels que Dockerfiles ou Helm charts.