5 ms·
You lost me at monorepo. That might work at a very small scale, but past that monorepos create more problems than they solve.
by randmeerkat 5y ago
You lost me at monorepo. That might work at a very small scale, but past that monorepos create more problems than they solve.
- delta1 5y agoLike google scale?
- randmeerkat 5y agoSure, if you want to write your own version control system and also your own computer language to support it.
- delta1 5y agoThere are many other examples of large scale monorepos. They in no way require custom version control nor programming language.
- randmeerkat 5y agoWhat are the other examples you’re referencing?
- hsn915 5y agolike what?
- randmeerkat 5y agoLike versioning services, deployment of the code base, breaking out new microservices, transitioning to any container based deployment solution. Monorepos aren’t just a nightmare for release management, they’re a nightmare for any sort of single responsibility oriented architecture. I’m really exhausted of “senior devs” that believe they’re architects championing monorepos just because they’re too lazy to change minor versions in a repo.
- gonehome 5y agoLike anything it's a tradeoff. You trade simplicity of having everything in one place vs. ability to independently version pieces at the cost of more complex tooling and build systems required to test. Usually there's some sweet spot, but the answer isn't obvious and one isn't clearly better.
- hsn915 5y agoWhy is any of this necessary? You have to understand, many of us think microservices is a stupid idea, so the fact that the core of your argument is "monorepos make microservices difficult" is not an appealing argument.
- wirrbel 5y agoWhere is this 'microservices is not the answer to everything' club? I want to sign up.
- funcDropShadow 5y agoThe definition of an ideology is a school of thought that claims to have the answer for everything. What does that tell us about the microservices fan club?
- hsn915 5y agoI don't know any online community that esposes some of the ideas I believe about web technology. There's "handmade network" but they don't seem to be much into web programming.
- Osiris 5y agoI'm not a fan either. In my opinion to do monorepos right you have to have a lot of tooling to handle all the special cases and scenarios and small teams just don't have the bandwidth so they use off the shelf tools that force them into a specific workflow and they end up at the mercy of the tools.
- ratww 5y agoSuch cargo-cult statements never work in absolutes. Saying that "monorepos are only good for large scale" is pure bullshit, and something that only someone very inexperienced would say. I'm in a very small company (less than 10 devs) but we still use a monorepo, because we have a set of common libraries for all our products, and having a monorepo helps us update those libraries without breaking anything. On the other hand, some very large companies have tried and have failed. Monorepos are just a tool. The implementation and the context matters more than anything else.
- hbn 5y agoNot disagreeing, but I think he was saying the opposite of "monorepos are only good for large scale"
- bob1029 5y agoA monorepo saved our company. When you let every developer have their own personal repo like it's some isolated minecraft instance, you will struggle to create 1 big valuable thing. Monorepo forces the tough conversations. Maybe the organization should only use 1 language now. Maybe we should talk about code review policies and standardization of other processes since everyone is in the same bucket. Why can't everything just compile to 1 exe? Another massive advantage with a monorepo if you use GitHub is that you now have 1 issue bucket that covers the entire enterprise. Linking issues to commits is super powerful when this technique covers 100% of your code and exists under 1 labeling scope.