20 commentaires
Justement, introduire Bazel, c'est une complexité monstre à maintenir. Est-ce que le gain de productivité justifie vraiment de dédier deux ingénieurs à la maintenance de l'outillage de build ?
C'est exactement mon point. L'autonomie des équipes est sacrifiée sur l'autel de la 'cohérence' du code. Pourtant, les géants comme Google ne jurent que par le Monorepo.
Google a des outils internes que personne d'autre n'a. Essayer de copier leur modèle sans leur infrastructure, c'est courir à la catastrophe. À ne jamais faire en prod sans une équipe dédiée aux outils de développement.
C'est là que le git submodule ou les outils comme Lerna interviennent, mais ça reste du bricolage. Il n'y a pas de solution miracle, juste des compromis.
Tout à fait. Si tu as besoin d'un Monorepo pour gérer tes dépendances, c'est que ton architecture de microservices est mal conçue dès le départ.
On est à 25 minutes de CI actuellement. Le problème est bien là. Je pense qu'on va devoir scinder le repository en domaines métiers.
Bon courage pour la migration. C'est un chantier énorme, surtout pour préserver l'historique git log.
Au final, le débat est stérile sans définir la taille de l'équipe. Monorepo = petite équipe agile, Polyrepo = grande organisation structurée.
C'est ce qui ressort de nos échanges. Je vais rester sur le Monorepo pour l'instant mais en investissant massivement sur les tests isolés et le cache de build. Merci pour vos retours constructifs.
Laisser une réponse
Vous devez être connecté pour poster un message !
Je vois énormément d'équipes hésiter entre la structure Monorepo et Polyrepo pour leurs architectures de microservices. Après avoir géré les deux, je commence sérieusement à croire que le Monorepo est une fausse bonne idée qui finit par transformer le workflow CI/CD en enfer de dépendances.
D'un côté, la centralisation facilite le refactoring, mais de l'autre, c'est le cauchemar du
git clonequi pèse des gigaoctets et des pipelines qui tournent sur tout le projet pour une simple modification de readme. Quel est votre retour d'expérience réel sur le sujet ?