DEV Community

Pavan Belagatti
Pavan Belagatti

Posted on

What do you prefer and why? Mono repo or multiple repositories?

Moving to Microservices Architecture?

We believe mono repos are the right choice

It is not just about moving to Microservices, when creating a system to perform a specific task, you need to make one decision clear, i.e, whether to keep the code in one repository or split it across multiple repos.

We wrote an in-depth article on why we believe mono repos are the right choice for us.

What do you prefer and why? Mono repo or multiple repositories?

Top comments (2)

Collapse
 
sharpdog profile image
SharpDog

I recently left a small company. Our product consisted of a data ingestion application and a data analysis application. We ended up using 8-9 repos for development. We had exactly one developer ... me. There was even insistence that I use pull requests .... so I would be reviewing my own pull requests. My last effort there ws to convert our desktop data analysis app to a web app. Now realize, this app was used in an environment where there was no web access to the outside world (for security reasons).

All of this was done because of software development fads and hearsay.

Ohhh, use this xyz tech, everyone is using it ...

Personally I like to keep things as simple as possible. If there's a legitimate, strong reason to use multiple repos then fine. But, in my current company and in the 30+ years before that excepting the company I mentioned first here, we have gotten along quite well with one repo. Some companies I have worked for have had hundreds of millions of customers and hundreds of applications.

I also strongly believe in using the best tool for the job. This would include some semi-technical reasons such as avoiding proprietary lock-in, unplanned obsolescence and availability of future support including developer support.

So, fairly conservative when choosing strategic technologies.

In order to 'keep up with the joneses' I believe in occasional pilot projects to research and develop the use of new technologies into strategic technologies. This would be the domain of the software architects in any company.

Collapse
 
varmaprr profile image
varmaprr

Mono