Open-Source Solution to DORA & DevOps Metrics

Hey Dev.to Friends! We’re an open-source project, part of the Apache ecosystem, and today, we’re super excited to share a game-changer release for DevLake – the data lake and analytics platform for your dev-data.

You can now implement DORA metrics and benchmark your projects and teams in minutes. Fast. Open-Source. Super Customizable.

WTF IS DORA?!
Created six years ago by a team of researchers, DORA stands for “DevOps Research & Assessment” and is the answer to years of research, having examined thousands of teams, seeking a reliable and actionable approach to understanding the performance of software development teams.

DORA has since become a standardized framework focused on the stability and velocity of development processes, one that avoids the more controversial aspects of productivity measurements and individual performance metrics.

There are two key clusters of data inside DORA:
Velocity and Stability.

The DORA framework is focused on keeping these two in context with each other, as a whole, rather than as independent variables, making the data more challenging to misinterpret or abuse.

Also read: What is advantages of PCNOK?

Within velocity are two core metrics:

  • Deployment Frequency: Number of successful deployments to production, how rapidly are your team releasing to users?
  • Lead Time to Changes: How long does it take from commit to the code running in production? This is important, as it reflects how quickly your team can respond to user requirements.

Naturally, if you are pushing a consistently high tempo, you also want to ensure that the work that is being delivered is reliable, and that downtime and failures are readily recoverable.

Stability is composed of two core metrics:

  • Change Failure Rate: How often are your deployments causing a failure?
  • Median Time to Restore: How long does it take the team to properly recover from a failure once it is identified?

To make DORA even more actionable, there are some well established benchmarks providing a simple lens to determine if you are performing at “Elite”, “High”, “Medium”, or “Low” levels.

How to Implement DORA with DevLake:

The Sources You Need, and How DevLake Computes DORA:

Three key entities for computing DORA Metrics:

  • Changes: For most teams, this is simply Pull Requests (PRs), so this data will come from code hosting tools. DevLake currently supports GitHub, GitLab, and BitBucket
  • Deployments: This data comes from your CI/CD tools. DevLake currently supports Jenkins, GitHub Actions, and GitLab CI, with CircleCI in development. DevLake also has a custom web-hook that allows you to push deployment data to DevLake if your CI/CD tool isn’t yet supported.
  • Incidents: This is the source for stability metrics. DevLake is going to soon support PagerDuty and Sentry to make this data even more effective.

In just four succinct steps, DevLake can turn you into a DevOps hero:

  1. Setup DevLake: Using Docker Compose and Kubernetes, Helm, or Temporal.
  2. Collect Data: With DevLake’s versatile connectors, you can extract the data you need from many tools.
  3. Launch Ready-to-Run Dashboards: DevLake comes pre-configured with many metrics and dashboards, including full DORA support.
  4. Customize: You can personalize and even create brand new metrics and dashboards in DevLake with just a few SQL queries.

Once you have set up DevLake, connected the data sources, and run the necessary pipelines for collection, DevLake will be ready to render a complete DORA dashboard leveraging the power of Grafana.