With a monorepo, you don‘t need to think about which commits work with which other commits. One commit ID is a full description of every subcomponent.
With a monorepo, you don‘t need to think about which commits work with which other commits. One commit ID is a full description of every subcomponent.
No clue if that’s fixed today but it soured the idea of monorepos for me, and that’s not incorporating how often submitqueue would go down.
I've just switched to a company with many tiny repos and IMO it's a huge hassle. There's no automated integration testing, and manual integration testing is a huge pain to set up.
I don't even know how I'd create integration tests that run as part of the CI. What version would I use? If you need to change both sides (very common), coordinating the commits and releases is very painful.
The "monstrously complex" build-and-test pipelines are a significant cost, but the alternative is higher release failure rate and moving slower overall IMO.
1 repo == 1 bounded context == 1 isolated unit of deployment.
Which, well, the Uber people clearly have since these big changes exist.
The most obvious counterpoint: many systems of record need to scale command operations (writes) and query operations (reads) separately.
So you absolutely would have separate programs, ASGs etc for those two roles