GitLab Regions
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
### Problem to solve
<!-- What problem do we solve? Try to define the who/what/why of the opportunity as a user story. For example, "As a (who), I want (what), so I can (why/value)." -->
GitLab.com is hosted within the United States of America. For customers located in other regions of the world, for example the EU, this may cause a number of problems. First, compliance constraints may require data to reside in a specific location. For this reason some customers may need all data data to remain within a specific region. Second, latency and usability concerns may bias customers to co-locate their data. Both of those use cases can be addressed already via self-managed installations and Geo but no solution is available for our SaaS offering.
### User experience goal
<!-- What is the single user experience workflow this problem addresses?
For example, "The user should be able to use the UI/API/.gitlab-ci.yml with GitLab to <perform a specific task>"
https://about.gitlab.com/handbook/engineering/ux/ux-research-training/user-story-mapping/ -->
As a customer, I can decide where my data resides when signing up to ensure that I can stay compliant with local regulations and/or to reduce any latency.
### Proposal
<!-- How are we going to solve the problem? Try to include the user journey! https://about.gitlab.com/handbook/journeys/#user-journey -->
There are multiple possible ways to address this problem:
1. Create a new GitLab.Region instance e.g. GitLab.eu (see https://gitlab.com/gitlab-org/gitlab/-/issues/12445).
1. Distribute most of GitLab's database, Git data and other services across regions. This would allow customers to select where a top-level namespace should reside.
Different regions and + self-hosted instances could be joined via [federation](https://gitlab.com/gitlab-org/gitlab/-/issues/6468)
### Further details
<!-- Include use cases, benefits, goals, or any other details that will help us understand the problem better. -->
* If we decide to create a different Region for GitLab, we should think about uniqueness constraints across instances to allow for data migrations
* How are we going to handle users and authentication?
* What about federating search?
### Available Tier
<!-- This section should be used for setting the appropriate tier that this feature will belong to. Pricing can be found here: https://about.gitlab.com/pricing/
* Free
* Premium/Silver
* Ultimate/Gold
-->
* Free
* Silver
* Gold
### What does success look like, and how can we measure that?
<!--
Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this.
Create tracking issue using the the Snowplow event tracking template. See https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Snowplow%20event%20tracking.md
-->
* Customers can select a specific Region
### What is the type of buyer?
<!-- What is the buyer persona for this feature? See https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/buyer-persona/
In which enterprise tier should this feature go? See https://about.gitlab.com/handbook/product/pricing/#three-tiers -->
* Customers who are compliance and data residency conscious but would still consider SaaS because they don't want the overhead of managing GitLab themselves
### Is this a cross-stage feature?
<!-- Communicate if this change will affect multiple Stage Groups or product areas. We recommend always start with the assumption that a feature request will have an impact into another Group. Loop in the most relevant PM and Product Designer from that Group to provide strategic support to help align the Group's broader plan and vision, as well as to avoid UX and technical debt. https://about.gitlab.com/handbook/product/#cross-stage-features -->
Yes
### Links / references
- [Overview of how Vendors handle Regions](https://docs.google.com/spreadsheets/d/1JgYVWfH19q4R3N0tZXAmbtPsR7JdbTjvwdjwdiWmYn8/edit#gid=0)
- Google Suite: https://support.google.com/a/answer/7630496?hl=en
- Office 365: https://docs.microsoft.com/en-us/microsoft-365/enterprise/eu-data-storage-locations?view=o365-worldwide
<!-- Label reminders - you should have one of each of the following labels.
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->
epic