Poly Repositories is also known as many repo or multi-repo. It simply means using one repository for each project. In this approach, the services and front end codebase are stored in multiple repositories and organized independently. It allows each microservice, web, mobile app to have its own repository.
Advantages of Poly Repo
- Improved Performance: The use of individual repositories for projects allows you to duplicate a subset of your source base. Thus, it increases the performance and scalability of large projects.
- Security and Access Control: multiple repositories enable decentralized system access control. It offers better protection against attacks from remote or even local malicious actors on one’s own infrastructure. It allows you to organize sensitive code in multiple ways for both distributed and centralized systems.
- Enables Third Part Projects: Outsourcing is easier when you have multiple repositories. You can ensure that the third party teams only have access to the project you want them to work on. All you need to do is to give them the repository for the component.
- Increased Productivity: It is possible for anyone looking through a smaller and focused codebase to discover what they are searching for. Also, references are all the more easily understood.
- Flexibility Having one repository per component allows you to assign different tasks for different components.
Disadvantages of Poly Repo
- Difficulty in managing versions and tracking dependencies: It is harder to monitor and manage versions and dependencies when you use multiple repositories. This makes debugging a daunting task.
- Workflow Limitations: It is difficult for engineers to use specific workflows and implement common patterns as well as best practices.