As organizations aim for faster delivery of value to their customers, the frequency of releases inevitably increases, which introduces risks and uncertainty into production systems—unless automated tests and quality gates can be leveraged to provide confidence.
With the increasing adoption of agile software development, DevOps, progressive continuous delivery, and Site Reliability Engineering (SRE) practices, many companies are aiming to deliver better software faster and more safely while keeping up with customer demands. While increased frequency of release cycles does allow for faster delivery of innovation to the market, it requires automation and a high level of reliability to avoid introducing risks into production systems.
Based on survey results gathered during the Dynatrace Perform 2020 conference, we learned that just 10% of organizations have implemented automatic quality gates in their release pipelines. In other words, 90% of organizations either rely on manual quality checks or, even more risky, rely only on hope!
What are quality gates?
Quality gates are benchmarks in the software delivery lifecycle that define specific, measurable, and achievable success criteria that a service must meet before it is advanced to the next phase of the software delivery pipeline. Quality gates can validate any service-level objective (SLO), giving you the ability to ensure automated and consistent evaluation of software quality.
Establishing clear, consistent, and effective quality gates that are automatically validated at each phase of the delivery pipeline is essential for improving software quality and speeding up delivery.
Shift left your SRE practices
During the last six months, Dynatrace introduced release analysis, version awareness, and service-level objectives (SLOs) to the core of the Dynatrace Software Intelligence Platform. We’ve put these platform capabilities into action with automated release validation based on your custom configured SLOs, not only for production but across the entire software development lifecycle. Now we’re happy to announce the release of Cloud Automation quality gates.
Introducing quality gates into your continuous delivery pipeline allows for automated analysis of the quality of your new software versions and planned releases. Service-level indicators (SLIs) are checked against your SLOs early in the lifecycle, including comparison against previous builds. Such quality gates automate the manual task of analyzing or comparing data from numerous dashboards to determine whether a build meets your quality criteria.
By identifying degradation in quality early in the lifecycle, remediation actions can be triggered automatically. This ensures that bad quality releases won’t advance in the pipeline, much less negatively impact your customers’ experience by disrupting production environments.
“Dynatrace Quality Gates has enabled us to increase speed to market with regards to feature delivery” – U.S. based Financial Services Institution who reached 400x reduction in performance evaluation time.
Defining SLOs early in the software development lifecycle—before any code is written in some cases—allows development teams to take responsibility and ownership of their release reliability. Following a “you build it, you own it” approach prompts discussions about what really matters earlier in the process. Automatically validating SLOs with quality gates throughout the delivery pipeline further drives DevOps throughput and fosters adoption of shared metrics and views across all teams.
How the evaluation works
Cloud Automation quality gates query service-level indicators and compare them against service-level objectives. When an objective is met, the quality gate evaluation returns a value of succeeded
. Otherwise, the evaluation returns a value of failed
.
Once your Cloud Automation control plane has been activated you can easily tag any service for evaluation by adding the following two tags to it:
- Key:
keptn_managed
- Key:
keptn_service
; Value:<your_service_name>
To trigger a quality gate evaluation of a newly tagged service, use the provided command-line interface (CLI) or REST API. Following the evaluations, the results are logged in Dynatrace as events. For a detailed step by step guide, go to Get started with Cloud Automation quality gates in Dynatrace Documentation.
What’s next
Level up your continuous delivery by integrating Cloud Automation into your existing DevOps toolchain allowing you to orchestrate the software development lifecycle and remediate issues automatically.
Dynatrace Cloud Automation is currently available as a SaaS instance to all Dynatrace Managed and SaaS customers. Further Dynatrace Managed deployment options will be released in the future.
Seeing is believing
To learn more, see Dynatrace Documentation, contact a Dynatrace ONE product specialist, or have a look at one of our recent blog posts:
- Dynatrace Cloud Automation module provides observability-driven automation across the full lifecycle
- Accelerate DevOps and Scale SRE with Service Level Objectives (SLOs)
- Transparent and confident software delivery with Dynatrace Release Analysis
- A guide to event-driven SRE-inspired DevOps
Release Validation Product Tour
Learn how Dynatrace prevents bad quality code from reaching production with continuous release validation. Automatically evaluate code against pre-defined quality criteria and only progress code when it achieves the desired quality score.
Looking for answers?
Start a new discussion or ask for help in our Q&A forum.
Go to forum