In the previous chapters, we created a basic scalable GitLab architecture using Terraform and Ansible. In this chapter, we will continue with this technique, but we scale down the number of nodes that we'll use so that we don't over complicate matters. To create globally synchronized read-only copies of GitLab instances, we will need to create Geo-enabled GitLab instances that can replicate data. The Geo feature is part of the GitLab enterprise license, so you'll need this license or a trial version to activate it.
You could try and sync copies of databases and files yourself with standard tools such as rsync, but Geo is much more fine-grained than they are. It offers synchronization that's based on events and doesn't continually scan for change delta's such as rsync. Another of Geo's...