4 ms·
facebook, google, airbnb, quora, many more all use monorepo obviously there are many others who do not use monorepo (amazon comes to mind) but it's reasonable
by huac 8y ago
facebook, google, airbnb, quora, many more all use monorepo
obviously there are many others who do not use monorepo (amazon comes to mind) but it's reasonable to claim that they are actually widely used and fundamental when used
- msangi 8y agoAll the companies have in common a huge budget they can invest on their build systems to overcome the shortcomings of monorepos. They do have some benefits, but they also come with an immense cost
- ratRaces 8y agoA monorepo isn't particularly innovative, if the technical subgroups can create arbitrary subdirectories and branch ad infinitum. Of course it's easy to work with a monorepo, when you can create a folder to stash your stuff in, bury important stuff deep in a nested tree under your home root, and then hide iterations in branches you own. That's what every smart person does in repos they have no control over.
- bluGill 8y agoMany companies do use a monorepo. Many other companies do not. There are trade offs.
- jhenkens 8y agoMicrosoft uses it for Windows as well, which was so large they wrote their own git filesystem to power it.
- vruiz 8y agoDoes anybody know how these companies development environments look like? I know about Piper at Google but how do the rest manage? Does every single engineer have the entire monorepo in their machines?
- YawningAngel 8y agoMost places I know of use Git Virtual File System or equivalents.
- Shish2k 8y agoAt facebook, a virtual filesystem (https://github.com/facebookexperimental/eden https://github.com/facebookexperimental/eden) + change monitor (https://facebook.github.io/watchman/ https://facebook.github.io/watchman/) = source control operations run in O(files I have modified) instead of O(size of repository) time
- vruiz 8y agoVery interesting, thanks!
- venantius 8y agoAirbnb uses a monorepo for JVM-based project but most of Airbnb's code at least as of mid-2017 was not run on the JVM and was hosted multi-repo.
- fjp 8y agoWhat are AirBnb's unique scaling issues other than just being a web app with tons of usage? Uber has navigation, route optimization, queuing, etc. Facebook has to propagate activity our to massive and complex social network graphs. I'm not discounting the toughness of operating at Airbnb's scale, but from my limited understanding it seems like they are not solving a new problem.
- novok 8y agoMap search, automatic dynamic pricing, predicting busy periods, predicting user & provider preferences, etc.
- huac 8y agoi was a data scientist so i knew of monorail but never touched that side of things :)
- chairleader 8y agotil! Most of my experience with large, single-repository projects are just plain monoliths. The design goal we strive for tends to be the microservice architecture, assuming that isolation of responsibility leads to more maintainability, better decision making, etc. I can see how, with a well disciplined team, the monorepo could have the best of both worlds.
- twic 8y agoNotably, Netflix doesn't (or least didn't): https://medium.com/netflix-techblog/towards-true-continuous-integration-distributed-repositories-and-dependencies-2a2e3108c051 https://medium.com/netflix-techblog/towards-true-continuous-...