Publié le
10
June
2021
Meetup

Microservices : les fondamentaux d'une migration

Vous souhaitez effectuer la transition d'une application monolithe à une architecture microservice ?

Équipe Matters


Simon Macor, lead developer chez Matters, nous donne dans ce Matters Meetup son retour d'expérience sur cette migration qu'il a réalisée.


Il commence par rappeler la définition du monolithe : un bloc unique qui contient l'intégralité des services métiers dans une même codebase. Il en détaille les conséquences : les règles métiers dialoguent directement en interne sans appel réseau ; la modification d'un service nécessite le redéploiement de toute l'application ; et souvent, les services ne sont pas clairement définis et délimités.


Simon Macor présente ensuite comment effectuer la transition vers une architecture microservices. Il s'agit de savoir découper le monolithe, d'en extraire petit à petit les services métiers, et les faire communiquer par appels distants.


La première étape de la transition est de découper correctement les futurs services. Simon Macor propose d'utiliser des wrappers qui appellent les services existants dans le monolithe. La seconde étape consiste à effectivement sortir les services dans des blocs applicatifs distants qui communiquent entre eux, et à exposer une API stateless pour les appeler.


Simon Macor liste les points nécessaires pour entamer la migration :

- Avoir une équipe assez mature car le changement d'architecture implique un changement de communication

- Pouvoir valider rapidement l'absence de régression avec des tests fonctionnels

- Définir le contrat de communication de l'API et son versioning

- Savoir comment documenter l'API de manière homogène

- Utiliser extensivement les logs pour comprendre ce qu'il se passe dans l'application et entre les services


Simon Macor termine en présentant les pièges qu'il a pu rencontrer et comment les éviter. Il insiste sur l'importance des process d'intégration continue et sur la précision que les logs doivent avoir. Il conseille de ne pas se diversifier trop rapidement en termes de technologies utilisées dans les microservices, et enfin, de faire attention aux librairies partagées entre les microservices, qui peuvent se transformer en point de défaillance unique.

Vous avez un projet ? Une suggestion ? Un mot doux ?

Nous contacter
Logo Matters

Product & Startup Studio

10 rue du Faubourg Poissonnière
75010 Paris

Recevoir la Newsletter qui Matters

Merci ! Votre demande a bien été reçue !
Oups ! Une erreur s'est produite lors de la soumission du formulaire.
Mentions légales