This week’s system design refresher: Top 6 most popular API architecture styles (Youtube video) Monorepo vs. Microrepo Inside the HTTP Header Developer Roadmaps Bytebytego Collective Top 6 most popular API architecture styles Do you believe that Google, Meta, Uber, and Airbnb put almost all of their code in one repository?
I reckon it was the transition to microservices that caused a real surge in microrepos around 2013/14-ish. The trend is changing and businesses started noticing that this pattern is no silver bullet. Most of the microservices implementations I've witnessed were in fact distributed monoliths where memory calls were replaced with network RPC. I don't want to say microservices are bad, just that I foresee more microliths emerging which might refine the broader code versioning strategy and lead to monorepos becoming increasingly popular.
Mono repo - Google "developed its internal dedicated toolchain", this is due to its initial repos coming from a CVS style repo. It a legacy dependency they are stuck with for their legacy products and services. If you look at Android and Chrome, they are their own repos.
We need to call a spade a spade in these cases. A proper analysis of the pros and cons of each approach should be done and not follow a "because company x does it".
I like the callout of shared dependencies in a monorepo. There's the automatic version upgrading that you describe, which has both advantages and disadvantages, but there are also basics like easy sharing of configuration and constants. I wrote a post where I tried to explain why I miss this from my monorepo days, and how I haven't really found a solution I like in a microrepo setup: https://simplicityissota.substack.com/p/shared-constants-across-programming
What tool do you use for diagraming?
Diagram as code - mermaid.js
Hi Sandeep
I am laso interestred about the tool. but one tool i know is "excalidraw" that is opensource and free to use.
Ravindra
I reckon it was the transition to microservices that caused a real surge in microrepos around 2013/14-ish. The trend is changing and businesses started noticing that this pattern is no silver bullet. Most of the microservices implementations I've witnessed were in fact distributed monoliths where memory calls were replaced with network RPC. I don't want to say microservices are bad, just that I foresee more microliths emerging which might refine the broader code versioning strategy and lead to monorepos becoming increasingly popular.
https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90
Mono repo - Google "developed its internal dedicated toolchain", this is due to its initial repos coming from a CVS style repo. It a legacy dependency they are stuck with for their legacy products and services. If you look at Android and Chrome, they are their own repos.
We need to call a spade a spade in these cases. A proper analysis of the pros and cons of each approach should be done and not follow a "because company x does it".
Heads up “standards” is mis-spelled in the diagram as “stadndards”
Open-sourcing projects that use a Monorepo could be difficult as setting access control would be non-trivial due to shared dependencies.
the most underrated topic among developer and even inside enterprise team !
Another great tool for monorepos that is not listed there is Pants https://www.pantsbuild.org/
I like the callout of shared dependencies in a monorepo. There's the automatic version upgrading that you describe, which has both advantages and disadvantages, but there are also basics like easy sharing of configuration and constants. I wrote a post where I tried to explain why I miss this from my monorepo days, and how I haven't really found a solution I like in a microrepo setup: https://simplicityissota.substack.com/p/shared-constants-across-programming