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
18 décembre 2024

IBM SkillsBuild : Neuf cours gratuits sur l’IA pour booster votre carrière en 2025

D’ici 2025, l’intelligence artificielle (IA) sera un élément essentiel de tous les aspects de l’activité, aidant à résoudre des problèmes vastes et complexes dans tous les secteurs d’activité. Les personnes sont essentielles à cet effort, et il y a une demande croissante de professionnels possédant les compétences les plus récentes en matière d’IA dans le […]

Continue reading

16 décembre 2024

Intelligence artificielle : une génération de valeur sous conditions

La valeur potentielle à capturer est telle que les projets d’IA sont légion; l’avènement de l’IA générative les démultiplie. Mais ces projets sont cependant trop souvent des échecs. D’autant qu’un succès technique ne garantie pas la libération de la valeur identifiée en amont. La ruée vers l’offre d’intelligence artificielle trouve sans doute son élan dans […]

Continue reading

2 décembre 2024

IBM et AWS intensifient leur partenariat pour proposer à grande échelle une IA générative responsable

Lors de la conférence annuelle « AWS Re:Invent », IBM et AWS annonceront conjointement une étape majeure dans leur collaboration visant à aider les entreprises à adopter une IA responsable. Ensemble, les deux compagnies unissent leurs forces pour permettre à nos clients de tirer parti de la puissance de l’IA générative tout en mettant l’accent sur la […]

Continue reading