a
a
aizatto.com
Build.my
GitHub
Linkedin
Notion
Search…
aizatto.com
Table of Contents
Portfolio, Projects, Tools, Toys
Interview Guide
Engineering Code
Engineering Management
Why GitBook?
Getting into Tech
Personal Goals
Daily Drivers
Contacting Me
Notes
AWS
JavaScript
Node.js
Software Engineering
Pair Programming
Software Architectures
Repository Management
Technical Due Diligence
Web Development
Archive
More on Notion
Powered By
GitBook
Repository Management
Single Repository (Monorepo)
Pros:
Knowledge Sharing
Common styles and themes
Easier for team members to switch projects
Easier to track dependencies between projects
Example: I don't have to find the repository where a particular service lives
Engineers can see work and progress of other people
Engineers are not siloed
Cons:
Possibility of a lot of noise/overheads
Examples:
Angular
Babel
Ember
Jest
React
Tools:
For JavaScript/Node.js:
Lerna
​
Alternatives:
Consider having fewer repos, but larger
Examples:
Facebook
Actually has many repos, but few (say less than 10)
Google
One huge repository built by Google
​
Microsoft's Azure
​
Twitter
Multiple Repositories (Multirepo)
Pros:
Independent teams and styles
Cons:
Problems with coordination
Limits knowledge sharing across repositories
Context switching between work across repositories
Hard to enforce styles
Smaller repos, but many
Engineers can be siloed
Hard to track depedency management
Common in:
Microservices
FaaS / Serverless
Examples:
Amazon
Skype
Also known as:
Polyrepo
Comparison Matrix (Software Architectures vs Repository Styles)
​
Monolithic
Non Monolithic
Monorepo
Option A
Option B
Multirepo
Option C
Option D
A: Monolithic and Monorepo
Pros:
Knowledge sharing
B: Non Monolithic and Monorepo
C: Monolithic and Multirepo
D: Non Monolithic and Multirepo
Cons:
Increased operaitonal complexity and cognitive load
Previous
FaaS (Functions as a Service) or Serverless
Next - Notes
Technical Due Diligence
Last modified
2yr ago
Copy link
Contents
Single Repository (Monorepo)
Multiple Repositories (Multirepo)
Comparison Matrix (Software Architectures vs Repository Styles)
A: Monolithic and Monorepo
B: Non Monolithic and Monorepo
C: Monolithic and Multirepo
D: Non Monolithic and Multirepo