Dynatrace Cloud Automation already validates your releases and provides AI-powered quality answers for different release versions. However, getting deeper insights into every lifecycle step is key for increasing release frequency and quality. By following the DevOps mantra of shifting left, the new lifecycle orchestration capability of Dynatrace Cloud Automation allows you to fully automate tasks that lead to a validated release and those that need to be executed after validation.
Intertwined processes slow down automation at scale
Developing applications based on modern architectures comes with a challenge for release automation: integrating delivery of many services with similar processes but often with different technologies and tools along the delivery pipelines. Different teams tend to work independently on their own (micro) services, resulting in individual tech-stack requirements for these services. However, the teams still share common patterns of processes to manage the software lifecycle. For example, deploying, testing, validating, and releasing software are shared tasks across teams that differ mainly in the underlying tooling used for executing these tasks.
Typically, a lifecycle manifests in artifacts such as CI/CD pipelines for delivery as well as runbooks or playbooks for operational tasks and day-two operations. These artifacts, especially delivery pipelines, commonly consist of seven or more individual tools that are often intertwined with the application lifecycle. This causes challenges for DevOps and SRE teams when extending the lifecycle with additional steps, integrating new third-party software such as pipeline tools or ITSM tools, or just replacing one tool with another.
Dynatrace helps to orchestrate processes independently of DevOps tooling
To address the problem of processes (i.e., application lifecycles) that are intertwined with tooling, both the processes and the tooling need to be strictly separated from each other. In terms of separation of concerns, the process does not need to “know” the tooling used for execution and vice versa. Dynatrace Cloud Automation now enables you to implement process definitions that are tool agnostic.
Leveraging the answer-driven release validation capabilities of Dynatrace Cloud Automation, you can now build automation for your application lifecycles. Define the tasks that are relevant for your applications and let Cloud Automation orchestrate them across your environment.
Enable application lifecycle orchestration in three steps
1. Define the application lifecycle
The release validation capability of Dynatrace Cloud Automation enables you to make use of built-in quality gates to validate your deployment or release against predefined Service-level Objectives (SLO). However, to extend the release validation along your application lifecycle, you can now define a series of tasks that occur before the release is validated and another series of tasks executed after validation.
For each of these tasks, Cloud Automation sends out an event and pauses the orchestration until the corresponding counterpart’s response is received. This is also the point of integration. The animation below illustrates the extension of release validation by introducing deployment, test, and release tasks. Note that “evaluation” in the animation below refers to the release validation step.
While the example above shows tasks to be executed during one stage of software development (for example, hardening), Cloud Automation orchestration can embrace multiple stages, depending on your DevOps strategy. Consequently, you can model the lifecycle of your services for the development, hardening, or production stages.
2. Integrate tools seamlessly
To seamlessly integrate external tooling into the event stream of a lifecycle, you need to configure a subscription to an event. This event-subscription-based integration mechanism allows you to stay tool agnostic. Additionally, you have the benefit of setting up multiple subscription-based integrations to the same event or easily exchanging one integration for another by adapting its subscriptions.
While the evaluation (release validation) task is executed by Cloud Automation, the newly added tasks need to be handled remotely. To seamlessly integrate a testing tool, for example, simply define (1) the new test task to act as a trigger and (2) the target webhook endpoint to call with the custom payload that is requested:
3. Execute the application lifecycle
Finally, use the Cloud Automation REST API to launch a task sequence (lifecycle) execution, which is then fully orchestrated by Cloud Automation across the entire environment. The following example shows a three-stage environment with an executed end-to-end delivery workflow:
To learn more about application lifecycle orchestration with Cloud Automation, see Dynatrace Documentation, contact a Dynatrace ONE Product Specialist, or check out our recent blog posts:
- Dynatrace Cloud Automation module provides observability-driven automation across the full lifecycle
- Answer-driven release validation with Dynatrace Cloud Automation
- A guide to event-driven SRE-inspired DevOps
- Automating SLOs helps SREs go fast: Dynatrace at SLOconf
Get insights into how to tackle and achieve autonomous cloud-strategic visions—the Dynatrace Autonomous Cloud Enablement (ACE) practice can help you identify where to get started, provide hands-on expertise along the journey, and deliver rapid, meaningful automation services engagements.
Dynatrace Cloud Automation is currently available as a SaaS instance to all Dynatrace Managed and SaaS customers.
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.