We took a brief look at the GitLab architecture in Chapter 1, Introducing the GitLab Architecture. It was explained that a GitLab Runner registers with a GitLab instance and waits for a job to execute. Unlike the individual components that are a part of the GitLab frontend application server, the runner has a very straightforward architecture. The communication between a runner and its GitLab host is basically one-way.