Skip to main content

Core Principles

Explore and extend the demo use case.

What is a use case?

A use case in software refers to a detailed description of how users interact with a system to achieve a specific goal. It outlines the steps involved in completing a task and helps to illustrate the functional requirements of the software.

Discover Dynatrace use cases in our documentation.

How is a use case defined?

A use case resides in repositories outside of the ACE-Box. This is the repository for our First Steps into Dynatrace Observability.

Use case structure

With the ace enable command, the ACE-Box will execute the roles/my-use-case/tasks/main.yml task, which looks as follows:

---
- include_role:
name: "k3s"

- include_role:
name: dt-operator
vars:
log_monitoring: "fluentbit"

- include_role:
name: app-easytrade

- include_role:
name: dashboard

Each of these is a curated role that is part of the ACE-Box. Check out the documentation related to them:

tip

Before developing anything from scratch, check if there is a curated role

How can I make changes to my use case?

  1. Within your ACE-Box instance (check how to access here), run the following command:
ace enable https://github.com/dynatrace-ace/basic-dt-demo.git --local

The --local setting is forcing the ACE-Box to re-run everything using the local resources:

  • ACE-Box local resources: /home/ace/.ansible/collections/ansible_collections/ace_box/ace_box/roles
  • Use case local resources: /home/ace/repos/basic-dt-demo/roles/my-use-case/tasks

That means that you can add, remove or edit roles in the fly, and see the changes reflected in the provisioning.

Why Ansible?

One of the key benefits of re-running an Ansible script is idempotency. This means that you can safely run the script multiple times, and it will ensure that the system reaches the desired state without causing unintended changes or errors. Here are some specific advantages:

  • Consistency: Re-running the script ensures that the system configuration remains consistent and correct, even if changes have been made manually or by other processes.
  • Error Recovery: If a previous run of the script failed or was interrupted, re-running it can complete the configuration without starting from scratch.
  • Ease of Updates: When updates or changes are needed, you can modify the script and re-run it to apply the updates across all target systems.
  • Automation: Regularly re-running scripts can automate maintenance tasks, ensuring systems are always in the desired state without manual intervention. These benefits make Ansible a powerful tool for managing and maintaining infrastructure efficiently.