An inside look at the infrastructure of

Apr 29, 2016 · 2 min read · Leave a comment
Tomasz Maczukin GitLab profile

A number of people have asked about the infrastructure of Our passionate and curious Twitter followers inquired specifically about how many servers we use for Given the number of questions we've gotten on this topic, we wanted to go ahead and offer an inside look at our infrastructure. In this post, you'll find out just how many servers we use. You'll gain some perspective on what those servers are up to.


For running as an application we have:

Those are servers that we manage directly. With that, the server count is at 38.


We also use 6 of Azure's "Availability Sets": 3 for load balancers, 1 for Redis HA, 1 for PostgreSQL HA, and 1 for Elasticsearch HA. Each of these Availability Sets has its own "internal" load balancer that is managing the HA traffic. If we count them as a servers, then we need to add 6 servers (now, the count is 44).

We also have 3 servers for GitLab Runners in autoscale mode. Two of them are managing autoscaling of runners for GitLab CE/EE projects (so they are used only by GitLab and I will not count them). But the third is used to manage autoscaling for Shared Runners at So +1 for the "Shared Runners manager."

We also have some servers that are specific for GitLab as a company (Runners for building Omnibus packages, etc.) but I wouldn't count that as a part of

And at the end, we have 45 servers that are used to make a usable application for our users.

But wait, there's more

Ah! Don't forget about autoscaled Docker machines! Each user's builds are running on Docker hosts created "on demand" by the autoscaling mode of the Runner. Last week, I looked at a diagram of the machine utilization and it showed that we had:

Because Shared Runners can be used by all users then I would count them as well!

Final count

So, the answer is, is currently running on 45 servers. However, if we also count the build hosts for Shared Runners, then is using 60 to 200 servers!

We appreciate the question and the curiosity. As always, keep the questions coming! You can also visit our Operations issue tracker for a live look at what the team is working on.

Open in Web IDE View source