COURS INTERACTIFS
Modèles d'architecture de services : intégration, autonomie et fédération
Comment plusieurs services d'un même produit, d'une même suite ou d'un même écosystème doivent-ils organiser les concepts qu'ils partagent (client, organisation, boutique, projet) ? Ce cours d'architecture générale compare les trois grands modèles du marché : le monolithe intégré, les services autonomes et le modèle fédéré. Il les relie aux outils du Domain-Driven Design (bounded contexts, shared kernel, published language, anticorruption layer) et se termine par une grille de décision et des trajectoires de migration. Applicable aux suites logicielles, aux ERP, aux plateformes cloud comme aux écosystèmes de microservices internes.
- 01 22 minMonolithe intégré et services autonomes : deux réponses opposées au partage de conceptsClient, boutique, projet, organisation : quand plusieurs services d'un même produit manipulent les mêmes concepts, deux architectures dominent le marché, et elles optimisent des objectifs incompatibles.
- 02 24 minLe modèle fédéré : plan de contrôle, projections locales et réconciliationLa synthèse qui réconcilie intégration et autonomie : un plan de contrôle qui possède la topologie, des services qui possèdent leurs ressources, et une convergence déclarative entre les deux.
- 03 21 minFrontières et contrats entre services : bounded contexts, shared kernel et published languagePourquoi « client » n'a pas le même sens dans deux services, pourquoi la bibliothèque de types partagée est un piège, et quels patterns du Domain-Driven Design organisent sainement les relations entre services.
- 04 19 minChoisir son modèle : grille de décision, signaux d’alerte et trajectoires de migrationAucun des trois modèles n'est bon dans l'absolu : ils répondent à des stratégies différentes. Ce chapitre donne les critères de choix, les symptômes du mauvais choix, et les chemins de migration éprouvés.