10 Comments
User's avatar
sandeep seshadri's avatar

What tool do you use for diagraming?

sakura mizuno's avatar

Diagram as code - mermaid.js

Ravindra's avatar

Hi Sandeep

I am laso interestred about the tool. but one tool i know is "excalidraw" that is opensource and free to use.

Ravindra

Big Tech Digest's avatar

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

SeanLS's avatar

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".

Brent Brewington's avatar

Heads up “standards” is mis-spelled in the diagram as “stadndards”

Neo Kim's avatar

Open-sourcing projects that use a Monorepo could be difficult as setting access control would be non-trivial due to shared dependencies.

Yassine Bouchoucha's avatar

the most underrated topic among developer and even inside enterprise team !

fsramalho's avatar

Another great tool for monorepos that is not listed there is Pants https://www.pantsbuild.org/

Richard Demsyn-Jones's avatar

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