1、MonoreposBeyond the technicalitiesInfoQ Dev Summit-Boston 2024Tiago BentoPrincipal Software Engineer&Tech lead IBM BAMOECommitter&PPMC member Apache KIE(incubating)Poly-repo VS.MonorepoPoly-repoSingle artifact(“monolith”)Monorepo?Single artifact(“monolith”)Poly-repoMultiple artifactsMonorepoMultiple
2、 artifactsPoly-repo VS.MonorepoPoly-repo?Multiple artifactsMonorepo?Big repo?Multiple artifactsReality?Multiple artifactsPoly-repo VS.MonorepoPoly-repo?Multiple artifactsMonorepo?Multiple artifactsPoly-repo VS.MonorepoPoly-repoMultiple artifactsMonorepoMultiple artifactsHow code is shared is what ma
3、kes the distinction between monorepo and poly-repo setups.MonoreposNot the same as monolithsNot only co-locationWell-defined relationship between modulesModules are under a single“build system”and in my opinion:not necessarily“big”produce more than 1 consumable/deployable artifactshare code between
4、final consumable/deployable artifactsMore at https:/monorepo.tools/MonorepoMultiple artifacts“Nobody has a monorepo”Its pretty rare for organizations to have a single repository.Poly-repo is the standard.“Nobody has a monorepo”Its pretty rare for organizations to have a single repository.Poly-repo i
5、s the standard.An entire company doing a single monorepo at scale is not the norm when talking about monorepos.“Everyone has a monorepo”Its“natural”to grow library repos using modules/packages under the same repo.MavenGo modulesCargoNPM/Yarn/pnpm/LernaGradle“Everyone has a monorepo”Its“natural”to gr
6、ow library repos using modules/packages under the same repo.MavenGo modulesCargoNPM/Yarn/pnpm/LernaGradleLibrary repositories with multiple modules or packages that are published to a registry when released,in my opinion,are monorepos.So changes are you actually do have some“small”monorepos already.