The monorepo approach has several advantages: A closer look at the benefits of monorepos - and some of the misconceptions - may help you decide if a monorepo environment is best for your team.
#Stella architect advantages disadvantages how to
At some point, you realize that no one knows how to build and deploy the entire system.Īlthough polyrepos seem to be the natural choice for microservices, monorepos with unified and automated build and deploy pipelines can mitigate many issues. System knowledge is spread across multiple repos maintained by different teams. However, using separate repositories introduces risk. A small team can rapidly implement, and independently deploy, a microservice for high-velocity software development. For example, some developers may use Python for artificial intelligence (AI), while others use Java or. The teams develop microservices independently, using different, problem-specific tools and programming languages. polyrepo for microservicesĪs microservices architecture becomes more popular, teams tend to split their code into many repositories (the so-called polyrepos).
This article outlines the differences between monorepos and polyrepos, weighs the pros and cons of monorepos, and helps you determine whether a monorepo is the best choice for your team. Though maintenance is straightforward, this method reduces overall velocity because a few difficult-to-fix bugs can prevent a team from deploying release candidates to production. This approach is natural for most applications or systems developed using a monolithic architecture.Ĭode in such a monorepo typically has a single build pipeline that produces the application executable. Typically, teams split the code of various app components into subfolders and use Git workflow for new features or bug fixes. In a single, monolithic repository, also known as a monorepo, you keep all your application and microservice code in the same source code repository (usually Git).