Add bring-your-own-cluster onboarding flow to Product Analytics setup
Overview
Bring-your-own-cluster will allow .com and self-managed users to setup Product Analytics with their own cluster, rather than using a GitLab-managed version. This will require an additional onboarding flow.
Resources
Graham's Onboarding Audit is a dummy project (with an Ultimate license) you may use to explore the onboarding experience. The above screenshots are also available in the design manager.
The Figma file is available - please feel free to comment suggestions and feedback in the file as well!
Current Experience
The current onboarding flow for Product Analytics is below:
Step | Description | Screenshot |
---|---|---|
1 |
Project (Must be in a group with an ULTIMATE license) > Analyze > Analytics Dashboards |
|
1B (Optional) |
The user may go to Project > Settings > Analytics > Data sources and input their configuration settings to effectively bring their own cluster. |
|
2 | User clicks the "Set up" button next to inactive Product Analytics in the dashboards listing | |
3 | User clicks "Set up Product Analytics," is shown a loading screen, and then brought to step 4 | |
4 | User is redirected to the "Instrument your application" page where they are given instructions on how to set up data collection within their application | |
5 | If the user leaves the page in step 4, they will see the following "waiting" state in the Analytics dashboard listing. Clicking "Set up" returns them to that page. |
The need
With the addition of BYOC to the current beta offering of managed services, the following general flow is needed:
- User must be within a project attached to an Ultimate license
- User clicks Analyze > Analytics Dashboards to go to the dashboard listing
- User clicks "Set up" on the Product Analytics line item
-
NEW: User sees a description of Product Analytics and is given two options:
-
Self-Managed (This will be the new default state once managed services are rolled out)
- This will guide the user to documentation outlining instructions for installing their own Product Analytics cluster and connecting it to GitLab.com or their own Self-Managed GitLab instance
- The user will need to provide the following instance configuration info (which is the SAME as the info needed in Project Settings > Analytics > Data Sources)
-
User will save configuration
-
Optional - some sort of confirmation they were successful, and a redirect to their product analytics?- This happens already - a confirmation toast shows on successful update
- A link to return might still be helpful once they're done
- This happens already - a confirmation toast shows on successful update
-
-
GitLab Managed - BETA - This is the current version, but let's make it more clear it is in BETA and will eventually be paid (For non-Ultimate or non-paid users, this will transition to a "Talk to sales team"-esque interaction)
- User will be taken to the Instrument Your Application page and will follow those steps
- Once the user's project is ingesting data, this page automatically progresses to analytics
- Per @dennis: This could be tied into some changes we need to make already like indicating what region the Product Analytics beta will be set up in via Make the shared cluster region clearly stated b... (#441989 - closed)
-
Self-Managed (This will be the new default state once managed services are rolled out)
Implementation plan
Based on "proposal 2" below
- add feature flag to allow controlled rollout of new BYOC setup, and expose to frontend
- modify onboarding_view.vue to consume new FF
- if FF is off, continue showing existing ProductAnalyticsEmptyState
- if FF is on, show new ProductAnalyticsProviderSelection (or some such) component
- ProductAnalyticsProviderSelection shows info on the two choices as per designs, and redirects to project -> settings -> analytics -> #data-sources page when selecting BYOC, otherwise continues with existing onboarding process.
- modify project settings page to include banner about setting up new cluster (design 4)
- if configurator/collector/cube URLs are set and don't match our known hostname list, we assume customer is using their own cluster
- if customer is using their own cluster, show alternate banner (design 4B)
- add new docs to describe creating a cluster. Link to docs from banner.
- add the same banner to admin -> settings -> general -> product analytics
- add tests