Three years ago, I toured through the US, Europe, and Asia giving hands-on training sessions on what I then called the “Unbreakable Delivery Pipeline Tour”.
You may be asking yourself now: “Unbreakable WHAT??”
“The Unbreakable Delivery Pipeline” automates the delivery and operational tasks to increase the delivery frequency and reduce lead time, while ensuring never releasing breaking changes in production. Back in 2018, we taught those DevOps concepts and implemented unbreakable pipelines for cloud-native delivery projects. Today, it’s great to think back to those times when reading through my old blog posts such as the “Mid-Tour Backstage Report” – thanks to every individual who attended!
With all the technology changes through the past three years, with the world moving to K8s, the rise of GitOps, everything as code, event-driven automation, and many new open standards in the cloud-native space, it was time to update our workshop. And, as we at Dynatrace have innovated through our CNCF project Keptn and just brought answer-driven release validation to our Dynatrace Cloud Automation solution it was easy to pick a new name for our new tour: “Cloud Automation Workshop Tour”
Cloud Automation workshop attendees not only get to walk through my Three-step implementation guide to answer-drive SLO-based release validation, but they also get to trigger multi-stage and multi-environment cloud automation including Monitoring As Code, Deployment Automation, and SLO-based Release Validation.
Last week we kicked it off with a three-hour virtual hands-on workshop. The initial plan was to do it onsite in Ohio, but – I guess I don’t have to tell you why – we decided to start virtual first. I want to say THANKS to the first 30 attendees that made it through our labs, providing valuable feedback that allows us to bring the workshop to the next batch of Cloud Automation engineers.
Throughout the rest of this blog, I will highlight what was and will be taught in the workshop so you can decide for yourself whether you want to join us on our upcoming stops.
Hands-on 1: Your first quality gate
The goal of every hands-on session is to deliver “5-minute success moments” (thanks to Michael Friedrich for introducing me to this term). For our first hands-on session, this means enabling an automatic SLO-based quality gate without having to think about Service Level Indicators (SLIs) or SLOs.
All it takes is putting two tags (keptn_managed and keptn_service) on the monitored Dynatrace service we want to enable a quality gate for. This works for any service whether it runs in k8s, on a VM, or even the mainframe. Once tagged, the service gets automatically synchronized with a default quality gate whose evaluation can be triggered using the Keptn API or the CLI:
The first hands-on session is easy to accomplish the 5-minute success challenge, but things heat up in our second session as we walk attendees through either Codifying the SLOs in YAML or using a Dashboard-based definition approach. Both approaches are enablers of GitOps-based automation.
Hands-on 2: Codify your SLOs
For easy access to all configuration files relevant for Dynatrace Cloud Automation, we start by setting an upstream git to our own GitHub, GitLab, Bitbucket, Azure DevOps, or any other git compliant version control system. This allows attendees to modify quality gate criteria, change the weight of individual SLOs, or even add new SLIs that should be analyzed as shown in the screenshot below.
The separation of SLIs and SLOs and the codified approach allows organizations to Shift-Left quality definition and automate release validation into the development process. Developers can define which metrics (=SLIs) they are interested in while DevOps & SREs stay in control of the criteria (=SLOs) that allow changes to be deployed into production.
But – not everyone likes to deal with YAML – or at least not start with it right away. This is where the dashboard-based quality gate definition comes in.
Hands-on 3: Dashboard based Quality Gates
To make it easy to define Quality Gates, without having to deal with understanding the Dynatrace Metrics API, YAML, or Git, attendees also learn how to define quality gates by simply creating a Dynatrace dashboard – shown in the screenshots below.
All you need to do is create a dashboard with the most relevant metrics that are important for you (=SLIs), then add your pass and warning criteria as part of the charts (=SLOs). Dynatrace Cloud Automation then automates the analysis of the data on that dashboard for the timeframe of the quality gate evaluation.
Now it’s time to integrate Quality Gates into your DevOps processes to automate the evaluation of new releases.
Hands-on 4: Integrate into your existing DevOps automation
In this section of the workshop, attendees learn how to speed up the lead time of their existing delivery pipelines by integrating Dynatrace Cloud Automation quality gates from tools such as Jenkins, GitLab, Harness, Azure DevOps or others.
While there are several existing integrations, the very easy-to-use Keptn API or Keptn CLI enables integrations with ANY type of tool your organization uses.
Hands-on 5: End-to-end cloud (native) automation
Automated quality gates are a great start – but – there is so much more we want and can automate.
To give you an insight into what’s possible by leveraging the full potential of Cloud Automation, attendees also get to explore the end-to-end automation use cases that the underlying Keptn open-source project brings to Dynatrace Cloud Automation. To explore these use cases our lab environment comes with a staging and a production k8s environment. Both environments are installed with the Keptn Execution Plane allowing multi-stage automation sequence including monitoring as code, deployment, testing and cross-stage promotion. Here are a couple of screenshots of the hands-on activities:
A highlight for me in those use cases is the automation of Dynatrace Synthetic – for both availability monitoring in production as well as integration- and stability-testing in staging. Attendees will see and learn for themselves what else is possible with the event-driven power of Dynatrace Cloud Automation powered and extended by Keptn!
Extras: SLOs & release inventory
I’ve got to admit, we actually ran out of time at our kickoff event, meaning we didn’t get a chance to walk through the “extras”. But as every attendee has full access to the workshop material, they can run through the additional hands-on themselves. The extras focus on SLO monitoring with Dynatrace in production and some behind-the-scenes learnings for Dynatrace Release Analysis:
If you want to join our next tour date, let us know!
This is just the beginning. We’ve already received a lot of feedback during the kickoff event, such as splitting the event into an introductory and a hands-on piece, and we also got some good ideas on how to provide an even better technical hands-on experience for those attendees working on laptops with very high security restrictions.
If you’re interested in being part of the Cloud Automation Workshop Tour, please reach out to me, or contact any other Dynatrace representative and let them know that “you want to join Andi on his Cloud Automation tour”. 😊
For now, however, it’s time to enjoy some summer vacation I am sure we will be back in the fall and finally getting this thing on “the real road”!
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.