“Improving large monorepo performance on GitHub”
I always find it interesting to learn how well-known services work under the hood and what efforts are being done behind the scenes to solve performance or other productive issues.
Like GitHub, for example. They have found that sometimes with very large monorepos (repositories that contain gigabytes of code and are pushed to every few seconds) there are failures when pushing commits.
That’s why the many different teams got together and turned various screws, and the errors were finally eliminated.
In addition, one learns that GitHub is moving their code from a Ruby monolith to Go-based microservices.
We’re also in the middle of a significant refactoring effort, doing our part to decompose GitHub’s famous Ruby monolith, and writing a new microservice in Go that will improve repository performance for every single user on GitHub.
Tags: GitHub, Go