3 ms·
It kind of feels like Sid is lying through his teeth here, as a person who deploys and maintains a private Gitlab installation, along with a whole host of other
by nonameiguess 4y ago
It kind of feels like Sid is lying through his teeth here, as a person who deploys and maintains a private Gitlab installation, along with a whole host of other core platform services for internal use. Gitlab is by far the most modular off-the-shelf product I've encountered outside of JFrog's Xray. Look at their official Helm chart: https://gitlab.com/gitlab-org/charts/gitlab https://gitlab.com/gitlab-org/charts/gitlab. Gitlab itself consists of 14 sub-charts and it also bundles 4 third-party sub-charts for object storage, a web proxy and ingress controller, certificate management, and the internal container registry. Gitlab without the third parties I believe consists of 15 distinct containers.
I don't think it matches what most people think of when they hear "monolith." It is absolutely not a single process only communicating between components via function calls. Many of the Gitlab core services, such as Gitaly, are written in Go, as well, not Ruby, though they also have "gitaly-ruby" as a testing service that can be used by developers not comfortable with Go.
- native_samples 4y agoHe mentions gitaly in the blog post.
- john_cogs 4y agoGitLab team member here. Sid addressed GitLab's use of Go in a comment on a previous discussion of this article from last week: https://news.ycombinator.com/item?id=31687289 https://news.ycombinator.com/item?id=31687289 He wrote: "We're moving the 20% of the app consuming 80% of the compute to Go." His comment also highlights another benefit of the way our core services are structured: reusability.