03 20 61 95 00

Comment une Architecture Microservices favorise l’innovation ?

Access-it-actu-architecture-microservices
Publié le : 17 avril 2019

Cette approche d’architectures Microservices propose une application décomposée en plusieurs petits services indépendantschacun pouvant être accessible avec les API RESTful. Ces services sont souvent spécialisés dans une seule tâche et permettent à chaque microservice de se concentrer sur une capacité métier unique. C’est-à-dire un groupe de services techniques qui fournissent une fonctionnalité avec un sens métier. 

Si l’on prend l’exemple d’un ERP, on aura les fonctionnalités de planning, réservation, GED, devis, contrats… 

 

UNE ARCHITECTURE MICROSERVICES POUR RESOUDRE LES PROBLEMES DES APPLICATIONS MONOLITHIQUES

L’architecture de Microservices a été créée pour résoudre les problèmes rencontrés par les applications dites monolithiques. 

Une application monolithique est une application qui traite toutes les demandes possibles et répond à un maximum de cas d’usage. Mais avec le temps, ces applications deviennent de plus en plus volumineuses puisqu’elles intègrent de plus en plus de nouvelles fonctionnalités en gardant généralement les anciennes pourtant devenues obsolètes. Au fur et à mesure, les différentes briques développent des interdépendances entre elles et la quantité et complexité du code augmentent. Ce qui rend impossible la compréhension du modèle global du projet et la modification ou évolutivité de l’application.

Le problème, c’est que plus un projet est conséquent (comme la réalisation d’un ERP), moins l’entreprise prendra le risque de toucher à l’application pour tenter de l’améliorer. On privilégiera donc pour une application monolithique la stabilité au détriment de l’innovation. 

Cependant, l’innovation est aujourd’hui un élément majeur dont une entreprise ne peut pas faire l’impasse. Pour résoudre à ce manque de flexibilité, l’architecture microservices à une réponse simple. Il faut découper l’application en différents modules fonctionnels que l’on appelle microservice. Chacun de ces microservices exécute une partie unique et spécifique de l’application. Ils peuvent alors être accéder par le client via l’API du microservice correspondant. L’objectif étant de favoriser l’agilité et l’évolutivité de l’application. 

schema-architecure-microservices

POURQUOI COUPLER LA TECHNOLOGIE DOCKER A UNE ARCHITECTURE DE MICROSERVICES ?

L’architecture de microservice est généralement couplée à Docker grâce à sa technologie de conteneurs.  Le principe est d’avoir un conteneur par unité de microservice afin que chacun dispose de son propre environnement d’exécution pour héberger son code.  Les conteneurs s’adaptent facilement aux nombres de microservices. Lorsqu’un service connait une hausse de charge, il peut être hébergé sur plusieurs conteneurs. Inversement,  lorsque la demande diminue, on peut réduire au minimum le nombre de conteneurs. C’est ce qu’on appelle le principe du scaling.

Ce couplage avec l’utilisation des conteneurs permet au microservice d’être autonome et modifiable sans impacter les autres si il y a une anomalie, contrairement à une application monolithique ou il aurait fallu modifier la totalité de l’application. 

Avec une stratégie d’application découpée en microservices, le développement et la maintenance sont plus faciles et rendent le déploiement continu possible. 

Pour les équipes de développement, la stratégie d’architectures microservices leur permet d’être autonomes sur leur choix techniques et de gérer leur base de code en fonction de leur besoin. 

 

COMMENT ACCOMPAGNER UNE ENTREPRISE DISPOSANT D’UN ERP A L’ARCHITECTURE ANCIENNE ?

Pour les entreprises disposant d’un ERP à l’architecture ancienne, une migration progressive vers l’architecture de microservices est possible. On y va étape par étape en spécifiant les thèmes fonctionnels regroupés par lots.
Cette stratégie permet de prioriser les fonctionnalités les plus importantes en évitant de surcharger les équipes sur le projet. Elle permet également de valoriser le travail et la réussite de chaque migration. On garde une équipe motivée qui voit les fruits de son travail au fur et à mesure. 
C’est également un moyen d’obtenir plus rapidement un outil partiellement fonctionnel et testable pendant la réalisation du projet. 

Aujourd’hui de nombreuses entreprises tels que Google, Amazon, Facebook, Netflix…. ne jurent plus que par le style architectural des microservices. Pourquoi pas vous ? 

 

 

Contactez Access it pour en savoir plus : contact@access-it.fr

Découvrez également notre page sur notre offre ERP