Développeurs

Développement agile : comment les microservices sont devenus un des piliers de la transformation numérique

Share this post:

Retour sur un des grands changements du monde du développement agile : le passage des services web aux microservices. Une évolution portée par plusieurs facteurs : la démocratisation des conteneurs, des API et de l’approche domain-driven design.

Dans le monde IT, l’agilité promet de créer des services mieux adaptés aux besoins des métiers et proposant des cycles de développement plus courts. Une approche clé pour aider les entreprises dans leurs efforts de transformation numérique.

Il se pose toutefois la question de savoir comment connecter ces solutions agiles à un système d’information existant. Des liens doivent être tissés entre les systems of engagement, qui misent sur l’agilité pour favoriser l’innovation, et les systems of record, qui visent la stabilité.

Ne pas être capable de faire travailler de concert des services créés en mode agile avec des solutions legacy, c’est courir le risque de créer une informatique à deux vitesses, le two-speed IT.

Une bascule progressive des services vers les microservices

En 2014, lors d’un projet réalisé pour le compte d’un acteur du monde des télécommunications, nous avions opéré l’accostage des nouveaux services aux solutions legacy au travers de la mise en place d’une architecture orientée services, la SOA. La création de services web, éventuellement déployés sur le cloud, était à ce moment encore la norme.

Mais des alternatives plus légères et plus agiles commençaient déjà à poindre leur nez : pour rappel, le code source initial de Docker a été publié en mars 2013. Lors d’un projet démarré en 2016, une grande banque s’est alors posé la question de savoir comment basculer des web services traditionnels, s’appuyant sur la technologie SOA, vers des microservices plus agiles, reposant sur un nouveau lien, les API.

Ce fut également l’occasion de revoir la manière dont sont conçus les services et microservices. Je recommande ici de s’appuyer sur les best practices exposées par Eric Evans dans son livre Domain-Driven Design. Eric Evans explique comment bien implémenter des API en les liant à un contexte métier précis et borné.

L’approche domain-driven design préconise d’aller consulter les équipes métiers lors de la définition des API. Leur langage métier sera alors traduit en modèle de données adapté et cohérent. Par exemple, le concept d’année est différent selon que l’on considère l’année civile ou l’année fiscale.

De l’art de bien déployer les microservices

Les API sont portées par la donnée. C’est donc du côté du legacy qu’elles sont en général mises à place. Elles permettent d’exposer des données, de manière contrôlée, à des services et microservices innovants, s’appuyant massivement sur des techniques de développement agile. Implémenter les API du côté du legacy a également pour vertu de faire gagner en stabilité, le legacy étant moins sujet aux transformations majeures.

Si les API sont la clé pour permettre à des microservices créés en mode agile de consommer des données issues de systèmes legacy, il demeure le problème du déploiement de ces microservices. Une plus grande agilité applicative demande en effet des infrastructures elles aussi plus agiles. Fort heureusement, le cloud computing a su évoluer pour proposer un réceptacle parfaitement adapté aux microservices ; les conteneurs.

In fine, c’est grâce à la combinaison de trois facteurs que le développement agile a pu franchir une nouvelle étape dans son histoire :

  • l’aspect logiciel, avec les microservices et les API;
  • l’aspect méthode, avec l’approche domain-driven design;
  • l’aspect infrastructure, avec la démocratisation des conteneurs.

À mesure que les solutions ont été stabilisées et que les équipes ont monté en compétences, les entreprises ont pu industrialiser le déploiement de microservices sur une large échelle. Dans le même temps, elles se sont elles aussi transformées, avec un passage progressif d’une approche «cloud ready» vers un positionnement «cloud natif».

La prochaine étape de cette transformation vers toujours plus d’agilité va sans aucun doute consister à se pencher sur la donnée, avec de nouvelles techniques comme le data mesh – qu’on pourrait qualifier de microservices pour la data. Un sujet qui devrait beaucoup m’occuper -ainsi que mes équipes – en 2023.

En parallèle, les entreprises devront se poser la question de la convergence entre agilité IT et agilité métier. Une transformation IT implique inévitablement une transformation des pratiques métiers, qu’il faut savoir anticiper et accompagner.

Téléchargez l’ouvrage   » DÉFIS : Pour une performance réinventée  » dans lequel 70 décideurs transmettent les clés d’une transformation digitale et durable

Executive Architect - Cloud Application Development & DevOps - IBM Consulting RedHat Technical Leader

More Développeurs stories
14 juin 2024

Gestion de l’obsolescence logicielle : véritable enjeu pour la DSI et le business

Dans le paysage numérique actuel, les applications logicielles sont le pilier des entreprises modernes. Cependant, avec l’évolution rapide de la technologie, l’obsolescence logicielle est devenue un défi majeur pour les organisations. Les logiciels obsolètes peuvent entraîner des vulnérabilités de sécurité, des crashes système et une productivité réduite, affectant ainsi la performance commerciale et la compétitivité. […]

Continue reading

12 juin 2024

Simplifier les déclarations liées à la CSRD grâce aux nouvelles fonctionnalités d’IBM®Envizi™

IBM a le plaisir d’annoncer la prise en compte de la directive européenne (CSRD) dans le module « sustainability reporting manager » d’IBM® Envizi™. Cette considération aidera les entreprises à répondre aux exigences de reporting de la directive européenne (CSRD). La CSRD impose aux entreprises de fournir des informations et des indicateurs définis via les […]

Continue reading

12 juin 2024

Comment bien préparer la migration d’un parc applicatif dans le cloud avec IBM Consulting (2/2) ?

Dans notre article « Comment bien préparer la migration d’un parc applicatif dans le cloud avec IBM Consulting (1/2) ? », nous avons présenté les différentes étapes du pré-assessment technique qui consiste à analyser l’ensemble des applications du patrimoine applicatif. Dans cette seconde partie, nous allons détailler l’assessment technique à réaliser pour chacune des applications.   Phase […]

Continue reading