DevOps platform vendor GitLab is expanding the capabilities of its platform with new features for value stream management as well as remote development.
GitLab is often identified as a primary competitor to GitHub for code hosting and DevOps tools. One of the ways that GitLab is trying to differentiate itself now is with the GitLab Value Streams Dashboard, which it launched as a beta service on Jan. 24. The Value Streams Dashboard provides metrics that DevOps professionals can use to validate progress and identify the value that a given development project is generating.
Alongside the value stream capabilities, GitLab also launched a preview of a Remote Development feature for enabling developers to more easily work in different environments with a common toolset.
"During our validation research, we identified that our users' main pain point is connecting their technology investments to business outcomes," Haim Snir, senior product manager at GitLab, told ITPro Today.
How GitLab Value Streams Dashboard Helps DevOps
The concept of value stream management is about determining the business impact and the value that a development effort can bring to an organization.
Snir noted that for GitLab, the majority of its users viewed DORA metrics as being particularly meaningful for measuring DevOps. The DevOps Research and Assessment (DORA) group is run by Google and produces an annual report on the techniques, strategies, and metrics that help to make DevOps teams successful.
The GitLab Value Streams Dashboard beta includes a comparison view of DORA and value stream flow metrics, which include measurements on lead time, cycle time, new issues, and deployments, according to Snir.
"These metrics were previously available to GitLab users, but at the time, they were spread across multiple pages and required specific filters to be relevant," he said. "Now, these metrics have been consolidated to provide a streamlined and easily accessible source of information."
To complete the value cycle, Snir said GitLab is also developing a new business value widget that will provide product usage metrics, including page views and session time as well as objectives and key results (OKRs) and cost metrics.
GitLab Value Streams Dashboard Works to Improve DevOps
In the initial iteration of the Value Streams Dashboard, Snir said the metrics are aggregations of multiple data records from different APIs across the DevOps lifecycle and are visualized in different dimensions.
For example, the DORA deployment frequency is calculated from the number of finished deployments on a given day and aggregated in the dashboard as daily average per month. For lead time for changes, GitLab is measuring the time from code committed to code successfully running in production. Change failure rate and time to restore service are calculated from two data sources — deployments and GitLab incidents — and aggregated into monthly results in the dashboard.
The goal with the beta release is to have a positive out-of-the-box experience for software leaders, Snir said. That experience is achieved with predefined widgets that map into different enterprise use cases.
"Our goal is that when onboarding, users will automatically get insights from DevOps data and can later start to customize DevOps logic in the dashboard," he said. "For this customization, we are developing a new schema-driven approach."
GitLab Remote Development Set to Enable More Flexible DevOps
The goal with the new GitLab Remote Development technology is to enable developers to easily define a development environment and reproduce and deploy it.
The vision for Remote Development is to enable users to define a development environment in a devfile stored in a repository, including all the relevant dependencies and configurations, then automatically provision instances of those environments in a Kubernetes cluster as needed, Eric Schurter, principal product manager at GitLab, explained. The end result is an ephemeral, personal development environment that replaces the need for installing and managing local dependencies.
"There’s no need to create anything locally or work directly with VMs to create these environments," Schurter told ITPro Today. "All you need is a devfile, a cluster running GitLab Agent, and either a custom or templated container file."
There are a number of benefits to the developer experience and organizational efficiencies that come from adopting remote development environments, Schurter said. Adopting remote environments can make developers and teams more efficient in onboarding, provide more consistency in the tooling and overall developer experience, and improve security by limiting the need to clone source code to local machines, he said.
"When developers can start a new, stable, and consistent environment with a single click, they can onboard onto new projects quickly and seamlessly," Schurter said. "The cost of context switching is low, making it easier for developers, especially open source contributors, to provide code reviews and contributions across multiple projects."
About the authorSean Michael Kerner is an IT consultant, technology enthusiast and tinkerer. He consults to industry and media organizations on technology issues.