Implementing GitLab HA
How you choose to implement GitLab in a highly available environment is dependant on a number of factors:
- The environment you're deploying to
- Your desired SLO/SLA for the organization
- Your experience with administering other HA solutions
- Your security requirements
The solution you choose will be based on the level of scalability and availability you require. The easiest solutions are scalable, but not necessarily highly available. In addition, the definition of "highly available" can vary from organization or organization.
Environmental
The environment where GitLab will be deployed has the most impact on the final HA architecture. An on-premise bare metal installation of GitLab will utilize much different technology than one deployed into a public or private cloud provider. In the next sections, we will go in-depth on on-premise vs. cloud deployment of GitLab.
Desired SLO/SLA
The balance you want to achieve when selecting an HA architecture is between complexity and the desired state - a highly available system. The most available systems in the world often have the most complex architecture because they must plan for every eventuality an not allow even seconds of service unavailability.
Past HA experience
If you or your team has experience with deploying HA applications in the past, you should consider those technologies and lessons learned first before taking on a new unknown technology or architecture. For instance, if your organization already has a standard for highly-available file storage (such as an NFS appliance or highly-performant SAN) for other applications (SAP or other enterprise applications) then you should first consider using those "known" solutions before architecting something brand new to your organization just for GitLab.
Security requirements
Another factor that has an impact on the design of any system architecture are the specific security requirements of your business. GitLab has customers in every vertical - financial services, federal governments, healthcare, etc. - so the technology can be hardened to match the requirements of any business. But understanding those requirements and their impact on system architecture is critical. A later section of this certification will go into security in depth.
Next
You can close this issue now