Gitlab-like system design advise

Personally, I don’t prefer hot deploys (if you are saying hot code reloading). Although it is a fancy feature, it is hard to do it right. I prefer rolling update, blue-green deployments, etc.

If you are familiar with K8S, you can just use it. Auto-scaling sounds simple, but you still need time to develop it, which is not key feature of your product.


And, there’s a related post - GitGud, GitHub clone entirely written in Elixir