The issue of monorepo and polyrepo in large enterprises (Category Architecture)
Recently I read it. whitepaper 2019 Nicolas Brousse of Adobe analyzed approaches to managing source code repositories in large companies. The approaches of monorepository and polyrepository are actually compared (multiple repositories). Monoreps are used by companies such as Google, Meta, Microsoft, and polyrepositories were in Amazon, Netflix, Lyft and so on. The author refers to the study "Advantages and disadvantages of a monolithic repository: a case study at Google", which has a good comparison of the compromises of monorep and polyrep and highlights plus monorep species that monorep
Encourages consistent and high-quality code, and empowers engineers to study and learn from the institutional knowledge of their company, crystallized in the form of source code Next, the author examines the difference through three prisms
1) Cultural Alignment (culturality) The structure of repositories reflects the corporate culture. Monoreps are suitable for collaborative environments (Google, for example, has an open collaboration philosophy.)Polyrepositories for Autonomy-oriented Cultures (For example, Netflix with the principle of “freedom and responsibility”). It is interesting that we have a polyrepository in T-Bank. 2) Team Cognition (teamwork) Monorepositories destroy functional silos, contributing to a holistic understanding of tasks due to the visibility of common code and reducing communication barriers, which correlates with improved software quality. 3) Tradeoffs (compromise) Both models have technical difficulties. (For example, the scalability of monorepositories)But monorepees stimulate cultural change that improves competitiveness through DevOps practices and innovation without restrictions.
In conclusion, the author emphasizes that the technical aspects are important, but the cultural advantages of monorepe
- Strengthening collaboration
- Removing fragmentation
- Optimization of development processes Especially valuable for large companies focused on flexibility and quality.
P.S. On the subject of differences, I recommend reading a comparison from Carlos Arguelles, an engineer who worked for Amazon for a long time on CI / CD infra, then left for Google for a few years, and then returned to Amazon. I used to. handler How Amazon and Google view CI/CD in an entirely different way
#CI #SRE #Architecture #Software #Infra #QA