La notion architecturale de Microservices poussent le découplage des applications un cran plus loin que l’architecture orientée service (SOA) habituelle: chaque application est découpée fonctionnellement en microservices faiblement couplés.
Les microservices communiquent entre eux vis des API indépendantes des langages de programmation. Les API REST sont souvent utilisées.
Le grand avantage des microservices est que la mise à jour d’une fonctionnalité de l’application ne va impacter que le microservice concerné. Tout le reste de l’application ne sera pas impacté. Les mises à jour unitaires se trouvent donc facilitées.
En découpant finement une application en ressources indépendantes, on aboutit à plus facilement contrôler les changements de chaque fonctionnalité.
D’autres avantages sont:
- une petite équipe multidisciplinaire par microservice permet de travailler de manière agile,
- la facilité de monter en charge en ajoutant insérant des clones des microservices dans une architecture en mesh par exemple,
- la sécurité des données en paramétrant les accès au niveau de chaque fonctionnalité,
- la possibilité de faire du test et déploiement continue de manière plus simple qu’avec une application volumineuse.
Quelques fournisseurs