découpage-micro-services-architecture-innovante

Comment bien découper en micro services ?

Comment bien découper en micro services ?

17 décembre 2019

– 3 min de lecture

Erik Zanga

Manager Architecture

L’erreur la plus commune, quand on entreprend une démarche micro services, est de vouloir découper en micro-services !

Le concept de micro services existe désormais depuis une dizaine d’années. Netflix étant la première « grande entreprise » (si on pouvait la nommer ainsi à l’époque) à adopter une telle orientation.

Avec le recul, le plus gros problème des micro services repose sur le fait de les avoir appelés « micro ». En lisant sur Wikipedia, on retrouve sous le chapitre « Philosophie », la phrase suivante : « Les services sont petits, et conçus pour remplir une seule fonction ». 

Rien de plus incorrect si on veut bien entamer une démarche micro services… Tout comme parler de nano services et macro services, pour analyser des mauvaises pratiques, comme font certains acteurs. Ce n’est pas une question de taille ! 

Les efforts doivent principalement se focaliser sur trois axes fondamentaux dans la réflexion sur le découpage :

A partir de ces considérations, quelle est la meilleure approche pour définir le périmètre de ses micro services ?

Partons du besoin primaire d’un SI : Traiter de la donnée !
Conjuguons ce besoin à une autre caractéristique des micro services : un micro service interagit avec une donnée qui lui est propre.
Une solution simple se propose : réalisons un découpage par la donnée ! Le premier pas pour dessiner un découpage des microservices est de définir la structure de la donnée.


Prenons un exemple très simple : le triptyque CLIENT, PRODUIT et ORDRE. 



Dans la logique que je viens d’expliquer, nous pouvons construire un Microservice sur chaque entité métier :


Ce qui permet à une application frontale de combiner les trois pour, par exemple, permettre à un site d’eCommerce, de :


Cette démarche n’est certainement pas exhaustive. Chaque cas de figure nécessite une analyse à part entière, mais à notre sens c’est un bon point de départ pour une réflexion micro service. 

Pour résumer, une bonne pratique de découpage en micro services est initiée par le découpage de la donnée, en entités métier.

Voici une vidéo créée par nos soins pour illustrer ces explications : ici

Conclusion

Essayer de faire « petit » n’est pas forcément le sujet sur lequel focaliser ses efforts… L’indépendance et l’isolation sont les clés d’une bonne démarche micro-services. Si un doute surgit, le mieux est de ne pas découper tant que les autres principes sont respectés.