Alors que les technologies Cloud Native arrivent à une certaine maturité, de nombreuses entreprises cherchent à moderniser leurs applications ‘maison’ et notamment les applications qu’elles considèrent comme différenciantes et génératrices de valeur pour l’entreprise. Dans ce contexte, l’utilisation des microservices et des conteneurs fait de plus en plus sens.

Les architectures modulaires reposant sur des microservices apportent plusieurs bénéfices et notamment :

  • L’application monolithique peut être transformée par étape en extrayant peu à peu des microservices.
  • Les microservices peuvent être mis à jour, étendus et déployés plus rapidement, indépendamment les uns des autres et sans mettre en péril l’ensemble de l’applicatif.

Ils sont le fer de lance du mouvement DevOps et, couplés aux conteneurs, sont particulièrement adaptés aux applications Cloud Native. C’est la raison pour laquelle on constate une vraie percée en entreprise.

 

Conteneurs, DevOps, microservices sont interdépendants et reliés, ils permettent de développer plus rapidement et plus efficacement des services applicatifs.

Les microservices, c’est une méthode de design d’applications décomposées en différentes parties autonomes, qui peuvent être versionnées, déployées et gérées indépendamment les unes des autres

détaille Marc Gardette, directeur de la stratégie Cloud de Microsoft France.

Cela permet une grande agilité dans les développements. Ce design attractif est presque évident pour des applications Cloud natives

Une approche boostée par le mouvement DevOps

À la base, il y a la volonté des équipes informatiques de travailler de façon plus efficace avec les équipes métiers, en proposant plus rapidement des logiciels capables d’évoluer à la demande. L’utilisation de méthodes de développement agiles et l’adoption des principes du mouvement DevOps ont nécessité l’apparition de nouvelles approches de collaboration avec un cycle de développement court.

Les microservices et les conteneurs apparaissent comme la réponse naturelle à cette tendance.

Deux mondes proches, mais pas forcément liés : toutes les applications en conteneur ne sont pas des microservices et tous les microservices ne sont pas déployés sous la forme de conteneurs.

Chez Microsoft, c’est Azure Service Fabric qui a d’abord été au cœur de cette révolution. Ce serveur d’applications dédié aux microservices se charge de mettre en oeuvre les solutions nécessaires à cette approche : gestion des états, des versions, des affinités, optimisation des performances et load balancing automatique sont assurés par Service Fabric.

Mais aux côtés de ces services dédiés aux applications à base de microservices, des solutions de plus bas niveau, comme les conteneurs Docker, montent en puissance. Les microservices existent depuis longtemps. Mais ce sont les conteneurs qui ont permis de concrétiser plus largement cette approche. De même, les conteneurs existent depuis longtemps, mais ont pris leur envol avec l’arrivée de Docker. Les conteneurs promettent de révolutionner l’IT, en passant les OS au second plan et en permettant une évolution forte des process.

En permettant d’assembler, de publier et de déployer plus rapidement, les conteneurs donnent tout son sens à la démarche DevOps et ont un effet démultiplicateur sur ses avantages.

Chez Microsoft, l’intégration de la technologie Kubernetes via Azure Kubernetes Service (AKS) apporte les services notamment d’orchestration, de déploiement et de montée en charge pour mettre en place une architecture extensible et flexible ( « clusters ») sur la base de ces conteneurs.