Definition

Microservices

Les microservices constituent une méthode de développement permettant de concevoir une application de grande envergure sous la forme d'une série de services modulaires. Chaque module prend en charge un objectif métier spécifique et utilise une interface simple et bien définie pour communiquer avec d'autres modules.

Les microservices ont été créés pour tenter de faciliter la tâche des développeurs confrontés à de grandes applications exigeant l'assemblage de plusieurs cycles de modifications. Dans un déploiement d'architecture orientée services (SOA, Service-Oriented Architecture) monolithique, chaque petite modification imposait de reconstituer tout l'édifice, avec pour corollaire la lenteur qui pénalise ces reconstitutions. Dans une architecture par microservices, chaque microservice s'exécute dans un processus unique et gère généralement sa propre base de données. Ainsi, non seulement les équipes de développement peuvent adopter une approche plus décentralisée vis-à-vis de la création de logiciels, mais chaque service peut parallèlement être déployé, reconstitué et géré indépendamment.

Schéma comparatif entre l'architecture mocroservices vs l'architecture monolithique

C'est au développeur et auteur Martin Fowler que l'on doit l'idée de morceler les services d'une SOA en autant de microservices.

Certains soutiennent que les microservices ne constituent ni plus ni moins qu'une approche plus granulaire de l'architecture SOA. D'autres, en revanche, considèrent les microservices comme une méthode de développement d'applications qui permet de s'affranchir de la plateforme et qui mérite donc une appellation unique.

Cette définition a été mise à jour en février 2016

Pour approfondir sur Architectures logicielles et SOA

Close