Dépôts
Comment les responsabilités de la solution sont réparties entre plusieurs dépôts et pourquoi cette séparation peut s'avérer utile.
Pourquoi le multi-dépôt ?
Séparer les dépôts peut aider à :
- isoler les domaines
- permettre des déploiements indépendants
- réduire la taille et le bruit par dépôt
- attribuer une propriété (ownership) claire à chaque équipe
Dépôts principaux
globalsone-frontend
Contient la SPA et l’expérience utilisateur.
globalsone-api-gateway
Contient la configuration et le comportement du gateway.
globalsone-bff
Contient l’agrégation, la transformation et les endpoints orientés frontend.
globalsone-ms-{domain}
Contiennent la logique métier de chaque domaine.
globalsone-shared-kernel
Contient les types ou contrats réellement partagés et stables.
Bénéfices
- Une propriété (ownership) plus claire
- CI/CD indépendant
- Un impact moindre des changements locaux
- Une meilleure séparation organisationnelle
Coûts
- Une coordination accrue entre les dépôts
- Le versionnage des paquets partagés
- Une visibilité distribuée
- Une discipline de gouvernance plus exigeante
Quand cela a-t-il du sens
Cela a d’autant plus de sens lorsque :
- il existe plusieurs domaines bien définis
- plusieurs équipes travaillent en parallèle
- les déploiements nécessitent une réelle indépendance
- l’organisation est prête à gouverner les contrats et les standards
Résumé
Le multi-dépôt n’est pas une fin en soi. C’est une stratégie d’organisation qui peut apporter clarté et indépendance, à condition de s’accompagner de bonnes limites et de bonnes règles de collaboration.