Introduce an Infrastructure landing page (potentially a Dashboard)
Problem to solve
We discover from user research that the users are currently have a bad experience investigating what code is running on what infrastructure, what version of the code is running on each environment, lacking an high level overview of their system.
Intended users
- Sasha (Software Developer)
- Devon (DevOps Engineer)
- Sidney(Systems Administrator)
- Priyanka (Platform Engineer)
User experience goal
The goal of this feature is to allow users have an overview of their environments without having to navigate to multiple places in GitLab, or run a series of commands in their terminal to get this information.
Proposal
The idea is to introduce a dashboard for Operations (at the same time rethink the dashboards on the top navigation and see if they are actually used). The user would land on the Dashboard when they click on "Operations" in the left hand side navigation. The dashboard would provide a complete overview of their Infrastructure and configuration.
I have not taken the time to create a clear idea for this proposal, some of my current ideas are:
- Surface all the Cloud infrastructure components (eg. Kubernetes clusters, EC2 instances, VMs, Serverless functions).
- Surface non-cloud infrastructure components (not sure this is possible).
- Surface any shared configuration files or projects.
- Allow users to
View by
environment or any other way they want to view their infra by. - Show high level infrastructure usage and metrics info that allow the user drill in the Metrics.
- Provide a preview to each infrastructure element, eg. Clusters
- Use this Dashboard to alert the user about any errors, failures or anything that requires attention.
- Create visibility of what application/services run on what environment and specific infrastructure.
- In my understanding, there is not a single tool that provides a good user experience to review which project and version is running on what infrastructure (https://gitlab.com/gitlab-org/gitlab/-/issues/210491#note_305520604).
Essentially the idea is to have a Dashboard that summarises the infrastructure side of Ops and allows the user to drill into the different areas that help the users configure and manage their infrastructure.
Further details
The Dashboard will also be used as the central place for Error and Alert display for the totality of the infrastructure or each infrastructure component specifically. In addition, it will be the place for the user to drill into different Ops areas like configuration, metrics, logs, packages etc as each area will have its own overview in the Dashboard. It will also be a great opportunity to make users aware of functionality by adding empty states for un-configured areas.
I imagine a graphical design (common for dashboards) that will deviate from the list views we have in GitLab. This proposal aligns with Dashboard initiatives from other Stages.
We could take advantage of the Terraform state (if given persmissions) to get the core infrastructure components)
Permissions and Security
TBD
What does success look like, and how can we measure that?
By introducing this section we aim to increase the adoption of the features of Ops. We can measure success by tracking increase of infrastructure importing in GitLab and by the use of the actual Dashboard.
What is the type of buyer?
- TBD
- Director - Infrastructure
Is this a cross-stage feature?
Possible. We might surface information from the Dev section.