Dynatrace automates setup and ensures observability, security, alerting, and remediations for newly developed software at any point in the software development lifecycle and in any number of environments.
Dynatrace Configuration as Code enables complete automation of the Dynatrace platform’s configuration, ensuring that software is secure and reliable. With Configuration as Code, developers can manage their observability and security tasks with config files that can be developed alongside source code conveniently and at scale. Dynatrace offers Configuration as Code for the entire platform, covering all aspects, including app settings built for the AppEngine.
As software development grows more complex, managing components using an automated onboarding process becomes increasingly important. This is especially crucial in microservice architectures, where the number of components can be overwhelming. Furthermore, increasing the frequency of releases requires additional product lifecycle automation and setup.
While infrastructure has historically been treated as a bottleneck where proper scaling and compute power are applied to improve performance, these aspects are now typically addressed by hyperscalers that offer cloud-based infrastructure and infrastructure as a service. However, scaling up software development requires more tools along the software product lifecycle, which must be configured promptly and efficiently.
To handle this challenge, enterprises need to automate and streamline the onboarding and lifecycle of tool configurations in the software development processes, including aspects of observability, security, alerting, and remediation.
Efficient environment configuration at scale
One of software engineers’ most significant challenges is managing the numerous tools and technologies required for the software product lifecycle. Development teams must set up tailored configurations for each tool and component they’re responsible for. Developers can’t focus on software development while also managing the details of each tool’s configuration options, and tool administrators can’t scale to keep up with multiple development teams, numerous configurations, and the many environments they need to support. This is why it’s so essential to offer sharable configuration templates that can be easily reused and customized for specific teams, components, and environments.
Configuration as Code in Git repos, automatically applied by Dynatrace
Analogous to infrastructure as code, Configuration as Code, or “everything as code” is now essential for tackling software development challenges. With Dynatrace Configuration as Code, teams can meet these challenges while working with the IDEs, Git repos, and tools that they’re already familiar with. Configuration files allow for the automatic creation, update, and management of configurations for dashboards, synthetic monitors, alerts, SLOs, and security settings across multiple environments.
While developers edit files, a simple CLI command applies configurations to Dynatrace and, for example, automates the setup of a quality gate, including workflows and Site Reliability Guardians.
This can all be done safely and consistently in a repeatable manner. Configuration files can be reused, versioned, and shared across teams. Configuration as Code supports all the mechanisms and best practices of Git-based workflows, including pull requests, commit merging, and reviewer approval.
GitOps is a best-practice methodology for handling operation-relevant configurations that can be applied across the entire Dynatrace platform. With Dynatrace configuration files in Git repos, you gain:
- Persistent configuration state available in files
- Easy copy and paste
- Easy templating
- Established Git software development workflows
- Repo branching
- Change management
- Reviews and approvals
From the developer perspective, you only need to fill out a form (YAML file) with key-value pairs (for example, to provide the thresholds for the API endpoint of a service) and an email address for escalation to get the benefit of the Dynatrace platform when you deliver a new service.
Enable self-service configuration at scale
You can easily set up observability, security, and automation by filling out a few key-value pairs in YAML format. Reduce the complexity of configuration down to only the parameters that vary within your organization, such as for different services and environments. Teams can quickly set the parameters they need to configure the Dynatrace platform to their specific requirements. We provide a CLI that is natively built for Dynatrace APIs and platform configurations, as well as apps built for our AppEngine that can be run and customized without third-party dependencies and with a lightweight setup. Additionally, we offer a Terraform provider if you already have a working Terraform-built environment in your organization.
Achieve automated observability and Site Reliability Engineering
To minimize any negative impact caused by problems such as security vulnerabilities, it’s crucial to respond and remediate the issues as quickly as possible. Dynatrace provides automation for detecting problems, and you can opt to automatically run a change-impact analysis report to proactively validate important objectives. This same mechanism can also be leveraged to validate the impact of new software releases on resources, logs, performance, reliability, or business measures. The screenshot below displays a workflow that listens for a deployment event of the easytrade
service in the production
stage.
The validation process is automated based on events that occur, while the objectives’ configuration, which is validated by the Site Reliability Guardian, is stored in a separate file. The screenshot below displays such a configuration. In summary, Configuration as Code enables the automatic execution of validations for a full set of configuration objectives and workflow definitions. Development teams can easily adopt this by providing key-value pairs in a YAML config file, such as the name of a service and the stage to listen for deployment events.
Service-Level Objectives (SLOs) can provide additional support for the insights and outlook of services and components. Whether tracking internal, workload-centric indicators such as errors, duration, or saturation or focusing on the golden signals and other user-centric views such as availability, latency, traffic, or engagement, SLOs-as-code enables coherent and consistent monitoring throughout the environment at scale.
Proper notifications or escalations are automated based on ownership information. The Dynatrace platform supports ingesting ownership team information, as shown in the screenshots below. Dedicated configuration files are used to create teams and maintain relevant information, such as responsibilities and contact details, in a scalable and automated way. While this can be achieved through UIs and APIs, providing contact details and links to any supporting material when things go wrong in any environment is most conveniently done by a developer, as code, side-by-side with the software source code.
Furthermore, by utilizing workflows, it’s easy to set up dynamically-queried ownership-team information from affected entities if a problem or a security vulnerability is detected. Leverage the full power of the Dynatrace AutomationEngine to automatically inform the right people and automatically resolve problems, all managed and configured easily via configuration as Code.
What’s next
Get started with Dynatrace Configuration as Code, natively built for the Dynatrace platform and third-party independent. You can read all about it in our Configuration as Code documentation. If Terraform is your tool of choice, please have a look at our Terraform provider documentation.
Stay tuned for more examples and easy-to-adopt automations provided in our public Github project.
Looking for answers?
Start a new discussion or ask for help in our Q&A forum.
Go to forum