How we designed the GitLab Reference Architectures