diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000..b47e92361b
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "cSpell.words": [
+ "Dynatrace"
+ ]
+}
\ No newline at end of file
diff --git a/020-LinuxFundamentals/Student/Challenge-05.md b/020-LinuxFundamentals/Student/Challenge-05.md
index c05307a249..2f77c237d1 100644
--- a/020-LinuxFundamentals/Student/Challenge-05.md
+++ b/020-LinuxFundamentals/Student/Challenge-05.md
@@ -16,7 +16,7 @@ In this challenge you will learn about the Linux standard file permissions and u
## Success Criteria
-1. Check if the directory was sucessfully created
+1. Check if the directory was successfully created
2. Confirm the file created under `~permissions`
3. Check the file inside your permissions directory. Who is the new owner of this file now?
4. Make sure you have created the file as the user root in the `/home/student/permissions` directory
diff --git a/061-DynatraceOnAzure/.wordlist.txt b/061-DynatraceOnAzure/.wordlist.txt
new file mode 100644
index 0000000000..85d136e67f
--- /dev/null
+++ b/061-DynatraceOnAzure/.wordlist.txt
@@ -0,0 +1,31 @@
+Dynatrace
+Dynatrace's
+Gurbani
+OneAgent
+OneAgents
+SRE
+SRG
+SLOs
+SLO
+Smartscape
+JVM
+FullStack
+ActiveGate
+ActiveGates
+SLIs
+SLI
+Apdex
+DQL
+Barbari
+Mitchells
+ApacheJmeter
+MTTR
+timeframe
+backtrace
+subcommands
+infographic
+serviceflow
+transactional
+hotspots
+balancers
+SREs
\ No newline at end of file
diff --git a/061-DynatraceOnAzure/Coach/Lectures.pptx b/061-DynatraceOnAzure/Coach/Lectures.pptx
new file mode 100644
index 0000000000..821d8ae550
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Lectures.pptx differ
diff --git a/061-DynatraceOnAzure/Coach/README.md b/061-DynatraceOnAzure/Coach/README.md
new file mode 100644
index 0000000000..455dca95c8
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/README.md
@@ -0,0 +1,114 @@
+# What The Hack - Dynatrace On Azure - Coach Guide
+
+## Introduction
+
+Welcome to the coach's guide for the Dynatrace On Azure WhatTheHack. Here you will find links to specific guidance for coaches for each of the challenges.
+
+This hack includes an optional [lecture presentation](Lectures.pptx) that features short presentations to introduce key topics associated with each challenge. It is recommended that the host present each short presentation before attendees kick off that challenge.
+
+This WhatTheHack provide you hands on experience on how to Monitor Azure workloads using Dynatrace. It will show you how Dynatrace's AI-engine, Davis, performs automatic and intelligent root-cause analysis in hybrid cloud Azure environments. This hack was designed specifically for Cloud Ops Engineers, DevOps engineers, Developers, and Architects who want to expand their knowledge on Dynatrace & Azure.
+
+The story goes that, you are new engineer that was hired to modernize a eCommerce website for company called `DTOrders`. `DTOrders` currently has this application deployed to Azure virtual machines but wants to containerize this application to run it on Kubernetes. The engineer's job will first be deploy the application to Azure VM and then migrate it run on AKS Cluster. Along the way, they'll use Dynatrace to monitor the application on Azure VM and once migrated to AKS, compare the product functionality and how easy it is to monitor and manage your application with Dynatrace.
+
+
+**NOTE:** If you are a Hackathon participant, this is the answer guide. Don't cheat yourself by looking at these during the hack! Go learn something. :)
+
+## Coach's Guides
+
+- Challenge 00: **[Prerequisites - Ready, Set, GO!](./Solution-00.md)**
+ - Prepare your environment to work with Azure and Dynatrace.
+- Challenge 01: **[OneAgent Observability on Azure VM](./Solution-01.md)**
+ - Review the power on OneAgent.
+- Challenge 02: **[Dynatrace Observability on AKS](./Solution-02.md)**
+ - Deploy Dynatrace Operator on AKS cluster with a sample application and review AKS observability with Dynatrace.
+- Challenge 03: **[Automated Root Cause Analysis with Davis](./Solution-03.md)**
+ - Enable a problem in your sample application and walk through what Davis found.
+- Challenge 04: **[Azure Monitor Metrics & Custom Dashboard](./Solution-04.md)**
+ - In this challenge, you will create a custom dashboard to track Service Level Objects (SLOs)
+- Challenge 05: **[Challenge 05 - Grail - Dashboards & Notebooks](./Solution-05.md)**
+ - In this challenge, you will query, visualize, and observe all your data stored in Grail via Dashboards and Notebooks.
+- Challenge 06: **[Challenge 06 - Grail - SRE Guardian & Workflows](Solution-06.md)**
+ * In this challenge you'll learn the benefits of Site Reliability Guardian (SRG) and experience the power of Automation in dynatrace by creating workflows to automatically execute an SRG.
+- Challenge 07: **[Cleanup](./Solution-05.md)**
+ - Description of challenge
+
+## Coach Prerequisites
+
+This hack has pre-reqs that a coach is responsible for understanding and/or setting up BEFORE hosting an event.
+
+Please review the [What The Hack Hosting Guide](https://aka.ms/wthhost) for information on how to host a hack event.
+
+The guide covers the common preparation steps a coach needs to do before any What The Hack event, including how to properly configure Microsoft Teams.
+
+The folders are self contained challenges for the hack. You do not need to go to other resources to run the challenges. Attendee's will need a laptop, but only an Azure browser is required. All work will be done in the Azure portal and the Azure Command Shell. If you think attendee's laptops may be locked down to the point that they can't access Azure, than having a laptop for loan will be a good idea. No special software needs to be installed though.
+
+The original code base for the automation scripts and sample app that are used within the Challenges are located below:
+
+- [Dynatrace Azure Workshop Scripts](https://github.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/)
+- [Sample App Code Repository](https://github.com/dt-orders)
+- [Docker Images](https://hub.docker.com/search?q=dtdemos)
+
+
+### Dynatrace Environment Setup
+
+To successfully run this Hack, each WhatTheHack attendee will need their own Azure AD Tenant setup.
+
+>**Note:** If you run this Hack where attendees share the same Azure AD Tenant, only the first attendee will be able to deploy the Dynatrace Trial environment via the Marketplace in Challenge0. The rest of the attendees will get an error.
+
+
+### Student Resources
+
+Students will download the scripts from a github repo via the Git clone in the Azure Cloud shell
+
+Always refer students to the [What The Hack website](https://aka.ms/wth) for the student guide: [https://aka.ms/wth](https://aka.ms/wth)
+
+>**Note:** Students should **not** be given a link to the What The Hack repo before or during a hack. The student guide does **NOT** have any links to the Coach's guide or the What The Hack repo on GitHub.
+
+### Additional Coach Prerequisites (Optional)
+
+- Coach must validate if the [Dynatrace Azure Workshop Github repo](https://github.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/) is accessible.
+
+- If Github repo is inaccessible, please open up a issue within the WhatTheHack repo.
+
+## Azure Requirements
+
+This hack requires students to have access to an Azure subscription where they can create and consume Azure resources.
+
+In addition to that, if this hack is run within the same Company/Organization, each hack attendee will need their own Azure/Entra AD tenant. The free trial tenant for Dynatrace via Marketplace, [Azure Native Dynatrace Service](https://azuremarketplace.microsoft.com/en-US/marketplace/apps/dynatrace.dynatrace_portal_integration?tab=Overview), limits customers to be able to create 1 trial tenant for their Organization. Therefore, each attendee will need an [Azure Pass codes](https://www.microsoftazurepass.com/) to successfully run this hack. With Azure Pass codes, each attendee will get their own Azure AD/Entra tenant.
+
+These Azure requirements should be shared with a stakeholder in the organization that will be providing the Azure subscription(s) that will be used by the students.
+
+- Attendees should have the โAzure account administratorโ (or "Owner") role on the Azure subscription in order setup Azure Monitor metrics integration.
+
+- Each student will spin up the following resources in Azure:
+ - 4 x 2 vCPUs VMs for the AKS cluster + 1 Public IPs
+ - 1 x 2 vCPUs VMs for sample monolith application
+ - 1 PIP for the Dynatrace Orders website on Monolith
+ - 1 PIP for Dynatrace Orders website on AKS
+ - Total: 7 vCPU + 3 Public IPs per student
+
+>**Note**
+> - Azure resources that will be consumed by a student implementing the hack's challenges
+> - Azure permissions required by a student to complete the hack's challenges.
+
+## Suggested Hack Agenda (Optional)
+
+- Sample Hack Day (~4 hours)
+ - Challenge 0 (45 min)
+ - Challenge 1 (1 hr)
+ - Challenge 2 (45 mins)
+ - Challenge 3 (30 mins)
+ - Challenge 4 (30 mins)
+ - Challenge 5 (15 mins)
+ - Challenge 6 (15 mins)
+
+
+## Repository Contents
+
+- `./Coach`
+ - Coach's Guide and related files
+- `./Coach/Solutions`
+ - Solution files with completed example answers to a challenge
+- `./Student`
+ - Student's Challenge Guide
+
diff --git a/061-DynatraceOnAzure/Coach/Solution-00.md b/061-DynatraceOnAzure/Coach/Solution-00.md
new file mode 100644
index 0000000000..a9f70e66b1
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-00.md
@@ -0,0 +1,170 @@
+# Challenge 00 - Prerequisites - & Setup - Coach's Guide
+
+**[Home](./README.md)** - [Next Solution >](./Solution-01.md)
+
+## Notes & Guidance
+
+### Learning Objectives
+
+We will now setup Dynatrace, Azure, and the workshop environment. You need all of these in place before you are presented with the wth challenge.
+
+### What you'll need in this section
+
+
+- Ensure your have an email for accessing your Dynatrace trial environment
+
+- Coach must validate if the [Dynatrace Azure Workshop Github repo](https://github.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/) is accessible.
+
+### Login to Dynatrace trial environment
+
+For this challenge, we have set-up a free Dynatrace environment with an evaluation license of the complete feature set of our all-in-one performance monitoring platform to monitor Azure resources and complete the workshop exercises.
+
+### What you will need
+
+
+### Tasks to complete this step
+
+1) Login to your Dynatrace Environment
+ - Click on the link within the email you've received to login to your Dynatrace trial environment.
+
+
+2) Azure Portal Prep
+
+ a. Navigate to https://portal.azure.com/
+
+ b. Click on the Cloud Shell button
+ 
+
+ If you get this prompt, choose bash.
+
+ 
+
+ c. Make a dedicated Azure shell Browser tab by clicking this new tab icon.
+
+ 
+
+ d. Within your Azure Cloud Shell window, run this command to download the workshop scripts:
+ ```bash
+ git clone https://github.com/dt-alliances-workshops/azure-modernization-dt-orders-setup.git
+ ```
+ e. To validate all the workshops scripts have download, please run these commands within the Azure Cloud Shell window to display the directories
+ ```bash
+ cd azure-modernization-dt-orders-setup/
+ ls -al
+ ```
+ - You should see an output similar to the one below
+ 
+
+
+ 3. Provision the workshop
+
+ * This step will automatically provision several Azure resources and Dynatrace configuration needed for the workshop via a shell script.
+
+* The process to provision everything will take ~15-20 minutes.
+
+ 1. Run the input credentials script
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/provision-scripts
+ ./input-credentials.sh
+ ```
+ 2. Run the provisioning script
+ - Run the script to provision the workshop Azure resources
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/provision-scripts
+ ./provision.sh wth
+ ```
+ 3. Return back to the window where you have the Azure Cloud shell open
+ 8. Paste the full command and hit enter. You should see a prompt similar to as one below.
+
+ ```
+ ===================================================================
+ About to setup a Dynatrace What the Hack
+ Dynatrace Server: https://xxxx.live.dynatrace.com
+ SETUP_TYPE = wth
+ ===================================================================
+ Proceed? (y/n) :
+ ```
+ 4. Enter **y** at the prompt to begin the provisioning of the workshop. Once the script is complete you should see output as shown below
+ ```
+ =============================================
+ Provisioning workshop resources COMPLETE
+ End: Thu 25 Nov 2021 12:45:29 PM UTC
+ =============================================
+ ```
+
+## Validate workshop provisioning completed
+In this step we will verify if all of the Azure resources were provisioned for the workshop
+
+>**Note**: Only proceed if the provisioning script completed with this status:
+
+```
+...
+...
+=============================================
+Provisioning workshop resources COMPLETE
+=============================================
+```
+
+### Tasks to complete this step
+1. Go back to the window where you have the Azure Portal screen open
+2. Search for `Resource Groups` from the search bar at the top
+
+3. Click on `Resource Groups`. From the list of resource group select `-dynatrace-azure-modernize-wth`.
+4. Once you within the resource group, you will see all of the different types of resources we've automatically provisioned for this workshop
+
+
+### Verify AKS Cluster is provisioned
+- In this step we will verify if the Azure Kubernetes Service (AKS) Cluster was provisioned correctly. Also we will download the credentials to manage our AKS cluster via `kubectl` commands.
+
+- The kubectl command line tool that lets you control Kubernetes clusters. For details about each command, including all the supported flags and subcommands, see the kubectl reference documentation.
+
+1. Run this command in Azure Cloud shell to get familiar with the command line options for kubectl.
+
+ ```
+ kubectl --help
+ ```
+
+1. Configure kubectl to connect to the new cluster by downloading the cluster credentials.
+
+ ```
+ az aks get-credentials --resource-group dynatrace-azure-modernize-workshop --name dynatrace-workshop-cluster
+ ```
+
+1. Verify you are connected. You should see `dynatrace-workshop-cluster` as the output.
+
+ ```
+ kubectl config current-context
+ ```
+
+1. List the nodes in the cluster
+
+ ```
+ kubectl get nodes
+ ```
+
+ The output should look like this:
+
+ ```
+ NAME STATUS ROLES AGE VERSION
+ aks-nodepool1-74092643-vmss000000 Ready agent 21h v1.19.11
+ aks-nodepool1-74092643-vmss000001 Ready agent 21h v1.19.11
+ ```
+
+ You can see even more detail with this command.
+
+ ```
+ kubectl describe nodes
+ ```
+
+
+## Summary
+
+In this section, you should have completed the following:
+
+- Provisioned a Dynatrace tenant and Azure subscription
+
+- Setup the Azure Cloud Shell to run various UNIX commands
+
+- Captured environment and token info needed for workshop provisioning automation scripts
+
+- Provisioned workshop resources
diff --git a/061-DynatraceOnAzure/Coach/Solution-01.md b/061-DynatraceOnAzure/Coach/Solution-01.md
new file mode 100644
index 0000000000..421d007969
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-01.md
@@ -0,0 +1,341 @@
+ Challenge 01 - OneAgent Observability on VM - Coach's Guide
+
+[< Previous Solution](./Solution-00.md) - **[Home](./README.md)** - [Next Solution >](./Solution-02.md)
+
+## Notes & Guidance
+### Review Sample app
+
+The sample application is called Dynatrace Orders. A more detailed overview can be found here - [https://github.com/dt-orders/overview](https://github.com/dt-orders/overview).
+
+All the source code can be found here - [https://github.com/dt-orders](https://github.com/dt-orders)
+
+#### Tasks to complete this step
+1. Get the Public IP to the frontend of the Sample Application
+ - Open up the Azure Portal and navigate to the Virtual Machine page. You can use the search feature as shown below.
+ 
+ - Once on the Virtual Machine page, click on the VM named `dt-orders-monolith`. You can explore details about this VM, but you will want to copy the public IP as shown below.
+ 
+2. Navigate the Sample app in a Browser
+ - To view the application, copy the public IP into a browser. It will look like this:
+ 
+ - Use the menu on the home page to navigate around the application and notice the URL for key functionality. You will see these URLs later as we analyze the application.
+ - Customer List = `customer/list.html`
+ - Customer Detail - Each customer has a unique page = `customer/5.html`
+ - Catalog List = `catalog/list.html`
+ - Catalog Search Form = `catalog/searchForm.html`
+ - Order List = `order/list.html`
+ - Order Form = `order/form.html`
+
+
+### OneAgent Deployment Status
+1. Login into Dynatrace UI
+
+2. Choose the `Manage --> Deployment Status` option from the left side menu to open the OneAgent deployment page.
+
+3. Check to ensure the `dt-orders-monolith` VM is reporting in under OneAgents
+
+
+
+
+### Host monitoring screen
+
+
+In the next few sections, you will review what the OneAgent automatically discovered for the host, services, processes, and the complete dependency mapping for the sample application.
+
+
+๐ `How this helps`
+
+ As you plan your migration, each of these views will give insights into accessing the profile, consumption and dependencies to other systems and services.
+
+#### Tasks to complete this step
+
+- From the left-side menu in Dynatrace choose `Infrastructure -> Hosts` then click on the host with the name `dt-orders-monolith`.
+
+- On host page, you will see basic infrastructure information for the host.
+ 1. Now expand the `Properties` section to see data about the host:
+ 1. Host resource metrics (CPU, memory)
+ 1. Host availability
+ 1. Discovered processes. In this case the front end is running Node.js and the backend is running Java in Apache Tomcat. JMeter is running in Java providing the automated user interactions
+ 
+
+### Review Smartscape
+
+Enterprises have many hosts, services, and application that are ever changing. The ability to automatically discover and change as the environment changes is a key feature that Smartscape delivers.
+
+Dynatrace's near real-time environment-topology visualization tool, Smartscape, is where Dynatrace's auto-discovery is delivered into a quick and efficient visualization of all the topological dependencies in your infrastructure, processes, and services.
+
+
+๐ `How this helps`
+
+ Smartscape shows all the dependencies of a given service. Those include connections to queues, web servers, app servers, and a native process. The host view shows historical and live time-series data for usage as well as the consuming processes. This information allows us to better plan the migration, as all depending services must be considered during the migration.
+
+
+
+
+ Referring to the picture above:
+ - On the horizontal axis, it visualizes all ingoing and outgoing call relationships within each tier
+ - On the vertical axis, it displays full-stack dependencies across all tiers
+ * Data center
+ * Hosts
+ * Process
+ * Service
+ * Application
+
+
+#### Tasks to complete this step
+
+- Letโs see how Dynatrace can visualize these processes using Smartscape.
+ 1. Be sure you are on the `dt-orders-monolith` host page
+ 1. Just click on the `...` box on the to the right of the host name
+ 1. pick `Smartscape view` menu option
+ 1. this will open Smartscape filtered to this Host Instance
+ 
+- Feel free to explore the Smartscape.
+
+
+
+### Process
+
+
+In the Smartscape view, we saw the visualizations of the relationships in vertical stack and as well as the relationships spatially. Now letโs view the processes and services running on the host.
+
+As you plan your migration, you need more than just host level metrics. Knowing the details for each service, **BEFORE** you change it, will lower the risk of impacting the business.
+
+
+๐ `How this helps`
+
+ Very quickly you have seen what processes and services are running on a host AND more importantly, what processes and services call (outbound) and are being called (inbound). Having a real-time picture is certainly more accurate than an out of date documentation.
+
+
+#### Tasks to complete this step
+
+1. Review the data on the Process screen
+ - Return back to the host view for the host with the prefix of `dt-orders-monolith` and locate the `Processes and Containers` section.
+ - Click on the 2nd `monolith-frontend` process to open the process detail view.
+ 
+ - You should be on the process page where you will see information for this process. Follow the picture below to locate the following:
+ 1. Click on the `Properties and tags` line to toggle on/off to see additional data
+ 1. Notice the properties such as open ports
+ 1. On the info graphic:
+ * Click to view the processes that call this process (Inbound)
+ * Click to view the services that are served by this process. In this case there are multiple
+ * Click to view the processes that this process calls (Outbound)
+ * Click to view the Process specific metrics
+ 1. Did you notice Docker??
+ 
+ ๐ Dynatrace automatically recognizes many common processes like Tomcat and will capture process specific metrics such as JVM garbage collection. See a list of supported technologies, languages and containers in the [Dynatrace documentation](https://www.dynatrace.com/support/help/technology-support/supported-technologies-and-versions)
+
+ ๐`Dynatrace and containers`
+
+ In the picture above, the arrow shows the properties for Docker.
+
+ Our sample app was built as a Docker container and Dynatrace hooks into containers and provides code for injecting OneAgent into containerized process.
+
+ `How Dynatrace monitors containers`
+
+ 
+
+ Thereโs no need to modify your Docker images, modify run commands, or create additional containers to enable Docker monitoring. Simply install OneAgent on your hosts that serve containerized applications and services. Dynatrace automatically detects the creation and termination of containers and monitors the applications and services contained within those containers.
+
+
+
+2. Review the data on the Services screen
+ - Now Letโs review a specific service.
+ 1. Click the `services` square above the host infographic to open the list of services
+ 1. From the list of services, choose the `frontend`
+ 
+ - You should be on the service page where you will see information for this specific service. Follow the picture below to locate the following:
+ 1. Click on the `Properties` line to toggle on/off to see additional data
+ 1. Click to view the services that call this service (Inbound)
+ 1. Click to view the services that this service calls (Outbound)
+ 
+
+### Services
+
+Web applications consist of web pages that are served by web servers and web application processes, for example Tomcat. Web and mobile applications are built upon services that process requests like web requests, web service calls, and messaging.
+
+Such "server-side services" can take the form of web services, web containers, database requests, custom services, and more. Services may in turn call other services such as web services, remote services, and databases services.
+
+๐ `How this helps`
+
+ As you plan your migration, it is important to gain a complete picture of interdependency to the rest of the environment architecture at host, processes, services, application perspectives. Since time is always scarce, being able to do this in a single place can shorten assessment timelines.
+
+#### Tasks to complete this step
+1. Review the Services being monitored. Letโs now take a look at all the services being monitored by clicking on the `Services` left side Dynatrace menu.
+ - In the management zone drop down, choose `dt-orders-monolith`.
+ 
+ - The filtered list should now look like this:
+ 
+ - Choose the `frontend` service.
+ - On the `frontend` service page, find the `Dynamic Web Requests` section on the right and click the `view Dynamic Requests` button to see what it calls.
+ 
+ - On this page you can view the transactions as time-series charts.
+ 
+ - On this page you can view the top 15 requests and their response time consumption. You should recognize the URLs from the sample app!
+ 
+ - By clicking on one of the requests, the time-series charts are filtered to just that one request.
+ 
+
+2. Review the Analysis View screen
+ - On the top of the page on the right is a button labeled `Create Analysis view`, click that.
+ 
+ - Try the various options available to view, filter and analyze data.
+ 
+
+
+### Analyze serviceflow
+
+
+We just saw one way to review process and service communication, but letโs look at how Dynatrace understands your applicationsโ transactions from end to end and visualizes through `Service Backtraces` and `Service flows`.
+
+* With `Service flow`, you see the flow of service calls **FROM** a service, request, or their filtered subset. Along with the specific services that are triggered, you can also see how each component of a request contributes to the overall response time.
+
+* With `Service backtrace`, you see the calls **TO** a service.
+
+๐ `How this helps`
+
+ As you plan your migration, it is important to gain a complete picture of interdependency to the rest of the environment architecture at host, processes, services, and application perspectives. Since time is always scarce, being able to do this in a single place can shorten assessment timelines.
+
+ Knowing the type of access, executed statements, and amount of data transferred during regular hours of operation allows for better planning and prioritization.
+
+
+#### Tasks to complete this step
+- Review the Service Flow
+ 1. Return to the `frontend` service. You can use the `breakcrumb` menu as shown below.
+ 
+ 1. On the `frontend` service page, locate the `Understand dependencies` section on the right, and then click the `view service flow` button.
+ 
+- Response time perspective
+ - You should now be on the **Service flow** page.
+ - Right away, we can see how this application is structured:
+ * Frontend calls backend
+ * Backend calls database
+ 
+
+ - Refer to the numbers in the picture above:
+ 1. The timeframe defaults to 10 minutes but can be adjusted.
+ 1. We are viewing the data from a **Response time perspective**. Shortly, we will review the **Throughput perspective**.
+ 1. Click on the boxes to expand the response time metrics. We can see that most of the time is spent in the backend service.
+ 1. Even though there are a few calls to the database for every backend service request, only a very small amount of the response time is spent in the database.
+
+- Throughput perspective
+ 
+ - Refer to the numbers in the picture above:
+ 1. The timeframe defaults to 10 minutes but can be adjusted
+ 1. Change to the **Throughput** perspective by clicking on the box
+ 1. Click on the boxes to expand the metrics to see the number of requests and average response times going to the backend service
+ 1. We can see the number of requests to `backend` database
+
+### Analyze service backtrace
+
+
+Dynatrace understands your applications transactions from end to end. This transactional insight is visualized several ways like the backtrace.
+
+The backtrace tree view represents the sequence of services that led to this service call, beginning with the page load or user action in the browser.
+
+๐ How this helps
+
+ Using the service flow and service backtrace, these two tools give you a complete picture of interdependency to the rest of the environment architecture at host, processes, services, application perspectives.
+
+#### Tasks to complete this step
+- Click on the `Services` left side Dynatrace menu.
+- Pick the `backend` service.
+
+- On the `backend` service, click on the `Analyze Backtrace` button.
+
+
+๐ You should be on the service backtrace page where you will see information for this specific service.
+
+๐ If you click on any of the rows in the backtrace, the bottom portion of the page will expand.
+
+
+
+
+
+๐ This will get more interesting in the next lab, but for the monolith backend, we can see that the backtrace is as follows:
+1. The starting point is the `backend`
+2. `backend` is called by the `frontend` service
+3. `ApacheJMeter` traffic from the load generator script
+4. You may also see browser traffic to the **frontend** from the `My web application`. If you don't that is OK.
+
+
+
+
+### Databases
+
+As you plan your migration, Database observability is critical to a successful plan. Knowing the type of access, executed statements, and amount of data transferred during regular hours of operation allows for better migration planning and prioritization of the move groups. In some cases, you may decide to not migrate this database in favor of other services or databases that are less complex to migrate due to fewer dependencies.
+
+๐ ***How this helps***
+
+ When monitoring database activity, Dynatrace shows you which database statements are executed most often and which statements take up the most time. You can also see which services execute the database statements, what will be direct input to migration planning, and prioritization of the move groups.
+
+ Dynatrace monitors all the popular databases like SQL Server, Oracle, and MongoDB. See Dynatrace documentation for more details on platform support.
+
+
+
+#### Tasks to complete this step
+1. Navigate to the Database screen
+ - Lets get back to the `backend` service. One way is to go back to the `Services` left side Dynatrace menu and then pick the `backend` service for the `dt-orders-monolith` management zone.
+ - On the `backend` service page, click on the `[embedded]` database to open the database service page.
+ 
+
+2. Review the Database screen
+ - The sample application uses an In memory Java relational database. On this page you can explore the database process like
+ 1. What services call this database
+ 1. Database availability
+ 1. View individual SQL statements
+ 1. Custom metric analysis
+ 
+
+
+### Technologies View
+
+By default, Dynatrace gives you FullStack horizontal (who talks to whom) and vertical (what runs on what) dependency visibility as part of Dynatrace Smartscape! All without a single line of code or configuration change โ just by installing the OneAgent
+
+Seeing which processes make up the monolith has been an eye-opener for many teams that have done this exercise. โOh โ we completely forgot about the dependency to this legacy process we introduced 5 years ago!โ โ thatโs a common thing you hear!
+
+As you plan your migration, knowing what technologies make up your eco-system is key so that you can decide whether to migrate, refactor or replace certain services.
+
+The workshop is somewhat limited, so here is an example from another environment.
+
+
+
+๐ How this helps
+
+ This is another out the box feature that helps you understand what technologies are in your environment with a heat map presentation that shows to what degree they exist.
+
+
+#### Tasks to complete this step
+1. Review the Technologies view
+- Click on the **Technology and processes** link on the left side menu within Dynatrace to view the technologies that OneAgent was able to automatically discover and instrument.
+ 
+- Make sure your management zone filter is set to `All` so that you see everything
+ 
+- In the filter box, type `tag`, choose `stage`, and the value of `production`. It should look like this:
+ 
+
+
+### Planning Ahead
+
+You can always click into the `Hub` menu within Dynatrace to learn about the many technologies that Dynatrace supports. This list is in sync and constantly updated in conjunction with the Dynatrace website hub page
+
+
+## Summary
+
+
+By just installing the OneAgent, we have now gained a detailed topological view of sample application from the both the infrastructure and application tiers and we are now ready to tackle our adoption to the cloud armed with the answers we need.
+
+* **Right Priority** - We now understand the complexity and interdependency of services and components to the rest of the environment architecture
+* **Right-Sizing the environment** - We now understanding which resources are required to move along with their required resource consumption patterns
+* **Best Migration Strategy** - We now understand the current end-to-end transactions through architecture and can choose the best migration strategy (rehost, refactor, re-architect, rebuild)
+
+### Checklist
+
+In this section, you should have completed the following:
+
+โ Review Dynatrace OneAgent
+
+โ Review real-time data now available for the sample application
+
+โ Review how Dynatrace helps with modernization planning
diff --git a/061-DynatraceOnAzure/Coach/Solution-02.md b/061-DynatraceOnAzure/Coach/Solution-02.md
new file mode 100644
index 0000000000..973039eb55
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-02.md
@@ -0,0 +1,425 @@
+# Challenge 02 - Dynatrace Observability on AKS - Coach's Guide
+
+[< Previous Solution](./Solution-01.md) - **[Home](./README.md)** - [Next Solution >](./Solution-03.md)
+
+## Notes & Guidance
+### Overview
+Re-hosting (also referred to as lift and shift) is a common migration use case. Re-architecture and Re-platform are steps that break the traditional architectures and replace individual components with cloud services and microservices.
+
+We just learned how we can get great information on services, processes and user requests using Dynatrace and OneAgent. This helps us now decide what individual features or complete applications based on business benefits we need to migrate and modernize. The idea here is to focus on feature-based business benefit with functional migration.
+### Objectives of this Lab
+
+๐ท Install the Dynatrace Operator and sample application
+
+๐ท Review how the sample application went from a simple architecture to multiple services
+
+๐ท Examine the transformed application using service flows and back traces
+
+
+## Review - Modernize the Sample App
+
+As we saw earlier, the sample application is a three-tiered application --> frontend, backend, database.
+
+For our lab, another version of the application exists that breaks out each of these backend services into separate services. By putting these services into Docker images, we gain the ability to deploy the service into modern platforms like Azure Kubernetes and Cloud managed services such as the ones from Azure shown below.
+
+
+
+The picture below shows how the components of the sample application interact with Dynatrace.
+
+
+
+**#1 . Sample Application**
+Sample app representing a "services" architecture of a frontend and multiple backend services implemented as Docker containers that we will review in this lab.
+
+**#2 . Kubernetes**
+Azure Kubernetes Service (AKS) is hosting the application. The Kubernetes cluster had the Dynatrace OneAgent Operator installed. (see below for more details). Two AKS nodes make up the Kubernetes cluster. The Dynatrace OneAgent was preinstalled by the OneAgent operator and is sending data to your Dynatrace SaaS environment. (see below for more details)
+
+**#3 . Dynatrace Operator**
+Dynatrace OneAgent is container-aware and comes with built-in support for out-of-the-box monitoring of Kubernetes. Dynatrace supports full-stack monitoring for Kubernetes, from the application down to the infrastructure layer.
+
+**#4 . Dynatrace**
+Dynatrace tenant where monitoring data is collected and analyzed.
+
+**#5 . Full-Stack Dashboard**
+Made possible by the Dynatrace OneAgent that will automatically instrument each running node & pod in AKS.
+
+**#6 . Kubernetes Dashboard**
+The Kubernetes page provides an overview of all Kubernetes clusters showing monitoring data like the clustersโ sizing and utilization.
+
+## Deploy Kubernetes Dynatrace Operator
+
+One key Dynatrace advantage is ease of activation. OneAgent technology simplifies deployment across large enterprises and relieves engineers of the burden of instrumenting their applications by hand. As Kubernetes adoption continues to grow, it becomes more important than ever to simplify the activation of observability across workloads without sacrificing the deployment automation that Kubernetes provides. Observability should be as cloud-native as Kubernetes itself.
+
+In our workshop, we will install the Dynatrace Operator that streamlines lifecycle management. You can read more about it here in this Dynatrace Blog
+
+Organizations will often customize the Dynatrace Operator installation and you can read more about the options in the Dynatrace Doc but, we are going to use a single command that we can get from the Dynatrace interface to show how easy it is to get started.
+
+
+### Tasks to complete this step
+- Install Dynatrace Operator
+ 1. To navigate to Kubernetes page, follow these steps and refer to the picture below:
+ 1.1 Within Dynatrace, click on the `Deploy Dynatrace` menu
+ 1.2 Click on the `Start Installation` button
+ 1.3 Click on the `Kubernetes` button
+ 
+
+ 1.4 On the `Monitor Kubernetes / Openshift` configuration page, enter `workshop` for the name field. This is not the cluster name, it will show up as the Kubernetes page name in Dynatrace
+ 1.5 Click the `Create tokens` button for both Operator and Data Ingest Token
+ 1.6 Select the `Skip SSL Certificate Check` to be ON
+
+ 
+
+
+
+ 1.7. First, copy and paste command below into your Azure Cloud Shell to orient you in correct directory for `dynakube.yaml` file.
+
+ ```
+ cd ~/azure-modernization-dt-orders-setup/gen
+ ```
+ 1.8. Next, copy the commands from the `Monitor Kubernetes / Openshift` configuration page of Dynatrace UI or from below to continue with the Kubernetes Operator Install steps.
+
+ ```
+ kubectl create namespace dynatrace
+ kubectl apply -f https://github.com/Dynatrace/dynatrace-operator/releases/download/v0.7.2/kubernetes.yaml
+ kubectl -n dynatrace wait pod --for=condition=ready -l internal.dynatrace.com/app=webhook --timeout=300s
+ kubectl apply -f dynakube.yaml
+ ```
+
+
+
+
+ 2. Once the commands above run successfully, then monitor the installation until all the pods are in `Running` state.
+
+ ```
+ kubectl -n dynatrace get pods
+ ```
+
+ 1. Rerun the command until the output looks like this:
+
+ ```
+ NAME READY STATUS RESTARTS AGE
+ dynatrace-operator-b54bf4694-t4k28 1/1 Running 0 2m45s
+ dynatrace-webhook-5679588856-zpr7k 1/1 Running 0 2m45s
+ dynatrace-workshop-cluster-activegate-0 1/1 Running 0 2m43s
+ dynatrace-workshop-cluster-oneagent-24njq 1/1 Running 0 2m45s
+ dynatrace-workshop-cluster-oneagent-86gh7 1/1 Running 0 3m59s
+ ```
+
+
+## Deploy sample application
+
+In this step we'll walk through deploying the sample app that is now "modernized" into a microservices based app to the Azure Kubernetes cluster.
+
+We'll use a shell script to deploy the sample application. Below you'll learn some details around what that shell script is doing and YAML file parameters that Dynatrace uses to define and configure your application in Kubernetes.
+
+ **๐`Shell Script to deploy sample app to Kubernetes`**
+
+By now you understand the various automation files, lets go ahead and open up the `start-k8.sh` to review what the script did for you:
+
+This script automates a number of `kubectl` commands for the following:
+
+1. Create a namespace called `staging` where all these resources will reside
+1. Grant the Kubernetes default service account a viewer role into the `staging` namespace
+1. Create both the `deployment` and `service` Kubernetes objects for each of the sample
+
+- You can read more details on the Kubernetes installation in the Dynatrace Documentation
+
+
+
+
+**๐ `Sample App YAML file for deploymenent`**
+ To review what is configured for the sample application, go ahead and click on the link for YAML file: frontend.yml
+
+`Notice the labels and annotations:`
+
+```
+metadata:
+ labels:
+ app.kubernetes.io/name: frontend
+ app.kubernetes.io/version: "1"
+ app.kubernetes.io/component: frontend
+ app.kubernetes.io/part-of: dt-orders
+ app.kubernetes.io/managed-by: helm
+ app.kubernetes.io/created-by: dynatrace-demos
+ annotations:
+ owner: Team Frontend
+ chat-channel: dev-team-frontend
+```
+
+Notice the defined container and version. These containers are stored in Docker Hub .
+
+```
+spec:
+ containers:
+ - name: frontend
+ image: dtdemos/dt-orders-frontend:1
+```
+
+Notice the `DT_CUSTOM_PROPS` environment variable:
+
+```
+env:
+ - name: DT_CUSTOM_PROP
+ value: "project=dt-orders service=frontend"
+```
+
+The `DT_CUSTOM_PROPS` is a special Dynatrace feature, that the OneAgent will automatically recognize and make Dynatrace tags for the process. You can read more details in the Dynatrace Documentation
+
+
+**๐ `Kubernetes Role Binding`**
+
+In Kubernetes, every pod is associated with a service account which is used to authenticate the pod's requests to the Kubernetes API. If not otherwise specified the pod uses the default service account of its namespace.
+
+* Every namespace has its own set of service accounts and thus also its own namespace-scoped default service account. The labels of each pod for which the service account has view permissions will be imported into Dynatrace automatically.
+
+* In order for Dynatrace to read the Kubernetes properties and annotations, you need to grant the Kubernetes default service account a viewer role into the `staging` namespace to enable this. We only have one namespace, but you will need to repeat these steps for all service accounts and namespaces you want to enable for Dynatrace within your environments.
+
+For the workshop, we already updated the required file with the `staging` namespace. Next you will run the setup script that will apply it to your cluster. Go ahead and open this folder and look at the dynatrace-oneagent-metadata-viewer.yaml file.
+
+
+
+### Tasks to complete this step
+- Deploy the Sample App to Kubernetes
+ 1. In the Azure Cloud Shell, run these commands:
+ ```
+ cd ~/azure-modernization-dt-orders-setup/app-scripts
+ ./start-k8.sh
+ ```
+ 2. The Kubernetes take a few minutes to come to a running, rerun this command until all the pods are in `Running` status.
+ ```
+ kubectl -n staging get pods
+ ```
+
+ The output should look like this:
+
+ ```
+ NAME READY STATUS RESTARTS AGE
+ browser-traffic-5b9456875d-ks9vw 1/1 Running 0 30h
+ catalog-7dcf64cc99-hfrpg 1/1 Running 0 2d8h
+ customer-8464884799-vljdx 1/1 Running 0 2d8h
+ frontend-7c466b9d69-9ql2g 1/1 Running 0 2d8h
+ load-traffic-6886649ddf-76pqf 1/1 Running 0 2d8h
+ order-6d4cd477cb-9bvn4 1/1 Running 0 2d8h
+ ```
+
+## Review Sample application on Kubernetes
+
+In this step we will review the Sample app that we modernized and deployed to Kubernetes. Refer to this picture for a more detailed description of our setup.
+
+
+
+**1 - Dynatrace Namespace**
+
+This Kubernetes Namespace contains the pods and services that make up the Dynatrace Operator.
+
+**2 - Kubernetes nodes**
+
+Kubernetes runs your workload by placing containers into Pods to run on [Nodes] Nodes .
+
+**3 - Dynatrace**
+
+Dynatrace tenant where monitoring data is collected and analyzed.
+
+**4 - Cloud shell**
+
+The shell is configured with the kubectl command line tool that lets you control Kubernetes clusters.
+
+**5 - Sample application namespace**
+
+This Kubernetes Namespace contains the sample application pods and services.
+
+**6 - Sample application**
+
+The frontend service is exposed as a public IP and is accessible in a browser.
+
+### Tasks to complete this step
+1. Validate Sample App is accessible via browser
+ - To view the application, we need to get the IP address assigned to the Kubernetes service for the sample application.
+ 1. Go back to the window where you have Azure Cloud shell open
+ 2. From the Azure Cloud Shell SSH command prompt type this command
+ ```
+ kubectl -n staging get svc
+ ```
+ 3. From the output, copy the entire value from EXTERNAL-IP and
+ 
+ 4. Open a browser window. Type in IP address similar to this `http://11.22.33.11` for the example above. The output and application should look like the above browser window
+
+2. Explore the Sample App on Kubernetes
+ - Use the menu on on the home page to navigate around the application and notice the URL for key functionality. You will see these URLs later as we analyze the application.
+
+ * Customer List = customer/list.html
+ * Customer Detail = customer/5.html
+ * Catalog List = catalog/list.html
+ * Catalog Search Form = catalog/searchForm.html
+ * Order List = order/list.html
+ * Order Form = order/form.html
+
+ ๐ The application looks like this monolith, but notice how the home page shows the versions of the three running backend services. You will see these version updated automatically as we deploy new versions of the backend services.
+
+
+
+
+## Review Kubernetes within Dynatrace
+
+In this step we will walk through the different Dynatrace dashboards that are available out of the box for monitoring Kubernetes.
+
+### Tasks to complete this step
+1. Validate AKS ActiveGate visible in Dynatrace UI
+ 1.1. Go to the Dynatrace UI.
+ 1.2. From the Dynatrace Menu, click `Manage --> Deployment status` to review OneAgent Deployment status
+ 1.3. Within the `Deployment status` page, next click on the `ActiveGate` option to review the Active Gate.
+
+ ๐ From Dynatrace menu on the left, go to Manage -> Deployment Status -> ActiveGates, you will notice there is a `dynatrace-workshop-cluster-activegate-0` connected to your Dynatrace environment now. This ActiveGate routes all the agent traffic from apps that are running on that AKS cluster.**
+
+
+2. Review Kubernetes Dashboards are accessible from the left-side menu in Dynatrace choose `Kubernetes` and navigate to the Kubernetes cluster page as shown below:
+ ๐**Note:** Be sure that your management zone is NOT filtered!**
+
+ 
+
+ **1 - Kubernetes cluster** - A summary the Kubernetes cluster is shown at the top of the Kubernetes dashboard.
+
+ **2 - Nodes** - The resources for the Cluster are summarized for the one-to-many hosts or Cluster nodes in this view.
+ Explore specific node in the Node Analysis section, pick the analyze nodes button.
+ 
+
+ **3 - Namespaces** - Namespaces are ways to partition your cluster resources to run multiple workloads (for example `application A` and `application B` workloads) on same cluster
+ 1. This workload section shows workloads over time
+ 2. In the Cluster workload section, pick the view all workloads button.
+ 
+ - In the filter, pick namespace then staging
+ 
+
+ **4 - Kubernetes workload**
+ - Pick the frontend to drill into.
+ 
+ - Review the workload overview page to look at various metrics related to the workload.
+ - Click on Kubernetes POD to look at POD utilization metrics.
+ 
+
+ **5 - POD** - Review the POD overview page to look at various metrics related to the POD
+ - Click on Container next to look at container metrics
+ 
+ โ
+
+ **6 - Containers** - Referring to the diagram above, expand the properties and tags section to view:
+ - Container information
+ - Kubernetes information
+ - In the info graphic, pick the service to open the services list
+ - In the service list, click on k8-frontend service
+ 
+
+ - Next click on 2 Services Icon to review the services running inside the container
+ - Select the active front-end service.
+
+ **7 - Service** - This view should now look familiar. In Lab 1, we looked at the service for the frontend and backend. Notice how the Kubernetes information is also available in the service properties.
+ 
+
+
+## Analyze Service Backtrace on Kubernetes
+
+Now that we've modernized the application and installed it on Kubernetes, we still need to trace the application transactions from front to back.
+
+Dynatrace understands your applications transactions from end to end. This transactional insight is visualized several ways like the backtrace.
+
+The backtrace tree view represents the sequence of services that led to this service call, beginning with the page load or user action in the browser.
+
+Dynatrace also gives you insight into what Kubernetes cluster, node, workload, and namespace that service is running on.
+
+**๐ How this helps**
+
+The service flow and service backtrace give you a complete picture of inter-dependency to the rest of the environment architecture at host, processes, services, and application perspectives.
+
+
+### Tasks to complete this step
+1. Review Services View for `order` service
+ * Left Menu -> Applications & Microservices -> Services
+ 
+ * Top Menu -> filter by ``` dt-orders-k8 management ``` zone.
+ 
+ * Pick the ``` order ``` service.
+ 
+ * On this service, we can quickly review the inbound and outbound dependencies.
+ * Referring to the picture, within the services infographic, click on the "services" square to get a list of the services that the order service calls.
+ 
+
+2. Review Backtrace View
+ * To see the backtrace page, just click on the Analyze Backtrace button.
+ * You should be on the service backtrace page where you will see information for this specific service.
+ * This will get more interesting in the next lab, but for the monolith backend, we can see that the backtrace is as follows:
+ 1. The starting point is the backend
+ 1. Backend service is called by the front-end
+ 1. Front-end is a where end user requests start and the user sessions get captured
+ 1. My web application is the default application that Dynatrace creates
+ 
+
+## Analyze Service flow on Kubernetes
+
+In this step we will walk through the Service Flow view within Dynatrace and see what's different now that its deployed on Kubernetes.
+
+### Tasks to complete this step
+1. Review Services View for `Frontend` service
+ * Left Menu -> Applications & Microservices -> Services
+ 
+ * Top Menu -> filter by ``` dt-orders-k8 management ``` zone.
+ 
+ * Pick the ``` frontend ``` service.
+ 
+ * Just click on the view service flow button to open this.
+ 
+
+2. Analyze Services view from Response time perspective
+ - You should now be on the Service flow page.
+ - Right away, we can see how this application is structured:
+ * Frontend calls order, customer, and catalog service
+ * Order service calls order and customer service
+ - Something you would never know from the application web UI!
+ 
+
+ - Refer to the picture above:
+ 1. We are viewing the data from a Response time perspective. Shortly, we will review the Throughput perspective.
+ 2. Click on the boxes to expand the response time metrics. Most of the response time is spent in the order service and the least in the customer services. And as in the simple version of the application, a very small amount of the response time is spent in the databases.
+
+3. Analyze Services view from Throughput perspective
+ 
+
+ - Refer to the picture above:
+ 1. Change to the Throughput perspective by clicking on the box
+ 2. Click on the boxes to expand the metrics to see the number of requests and average response times going to each service
+
+
+
+**๐ How this helps**
+
+Reviewing the architecture before and after changes is now as easy as a few clicks!
+
+
+
+## Summary
+
+While migrating to the cloud, you want to evaluate if your migration goes according to the plan, whether the services are still performing well or even better than before, and whether your new architecture is as efficient as the blueprint suggested. Dynatrace helps you validate all these steps automatically, which helps speed up the migration and validation process.
+
+Having the ability to understand service flows enables us to make smarter re-architecture and re-platforming decisions. With support for new technologies like Kubernetes, you have confidence to modernize with a platform that spans the old and the new.
+
+### Checklist
+
+In this section, you should have completed the following:
+
+ โ Installed Dynatrace Operator on Azure Kubernetes cluster
+
+ โ Review real-time data now available for the sample application on Kubernetes
+
+ โ Review Kubernetes dashboards within Dynatrace
+
+ โ Review how Dynatrace helps with modernization planning
+
+
+
diff --git a/061-DynatraceOnAzure/Coach/Solution-03.md b/061-DynatraceOnAzure/Coach/Solution-03.md
new file mode 100644
index 0000000000..ddd2751639
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-03.md
@@ -0,0 +1,292 @@
+# Challenge 03 - Automated Root Cause Analysis with Davis - Coach's Guide
+
+[< Previous Solution](./Solution-02.md) - **[Home](./README.md)** - [Next Solution >](./Solution-04.md)
+
+### Overview
+Often the monitoring tools organizations use simply donโt work in the complex ecosystem of microservices and for technologies like Kubernetes.
+
+Finding the root cause of problems is harder than ever before and the effort required goes beyond what is humanly possible when the application spans to the cloud providers and data centers and the explosion of interconnected services. There are more possibilities for failures and more hiding spots for problems to sneak into the environment when software driving more than just the application.
+
+In this lab, we will trigger a few problem and see how troubleshooting time is Significantly reduced by letting AI automatically detect problems and pinpoints the root cause, explaining business impact with no manual configurations.
+
+### Objectives of this Lab
+
+- Enable a problem in the application and walk through what [Dynatrace Davis](https://www.dynatrace.com/platform/artificial-intelligence/) found
+
+- Review how Dynatrace process events and Tags to provide additional context in root cause analysis
+
+
+## Review Events & Tags in Dynatrace
+
+Before we get to the problems, let's review Dynatrace Information Events.
+
+Dynatrace information events enable continuous delivery tools, such as Azure DevOps, to provide additional details for Dynatrace. Here is an example of two informational events for deployment and performance testing being be sent to Dynatrace.
+
+
+
+There are several Dynatrace information event types:
+* CUSTOM_ANNOTATION
+* CUSTOM_CONFIGURATION
+* CUSTOM_DEPLOYMENT
+* CUSTOM_INFO
+* MARKED_FOR_TERMINATION
+
+Below we can see both the CUSTOM_INFO (#1) and CUSTOM_DEPLOYMENT events (#2) for a service that was the root cause to a problem the Dynatrace AI engine, Davisยฎ, determined.
+
+
+
+Each event has a timestamp, event source, a few standardized fields (depending on the event type), and the option to add additional custom fields. See this table for details. Here are two example events. NOTE: the URL back to the pipeline making the change.
+
+
+
+
+**๐ How this helps**
+
+
+ Having information events speeds up triage by adding context to whatโs happening with the application. Just imagine getting alerted about an issue and immediately seeing a load test or deployment took place, and in one click of the event, review the system, job, and team responsible!
+
+### Dynatrace tags
+
+When creating information events, you must target the entities to receive the event so that itโs only associated with the relevant component. That is where Dynatrace tags come in.
+
+In a nutshell, tags in Dynatrace are labels or markers used for organizing entities in large monitoring environments. Below shows a few tags for my catalog service: `stage:staging` and `service:catalog-service`
+
+
+
+### API call Example
+
+Here is an example of a typical events API call. You do not need to executed this as you will see this in action as part of the scripts in the next step
+
+```
+curl -X POST \
+ https://mySampleEnv.live.dynatrace.com/api/v1/events \
+ -H 'Authorization: Api-token abcdefjhij1234567890' \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "eventType": "CUSTOM_ANNOTATION",
+ "timeoutMinutes": 0,
+ "attachRules": {
+
+ "tagRule": [
+ {
+ "meTypes": [
+ "CUSTOM_DEVICE"
+ ],
+ "tags": [
+ {
+ "context": "CONTEXTLESS",
+ "key": "IG-test"
+ }
+ ]
+ }
+ ]
+ },
+ "source": "OpsControl",
+ "annotationType": "defect",
+ "annotationDescription": "coffee machine is defective"
+}'
+```
+## Enable Backend service problem on Monolith
+
+In this step we are going to "simulate" a deployment of new version of the `backend` service. After the "deployment" the service will exhibit a high response time for all backend requests.
+
+### Tasks to complete this step
+1. To enable the problem pattern, use the unix that is provided that will do the following
+ * Call the `backend/set-version` URL set the backend version
+ * Send a Dynatrace `CUSTOM_DEPLOYMENT` event indicating the change
+ * From the Azure shell, run these commands to set the version:
+
+ ```
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh backend 2
+ ```
+
+ * Review the output to ensure the change was made successfully. I should look like this with numerical values at the end for `Response Data: storedEventIds`:
+
+ ```
+ @Azure:~/azure-modernization-dt-orders-setup/learner-scripts$ ./set-version.sh backend 2
+
+ Retrieving dt-orders-monolith Public IP
+ =================================================================
+ Setting Service Version
+ SERVICE = backend
+ NEW_VERSION = 2
+ SET_VERSION_URL = http://1.1.1.1/backend/setversion/2
+ =================================================================
+ Set backend to 2 was successful
+ =================================================================
+ Sending Dynatrace Deployment event
+ DT_API_URL = https://xxx.live.dynatrace.com/api/v1/events
+ DEPLOYMENT_NAME = Set backend to version 2
+ DEPLOYMENT_VERSION = 2
+ DEPLOYMENT_PROJECT = dt-orders
+ CI_BACK_LINK = http://1.1.1.1
+ =================================================================
+ Push Event POST_DATA
+ { "eventType" : "CUSTOM_DEPLOYMENT", "source" : "Custom Unix Shell Script" , "deploymentName" : "Set backend to version 2", "deploymentVersion" : "2" , "deploymentProject" :"dt-orders" , "ciBackLink" : "http://1.1.1.1", "customProperties": { "Example Custom Property 1" : "Example Custom Value 1", "Example Custom Property 2" : "Example Custom Value 2", "Example Custom Property 3" : "Example Custom Value 3" }, "attachRules" : { "tagRule" : [ { "meTypes":["PROCESS_GROUP_INSTANCE"], "tags": [ { "context": "CONTEXTLESS", "key": "service", "value": "backend" }, { "context": "CONTEXTLESS", "key": "project", "value": "dt-orders" }, { "context": "CONTEXTLESS", "key": "stage", "value": "production" } ]} ]} } }
+
+ Response Data
+ {"storedEventIds":[8663164135574257870,-5988376401319068441],"storedIds":["8663164135574257870_1628095127627","-5988376401319068441_1628095127627"],"storedCorrelationIds":[]}
+
+ ```
+
+2. Validate Sample App in Browser
+ - The output from previous task has link to the sample under `CI_BACK_LINK`. Click on the URL to get to the sample application if you don't have the sample app up already. You should see `version 2` for the customer app now too.
+
+ 
+
+3. Review the Problem card in Dynatrace
+ * Go to Dynatrace menu -> Problems, and you will probably see two problems that eventually get mergedโฆ
+ 1. Impact summary - multiple service impact
+ 1. Root cause
+ 1. Click on the `Analyze Response Time Degradation` button to view the real issue with the request.
+ 
+
+4. Analyze problem - top findings
+ 1. Here you can see how Dynatrace automatically analyzes the problem and lets you know whether the problem is related to code, waiting, or other services and queues.
+ 1. Click in the `active wait time` line with the top findings to open the execution time breakdown detail.
+ 
+
+5. Analyze problem - execution time breakdown
+ - Dynatrace automatically shows the breakdown of the execution time. To see more, click the `View method hotspots` button.
+ 
+
+6. Analyze problem - hot spots
+ - Here the code call breakdown is shown and by expanding this tree, you can locate the method where the slow down is occurring.
+
+ **๐ You will need to expand several stack frames to get to method causing the slow down.**
+
+
+ 
+
+7. Analyze problem impact
+ - From the breadcrumb menu, click on the `backend` to open the service page.
+ 
+
+ - Then click on the response time box in the Dynamic web requests section to open the service details page. You can see exactly when the problem started.
+ 
+
+8. Disable the problem pattern
+ * From the Azure shell run these commands to set the version back to version 1
+
+ ```
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh backend 1
+ ```
+
+ * Ensure there are numerical values at the end for `Response Data: storedEventIds` like:
+
+ ```
+ Response Data
+ {"storedEventIds":[8663164135574257870,-5988376401319068441],"storedIds":["8663164135574257870_1628095127627","-5988376401319068441_1628095127627"],"storedCorrelationIds":[]}
+ ```
+
+ * By ensuring there are numerical values t the end, it validates the command ran successfully.
+
+
+**๐ Why does the problem card say 'Custom Threshold'?**
+ The Dynatrace AI engine is evaluating metrics and dependencies for daily and weekly traffic patterns. Since we just setup our sample application, there is not a lot of history to review. We setup a fixed threshold as a global service setting.
+
+ * To review this setting, on the left side menu, click `settings`, click `Anomaly Detection` and the the `Services` setting.
+
+ 
+
+ * To learn more about how Davis AI problems are detected and analyze, click the Dynatrace docs to learn more
+
+
+
+## Enable Order Service problem on AKS
+
+
+In this step we are going to "simulate" another deployment of new version of the `order` service running on Kubernetes. After the "deployment" the service will exhibit a failures for all requests.
+
+### Tasks to complete this step
+1. Enable the problem pattern use the automated unix script that is provided which will do the following:
+ * Call the `order/set-version` URL to set the order-service version
+ * Send a Dynatrace `CUSTOM_DEPLOYMENT` event indicating the change
+ * From the Azure shell run these commands to set the version:
+
+ ```
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh k8-order 3
+ ```
+
+ Ensure there are numerical values at the end for `Response Data: storedEventIds` like:
+
+ ```
+ Response Data
+ {"storedEventIds":[8663164135574257870,-5988376401319068441],"storedIds":["8663164135574257870_1628095127627","-5988376401319068441_1628095127627"],"storedCorrelationIds":[]}
+ ```
+
+2. Validate the Change in Dynatrace
+ * From the left side menu, navigate to the `Releases` page. Here you will see how Dynatrace detected the versions of monitored processes. It may take a minute, but you will see the version change in the `Real-time inventory` section and a new event in the `Release events` section.
+
+
+ 
+
+ * If you expand the event, you should see something like this
+
+ 
+
+3. Validate Sample App in Browser
+ * The event above has the URL back to the sample application, so just click that if you don't have the sample app up already. You should see `version 3` for the order app now too.
+
+ 
+
+4. Review the Problem in Dynatrace
+ * The problem may take a minute to show up, but this is what the problem will look like once it does. Also, you may see two problems that eventually get merged into one as Dynatrace is performing the problem analysis.
+ 1. Problem card windows and impact summary
+ 1. Root cause
+ 1. Deployment event as additional context
+
+ 
+
+5. Analyze problem
+ - Referring to #4 in the picture above, click on the `Analyze failure rate degradation` button.
+ - Right away we can see that there were exceptions in the code and the `details` button can be clicked to see the code stack trace.
+
+ 
+
+6. Analyze problem impact
+ - From the breadcrumb menu, click on the `order` to open the service page.
+
+ 
+
+ - On this page, notice the failure rate.
+
+ 
+
+ - Then click on the failure rate box to open the service details page. You can see exactly when the problem started.
+
+ 
+
+7. Disable the Problem Pattern
+ * From the Azure shell run these commands to set the version back to version 1
+
+ ```
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh k8-order 1
+ ```
+
+ * Ensure there are numerical values at the end for `Response Data: storedEventIds` are like:
+
+ ```
+ Response Data
+ {"storedEventIds":[8663164135574257870,-5988376401319068441],"storedIds":["8663164135574257870_1628095127627","-5988376401319068441_1628095127627"],"storedCorrelationIds":[]}
+ ```
+
+ * Dynatrace will automatically close the problem once it detects things are back to normal.
+
+
+
+
+## Summary
+
+In this section, you should have completed the following:
+
+ โ Enabled a problem in the application and walk through what Dynatrace Davis found
+
+ โ Reviewed the details of the Dynatrace Problem card.
+
+ โ Learn how Dynatrace use Events and Tags to provide additional context.
+
diff --git a/061-DynatraceOnAzure/Coach/Solution-04.md b/061-DynatraceOnAzure/Coach/Solution-04.md
new file mode 100644
index 0000000000..a213621244
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-04.md
@@ -0,0 +1,293 @@
+# Challenge 04 - Azure Monitor Metrics & Custom Dashboard - Coach's Guide
+
+[< Previous Solution](./Solution-03.md) - **[Home](./README.md)** - [Next Solution >](./Solution-05.md)
+
+## Notes & Guidance
+
+## Objectives of this Lab
+
+
+In order to do more with less and scale, organizations must transcend IT silos, foster collaboration and improve productivity. Automation and a common data model are key components of this, but it takes platforms that support operational teams and workflows.
+
+- Review how Dynatrace integrates with [Azure monitor](https://azure.microsoft.com/en-us/services/monitor/)
+
+- Review how Azure monitor metrics can be configured as [Metric events for alerts](https://www.dynatrace.com/support/help/how-to-use-dynatrace/problem-detection-and-analysis/problem-detection/metric-events-for-alerting/)
+
+- Examine Dynatrace Service Level Objectives (SLOs)
+
+- Create a custom dashboard with SLOs
+
+
+## Review - Azure Monitor Setup
+
+
+Referring to the picture below, here are the components for this lab.
+
+
+
+**#1 . Azure**: Azure cloud platform where Azure services produce metrics that are sent to Azure monitor.
+
+**#2 . Azure VM running ActiveGate**: A Dynatrace ActiveGate process required to monitor Azure monitor data.
+
+**#3 . Dynatrace**: Dynatrace tenant where monitoring data is collected and analyzed.
+
+**#4 . Dynatrace Azure Dashboard**: Out of the box dashboard for each configured Azure subscription.
+
+### Azure Dashboard
+
+In addition to monitoring your Azure workloads using OneAgent, Dynatrace provides integration with Azure Monitor which adds infrastructure monitoring to gain insight even into serverless application scenarios.
+
+The integration uses Azure Monitor metrics for service insights, as well as Azure Resource Manager (ARM) to gather metadata.
+
+
+
+### Review your environment
+
+1. From the left side menu in Dynatrace, click the `Azure` menu item.
+1. Scroll down, and in the `Environment dynamics` action click on the `eastus` region to open the virtual machine regional page
+
+### Virtual machine regional page
+
+Notice the following details:
+1. A summary of type and status is shown
+1. A running average for virtual machines
+1. A table of host with Azure monitor metrics summarized. Notice that both VMs with and without an OneAgent are both shown
+
+
+
+### Virtual machine details
+
+Click on the `dt-orders-active-gate` host to open the host page.
+
+Notice the following details:
+1. Expand the properties to see more details
+1. All the Azure monitor metrics are viewable as time-series data
+
+
+
+๐ป๐ See the [Dynatrace Docs](https://www.dynatrace.com/support/help/technology-support/cloud-platforms/microsoft-azure-services/set-up-integration-with-azure-monitor/) for more details on the setup.
+
+**๐ How this helps**
+
+ Dynatrace brings value by enriching the data from Azure Monitor/App Insights and extending observability into the platform with additional metrics for cloud infrastructure, load balancers, API Management Services, and more.โ
+
+ These metrics are managed by Dynatrace's AI engine automatically and this extended observability improves operations, reduces MTTR and increases innovation.
+
+
+## Custom Alerting Setup
+
+
+Dynatrace Davis automatically analyzes abnormal situations within your IT infrastructure and attempts to identify any relevant impact and root cause. Davis relies on a wide spectrum of information sources, such as a transactional view of your services and applications, as well as on events raised on individual nodes within your Smartscape topology.
+
+There are two main sources for single events in Dynatrace:
+
+* Metric-based events (events that are triggered by a series of measurements) and
+events that are independent of any metric (for example, process crashes, deployment changes, and VM motion events)
+* Custom metric events are configured in the global settings of your environment and are visible to all Dynatrace users in your environment.
+
+### Tasks to complete this step
+1. Setup Custom Events for Alerting
+ * To add custom alerts, navigate to `Settings --> Anomaly Detection --> Custom Events for Alerting` menu.
+ * Click the `Create custom event for alerting` button.
+ 
+ * In the `Category` dropdown list, select `Cloud Platform` and in the `Metric` dropdown list, type `Percentage CPU` and pick the `Cloud platforms > Azure > Virtual Machine > cpuUsage` option and Pick `Average`
+ 
+
+
+
+ * Click `Add rule-base` button and update as shown below
+ 
+
+ * Choose `Static threshold` and update as shown below
+ 
+
+ * Add the `Event Description` to have the `title` and `severity = CUSTOM ALERT` as shown below.
+ 
+
+ โน๏ธ Notice the `Alert preview` chart that helps you in reviewing these settings
+
+ 
+
+ * Save your changes
+
+ * Add another rule, with everything the same, except for the `Event Description` to have the `title` and `severity = RESOURCE` as shown below.
+ 
+
+ * Save your changes and the list should look as shown below.
+ 
+
+2. Trigger a CPU Problem
+ * To enable a problem, you will go into the Azure Portal UI and use the `Run Command` feature to start a shell script.
+ * From the Azure Portal, search for `dt-orders-monlith` VM from the search menu and select it.
+ 
+
+ * Once inside the VM resource page, click on `Run Command` under Operations from the left menu
+ 
+
+ * Next, click on `RunShellScript` and type in the command listed below in the `Run Command Script` window and click run
+
+ ```
+ /home/workshop/azure-modernization-dt-orders-setup/learner-scripts/run-cpu-prb.sh
+ ```
+ 
+
+ * In the output window you should receive the following:
+
+ 
+
+
+3. Review Dynatrace UI for Problem card
+ * Back in Dynatrace within the `host` view, the CPU should now be high as shown below
+
+ 
+
+ * It may take a minute or so, but you will get two problem cards as shown below. #1 is the alert from the `severity = RESOURCE` where Davis was invoked, and #2 is the alert from `severity = CUSTOM ALERT`.
+
+ 
+
+ ๐ป๐ Look at the Dynatrace Docs for more details on the setup.
+
+ Alert configuration is available through the Anomaly detectionโmetric events API Using the API, you can list, update, create, and delete configurations.
+
+
+
+ * Review Problem Notifications Settings
+ - Navigate to `Settings --> Integrations --> Problem Notifications`
+ - Read the overview and then click the `Add Notification` button
+ - Click various `Notification types` from the drop down to review the configurations inputs.
+ - For the `Custom integration` type, review the option to customize the payload.
+ - Notice how you can choose the `Alert profile`, but you only have default as an option currently
+
+ * Review Alerting Profiles
+ - Navigate to `Settings --> Alerting --> Alerting profiles`
+ - Read the overview and then expand the `default` rule.
+ - Now add one, by clicking on the `Add alerting profile` button
+ - Review the options to choose severity rules and filters
+
+4. Stop the CPU problem
+ * To stop the problem, we will use the same `Run Command` feature in Azure Portal to execute stop shell script.
+ * From the Azure Portal, search for `dt-orders-monlith` VM from the search menu and select it.
+ 
+
+ * Once inside the VM resource page, click on `Run Command` under Operations from the left menu
+
+ * Next, click on `RunShellScript` and type in the following command listed below in the `Run Command Script` window and click run
+
+ ```
+ /home/workshop/azure-modernization-dt-orders-setup/learner-scripts/stop-cpu-prb.sh
+ ```
+ 
+
+ * In the output window you should receive the following:
+
+ 
+
+ * Verify that CPU in Dynatrace goes to normal and the problem card will automatically close
+
+
+
+
+## SLOs Setup Review
+
+
+Dynatrace provides all the necessary real-time information that your Site-Reliability Engineering (SRE) teams need to monitor their defined objectives.
+
+An SRE team is responsible for finding good service-level indicators (SLIs) for a given service in order to closely monitor the reliable delivery of that service. SLIs can differ from one service to another, as not all services are equally critical in terms of time and error constraints.
+
+Dynatrace offers more than 2000 different metrics that are ready for use as dedicated SLIs.
+
+Each Service Level Objective (SLO) definition can be evaluated by following two result metrics:
+
+* **SLO status:** The current evaluation result of the SLO, expressed as a percentage. The semantics of this percentage (for example, 99.3% of all service requests are successful, or 99.99% of all website users are โsatisfiedโ in terms of Apdex rating) and the target defined for this percentage are up to the SRE team.
+
+* **SLO error budget:** The remaining buffer until the defined SLO target is considered as failed. For example, if an SLO defines a 95% target and its current SLO status is evaluated as 98%, the remaining error budget is the difference between the SLO status and the SLO target.
+Two SLOs were created for you, so review those.
+
+Here is an example custom dashboard with SLO dashboard tiles.
+
+
+
+
+### Tasks to complete this step
+1. Review SLOs are deployed
+
+ * From the left menu in Dynatrace, click the `Service Level Objective` option to review the two SLOs that are already setup. Edit one of them to review the configuration.
+
+ 
+
+ **๐ How this helps**
+
+ You can review the current health status, error budgets, targets and warnings, along with the timeframe of all your SLOs on the SLOs overview page.
+
+ Davis provides quick notifications on anomalies detected, along with actionable root causes. If your SLO has turned red, this is most likely because Davis has already raised a problem for the underlying metrics, showing you the root cause.
+
+ See the Dynatrace Docs for more details on SLOs
+
+
+## Create SLO Dashboard
+
+
+In this step we'll create a very basic SLO dashboard to compare the before and after migration SLOs we've defined for our Monolith and Kubernetes service.
+
+### Tasks to complete this step
+1. Create Dashboard
+ * From the left side menu in Dynatrace, pick the `dashboard` menu.
+ * On the dashboard page, click the `new dashboard` button.
+
+ 
+
+ - Provide a dashboard name like `Cloud Migration Success`
+ - On the blank dashboard page, click the settings. Then click the `advanced settings` link to open then settings page
+
+ 
+
+ - Referring to this picture, follow these steps:
+ * On the settings page, click the `dashboard JSON` menu.
+ * Copy and paste the following Json content from this file into your dashboard JSON, replacing the existing JSON in the process:
+ * Dashboard JSON file Link
+ * You **MUST** replace the `owner` field to be the email that you logged into Dynatrace with or you will not be able to view it.
+
+ 
+
+ * After you edit the email, then click the `Revert Dashboard ID` button. After you click the `Revert Dashboard ID` button, click the `Save changes` button.
+
+ 
+2. View Dashboard
+ - Click the `Cloud Migration Success` breadcrumb menu to go back to the dashboard page
+
+ 
+
+ - You should now see the dashboard
+
+ 
+
+3. Edit Dashboard
+ - Now you need to edit the dashboard and adjust the tiles with the SLOs and databases in your environment.
+ - On the top right of the page, click the `edit` button and then follow these steps:
+ * Click on the title of the Dynamic requests tile to open the Service properties window on the right side
+ * On the Service properties window, pick the monolith `frontend (monolith-frontend)` service
+ * Click the `Done` button
+
+ 
+
+ - Edit remaining tiles by following these steps
+ * Repeat the same steps above for the Cloud services tile, but pick the `staging- frontend` in the Service properties window
+ * Repeat for the two SLO tiles, but pick the associated SLO from the drop down list in the SLO properties window
+ * Repeat for the two database tiles. For Cloud services application there are 3 databases, so just pick one of the database of a demo.
+ * Click the `Done` button to save the dashboard
+
+
+
+## Summary
+
+
+In this section, you should have completed the following:
+
+โ Reviewed how Dynatrace integrates with [Azure monitor](https://azure.microsoft.com/en-us/services/monitor/)
+
+โ Reviewed how Azure monitor metrics can be configured as Metric events for alerts
+
+โ Examined Dynatrace Service Level Objectives (SLOs)
+
+โ Created a custom dashboard with SLOs
+
diff --git a/061-DynatraceOnAzure/Coach/Solution-05.md b/061-DynatraceOnAzure/Coach/Solution-05.md
new file mode 100644
index 0000000000..02b2b347d2
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-05.md
@@ -0,0 +1,51 @@
+# Challenge 05 - Grail - Dashboards & Notebooks - Coach's Guide
+
+[< Previous Solution](./Solution-04.md) - **[Home](./README.md)** - [Next Solution >](./Solution-06.md)
+
+## Notes & Guidance
+
+## Detailed Steps
+
+### Dashboards
+* Open the Dashboards app from the Left Menu
+* Selectโฏ+ Dashboard
+* Select + to add dashboard element
+* Select Query Grail
+
+
+
+* In the tile editor for Query, enter the following DQL
+```bash
+ fetch logs
+ | filter cloud.provider == "azure"
+ | summarize count(), by:{azure.resource.type}
+ | sort `count()`, direction:"descending"
+```
+* SelectโฏRun Query. For logs, your results will be generated in a table by default.
+* Select Select visualization tab to display the results differently. image
+
+
+### Notebooks to analyze log data
+
+* Download this sample notebook we will use to analyze logs
+ - Right click in browser, click Save As
+ - Click on [this link](https://raw.githubusercontent.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/grail/learner-scripts/AzureGrailWorkshop-Logs.json) to download the file.
+ 
+* Go into Dynatrace UI, open the notebooks app from your left menu
+ 
+* Expand the Notebooks menu
+ 
+* Click on upload and browse to the notebook JSON file where you saved.
+* Follow the instructions in the notebook to analyze log data from a Hipster shop sample app.
+
+### Notebooks to analyze metric data
+* Download this sample notebook we will use to analyze logs
+ - Right click in browser, click Save As
+ - Click on [this link](https://raw.githubusercontent.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/grail/learner-scripts/AzureGrailWorkshop-Metrics.json) to download the file.
+ 
+* Go into Dynatrace UI, open the notebooks app from your left menu
+ 
+* Expand the Notebooks menu
+ 
+* Click on upload and browse to the notebook JSON file for Metrics where you saved.
+* Follow the instructions in the notebook to analyze Azure metrics for your hosts.
\ No newline at end of file
diff --git a/061-DynatraceOnAzure/Coach/Solution-06.md b/061-DynatraceOnAzure/Coach/Solution-06.md
new file mode 100644
index 0000000000..f8ec9d6e68
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-06.md
@@ -0,0 +1,52 @@
+# Challenge 06 - Grail - SRE Guardian & Workflows - Coach's Guide
+
+[< Previous Solution](./Solution-05.md) - **[Home](./README.md)** - [Next Solution >](./Solution-07.md)
+
+## Notes & Guidance
+
+
+## Detailed Steps
+
+## Create the SRG
+
+* Create a guardian
+ * In Dynatrace from menu on the left, select Apps -> Site Reliability Guardian.
+ * On the All Guardians overview page, select + Guardian.
+ * Click on create without template. A new guardian is displayed in the editor.
+ * Provide a name for the guardian: my-first-guardian
+ * Add the following objective example by defining the name, a DQL, and specifying a target as well as a warning threshold.
+ * Objective name: Error rate
+ * Description: The error rate objective derives the number of error logs in ratio to the total number of log lines. The target is set to be less than 2% with a warning indicator at 1.5% of error logs.
+ * DQL to calculate the error
+ ```bash
+ fetch logs
+ | fieldsAdd errors = toLong(loglevel == "ERROR")
+ | summarize errorRate = sum(errors)/count() *100
+ ```
+ 
+ * Click on run query, select the last 1 hour to preview results of your current error rate.
+ * Set thresholds for this objective:
+ * Select Lower than the these numbers is good
+ * Failure: 1
+ * Warning: 0.4
+ * Click on Create to create the guardian.
+ * Click on Validate to perform a manual validation of the objective.
+
+### Creating a workflow to execute the SRG
+
+* Sign in to Dynatrace.
+* In the Dynatrace Launcher, select Workflows.
+* Select Add New workflow to create your first workflow. The Workflow editor opens.
+* Select the workflow title ("Untitled Workflow") and customize the name e.g. "Guardian Check".
+* In the Choose trigger section, select the Time interval trigger.
+ * Set the Run every (min) parameter to 10 minutes and Rule parameter to everyday
+ 
+ * To add the first task, select + on the trigger node of the workflow graph.
+ 
+ * In the Choose action section, which lists all available actions for tasks, select "Site Reliability Guardian". The workflow now has its first task and shows the input configuration for that task on the right.
+ * For the Guardian, select "my-first-guardian"
+ * For the timeframe, select "Last 1 Hour"
+ 
+* From the left menu click on save to save the workflow
+ 
+* Select run to execute the workflow
\ No newline at end of file
diff --git a/061-DynatraceOnAzure/Coach/Solution-07.md b/061-DynatraceOnAzure/Coach/Solution-07.md
new file mode 100644
index 0000000000..8277b51af2
--- /dev/null
+++ b/061-DynatraceOnAzure/Coach/Solution-07.md
@@ -0,0 +1,61 @@
+# Challenge 07 - Cleanup - Coach's Guide
+
+[< Previous Solution](./Solution-06.md) - **[Home](./README.md)**
+
+## Notes & Guidance
+
+## Workshop Environment Reminder
+
+If you plan to keep the workshop resources running in Azure for a few more days to come back and review the labs, please keep in mind the following things:
+
+* Your Dynatrace Trial Environment will disabled after 14 calendar days.
+
+## Workshop Cleanup
+
+When you are ready to cleanup the workshop resource, run this command to remove the Azure resources and Dynatrace configuration:
+
+```
+cd ~/azure-modernization-dt-orders-setup/provision-scripts
+./cleanup-workshop.sh
+```
+
+The start of the script output will look like this:
+
+```
+===================================================================
+About to Delete Workshop resources
+===================================================================
+Proceed? (y/n) : y
+
+==========================================
+Deleting workshop resources
+Starting: Fri 07 May 2021 04:35:46 AM UTC
+==========================================
+...
+...
+```
+
+Eventually when it completes - plan for 5-10 minutes - it will look like this:
+
+```
+=============================================
+Deleting workshop resources COMPLETE
+End: Fri 07 May 2021 04:40:40 AM UTC
+=============================================
+```
+
+## Other Resources
+
+### Free Dynatrace SaaS tenant
+To sign-up for a free fully featured enabled Dynatrace SaaS Tenant for 15 days [click here](https://www.dynatrace.com/trial/)
+
+### Resources
+Addition Azure & Dynatrace related resources to get your started with:
+
+* [Partner Cafe Quick Azure Overview](https://www.youtube.com/watch?v=VCdEHAoEePw)
+* [Dynatrace YouTube Videos](https://www.youtube.com/channel/UCcYJ-5q_AfmjQ4XTjTS0o3g)
+* [More Support resources](https://www.dynatrace.com/services-support/#support-resources-section)
+* Customer Stories:โ
+ - [Barbari](https://www.dynatrace.com/news/customer-stories/barbri/)
+ - [Kroger](https://www.dynatrace.com/news/customer-stories/kroger/)
+ - [Mitchells & Butlers](https://www.dynatrace.com/news/customer-stories/mitchells-and-butlers/)
diff --git a/061-DynatraceOnAzure/Coach/Solutions/.gitkeep b/061-DynatraceOnAzure/Coach/Solutions/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/aks-layer7-service.png b/061-DynatraceOnAzure/Coach/Solutions/img/aks-layer7-service.png
new file mode 100644
index 0000000000..7b864e845b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/aks-layer7-service.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/azure-pass-emailconfirm.png b/061-DynatraceOnAzure/Coach/Solutions/img/azure-pass-emailconfirm.png
new file mode 100644
index 0000000000..fd1f8e16d7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/azure-pass-emailconfirm.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/azure-pass-signin.png b/061-DynatraceOnAzure/Coach/Solutions/img/azure-pass-signin.png
new file mode 100644
index 0000000000..86431b4eb7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/azure-pass-signin.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-01.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-01.png
new file mode 100644
index 0000000000..fe6d82b51c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-01.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-02.gif b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-02.gif
new file mode 100644
index 0000000000..1aa60acf86
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-02.gif differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-03.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-03.png
new file mode 100644
index 0000000000..d3d1a46981
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-03.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-04.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-04.png
new file mode 100644
index 0000000000..f0ac2bdac2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-04.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-05.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-05.png
new file mode 100644
index 0000000000..4002f2c7a0
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge5-05.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-01.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-01.png
new file mode 100644
index 0000000000..00bb900292
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-01.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-02.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-02.png
new file mode 100644
index 0000000000..20b65fd74a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-02.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-03.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-03.png
new file mode 100644
index 0000000000..6b52de7936
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-03.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-04.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-04.png
new file mode 100644
index 0000000000..c2a12c69a2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-04.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-05.png b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-05.png
new file mode 100644
index 0000000000..ac5f1fdf38
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/challenge6-05.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/dt-copy-command.png b/061-DynatraceOnAzure/Coach/Solutions/img/dt-copy-command.png
new file mode 100644
index 0000000000..45e77f6719
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/dt-copy-command.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/dt-provision-dashboard-edit.png b/061-DynatraceOnAzure/Coach/Solutions/img/dt-provision-dashboard-edit.png
new file mode 100644
index 0000000000..bbaa9a57c6
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/dt-provision-dashboard-edit.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/dt-provision-dashboard-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/dt-provision-dashboard-list.png
new file mode 100644
index 0000000000..a042e3c2e6
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/dt-provision-dashboard-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/la4-aks-kubeworkload.png b/061-DynatraceOnAzure/Coach/Solutions/img/la4-aks-kubeworkload.png
new file mode 100644
index 0000000000..177d7a0ea7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/la4-aks-kubeworkload.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-analysis-view-button.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-analysis-view-button.png
new file mode 100644
index 0000000000..4502cd92d9
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-analysis-view-button.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-analysis-view.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-analysis-view.png
new file mode 100644
index 0000000000..496855cf5b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-analysis-view.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-app.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-app.png
new file mode 100644
index 0000000000..57b0f58934
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-app.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-azure-find-vm.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-azure-find-vm.png
new file mode 100644
index 0000000000..eee46187af
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-azure-find-vm.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-azure-get-public-ip.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-azure-get-public-ip.png
new file mode 100644
index 0000000000..2af0060631
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-azure-get-public-ip.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-database.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-database.png
new file mode 100644
index 0000000000..372bf2385a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-database.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-deploy-dynatrace.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-deploy-dynatrace.png
new file mode 100644
index 0000000000..96c83eea82
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-deploy-dynatrace.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-deployment-status.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-deployment-status.png
new file mode 100644
index 0000000000..e8b128700c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-deployment-status.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-docker-monitoring.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-docker-monitoring.png
new file mode 100644
index 0000000000..d8b4ece657
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-docker-monitoring.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-download-dynatrace.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-download-dynatrace.png
new file mode 100644
index 0000000000..c03a56ae20
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-download-dynatrace.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-arrow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-arrow.png
new file mode 100644
index 0000000000..61b069ffdb
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-arrow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-chart.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-chart.png
new file mode 100644
index 0000000000..f4fb482c57
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-chart.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-list.png
new file mode 100644
index 0000000000..6eb67651f5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynamic-requests-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynatrace-hub.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynatrace-hub.png
new file mode 100644
index 0000000000..03c02b1c99
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-dynatrace-hub.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-process.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-process.png
new file mode 100644
index 0000000000..3a78bcf2a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-process.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-smartscape.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-smartscape.png
new file mode 100644
index 0000000000..c0cb580230
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-smartscape.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-view.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-view.png
new file mode 100644
index 0000000000..261836c893
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-host-view.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-hostlist.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-hostlist.png
new file mode 100644
index 0000000000..67c5a9a524
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-hostlist.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-install-dynatrace.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-install-dynatrace.png
new file mode 100644
index 0000000000..1df9d5533d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-install-dynatrace.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-filter-off.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-filter-off.png
new file mode 100644
index 0000000000..02f51f4237
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-filter-off.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-menu.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-menu.png
new file mode 100644
index 0000000000..40e8e97166
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-menu.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-rule.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-rule.png
new file mode 100644
index 0000000000..f60c2e119c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-mz-rule.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-navigate-to-frontend.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-navigate-to-frontend.png
new file mode 100644
index 0000000000..c4b6c9ea64
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-navigate-to-frontend.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-db.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-db.png
new file mode 100644
index 0000000000..96ca87ffc3
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-db.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-monolith-mz.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-monolith-mz.png
new file mode 100644
index 0000000000..6084710ecb
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-monolith-mz.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-service.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-service.png
new file mode 100644
index 0000000000..dae50c2d60
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-pick-service.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-process-view.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-process-view.png
new file mode 100644
index 0000000000..b335c089d9
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-process-view.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-request-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-request-filter.png
new file mode 100644
index 0000000000..cf615b3c5d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-request-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-backtrace-arrow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-backtrace-arrow.png
new file mode 100644
index 0000000000..87663bc39c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-backtrace-arrow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-backtrace-arrows.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-backtrace-arrows.png
new file mode 100644
index 0000000000..f3d3dc84e4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-backtrace-arrows.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow-arrow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow-arrow.png
new file mode 100644
index 0000000000..4a55d08dc7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow-arrow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow-tp.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow-tp.png
new file mode 100644
index 0000000000..dd09b70ec4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow-tp.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow.png
new file mode 100644
index 0000000000..48c771095b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-flow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-view.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-view.png
new file mode 100644
index 0000000000..6ec0f150ce
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-service-view.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-setup.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-setup.png
new file mode 100644
index 0000000000..160de7dce6
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-setup.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-smartscape.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-smartscape.png
new file mode 100644
index 0000000000..d77bc4ec8a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-smartscape.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-tag-menu.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-tag-menu.png
new file mode 100644
index 0000000000..f0976e7c93
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-tag-menu.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-tag.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-tag.png
new file mode 100644
index 0000000000..f3eae615d2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-tag.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology-demo.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology-demo.png
new file mode 100644
index 0000000000..112a84e156
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology-demo.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology-filter.png
new file mode 100644
index 0000000000..20fda4e28c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology.png
new file mode 100644
index 0000000000..de9a1e7bad
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-technology.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-trans-services-db.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-trans-services-db.png
new file mode 100644
index 0000000000..534392a4a5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-trans-services-db.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab1-trans-services.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-trans-services.png
new file mode 100644
index 0000000000..1a7006b391
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab1-trans-services.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-app copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-app copy.png
new file mode 100644
index 0000000000..60d57d02a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-app copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-app.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-app.png
new file mode 100644
index 0000000000..60d57d02a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-app.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-find-vm copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-find-vm copy.png
new file mode 100644
index 0000000000..fba85b4fc5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-find-vm copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-find-vm.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-find-vm.png
new file mode 100644
index 0000000000..fba85b4fc5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-find-vm.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-get-public-ip copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-get-public-ip copy.png
new file mode 100644
index 0000000000..d1a63d5246
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-get-public-ip copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-get-public-ip.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-get-public-ip.png
new file mode 100644
index 0000000000..d1a63d5246
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-azure-get-public-ip.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-backtrace-detail copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-backtrace-detail copy.png
new file mode 100644
index 0000000000..d019bf77a0
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-backtrace-detail copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-backtrace-detail.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-backtrace-detail.png
new file mode 100644
index 0000000000..d019bf77a0
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-backtrace-detail.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard copy.png
new file mode 100644
index 0000000000..4d8d427f22
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-bread copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-bread copy.png
new file mode 100644
index 0000000000..fb1f63c2a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-bread copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-bread.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-bread.png
new file mode 100644
index 0000000000..fb1f63c2a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-bread.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-name copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-name copy.png
new file mode 100644
index 0000000000..52c8e4de4a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-name copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-name.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-name.png
new file mode 100644
index 0000000000..52c8e4de4a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-name.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-tile copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-tile copy.png
new file mode 100644
index 0000000000..0bbbec6aa2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-tile copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-tile.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-tile.png
new file mode 100644
index 0000000000..0bbbec6aa2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-edit-tile.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-json copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-json copy.png
new file mode 100644
index 0000000000..77b12345ae
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-json copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-json.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-json.png
new file mode 100644
index 0000000000..77b12345ae
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-json.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-settings copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-settings copy.png
new file mode 100644
index 0000000000..6434accfe7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-settings copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-settings.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-settings.png
new file mode 100644
index 0000000000..6434accfe7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-settings.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-view copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-view copy.png
new file mode 100644
index 0000000000..8c04806588
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-view copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-view.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-view.png
new file mode 100644
index 0000000000..8c04806588
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard-view.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard.png
new file mode 100644
index 0000000000..4d8d427f22
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-layers copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-layers copy.png
new file mode 100644
index 0000000000..fcb9f30fa3
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-layers copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-layers.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-layers.png
new file mode 100644
index 0000000000..fcb9f30fa3
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-layers.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-namespaces copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-namespaces copy.png
new file mode 100644
index 0000000000..757d304536
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-namespaces copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-namespaces.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-namespaces.png
new file mode 100644
index 0000000000..757d304536
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-k8s-namespaces.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-namespaces copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-namespaces copy.png
new file mode 100644
index 0000000000..4571562272
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-namespaces copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-namespaces.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-namespaces.png
new file mode 100644
index 0000000000..4571562272
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-namespaces.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-operator-shell-output.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-operator-shell-output.png
new file mode 100644
index 0000000000..c707ce7282
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-operator-shell-output.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture copy.png
new file mode 100644
index 0000000000..be31feee43
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture-future copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture-future copy.png
new file mode 100644
index 0000000000..f161bc5633
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture-future copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture-future.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture-future.png
new file mode 100644
index 0000000000..f161bc5633
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture-future.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture.png
new file mode 100644
index 0000000000..be31feee43
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-picture.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-backtrace-arrow copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-backtrace-arrow copy.png
new file mode 100644
index 0000000000..87663bc39c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-backtrace-arrow copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-backtrace-arrow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-backtrace-arrow.png
new file mode 100644
index 0000000000..87663bc39c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-backtrace-arrow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow copy.png
new file mode 100644
index 0000000000..8f500415d4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-arrow copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-arrow copy.png
new file mode 100644
index 0000000000..4a55d08dc7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-arrow copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-arrow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-arrow.png
new file mode 100644
index 0000000000..4a55d08dc7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-arrow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-tp copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-tp copy.png
new file mode 100644
index 0000000000..b9ce05b0af
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-tp copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-tp.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-tp.png
new file mode 100644
index 0000000000..b9ce05b0af
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow-tp.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow.png
new file mode 100644
index 0000000000..8f500415d4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-flow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-list-catalog copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-list-catalog copy.png
new file mode 100644
index 0000000000..6382eb3b77
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-list-catalog copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-list-catalog.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-list-catalog.png
new file mode 100644
index 0000000000..6382eb3b77
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-service-list-catalog.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-setup copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-setup copy.png
new file mode 100644
index 0000000000..c9d4d1ee4d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-setup copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-setup.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-setup.png
new file mode 100644
index 0000000000..c9d4d1ee4d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-setup.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-dashboard copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-dashboard copy.png
new file mode 100644
index 0000000000..c2a6bff880
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-dashboard copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-dashboard.png
new file mode 100644
index 0000000000..c2a6bff880
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-list copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-list copy.png
new file mode 100644
index 0000000000..dce58e30a5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-list copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-list.png
new file mode 100644
index 0000000000..dce58e30a5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-slo-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-step8-services.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-step8-services.png
new file mode 100644
index 0000000000..8ed8ce47d8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-step8-services.png differ
diff --git "a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-step8-services\342\200\213 copy.png" "b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-step8-services\342\200\213 copy.png"
new file mode 100644
index 0000000000..8ed8ce47d8
Binary files /dev/null and "b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-step8-services\342\200\213 copy.png" differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-trans-services copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-trans-services copy.png
new file mode 100644
index 0000000000..cbc9ea91f9
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-trans-services copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab2-trans-services.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-trans-services.png
new file mode 100644
index 0000000000..cbc9ea91f9
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab2-trans-services.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-alert-create copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-alert-create copy.png
new file mode 100644
index 0000000000..0c2a5f24b5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-alert-create copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-alert-create.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-alert-create.png
new file mode 100644
index 0000000000..0c2a5f24b5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-alert-create.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-backend-version-2 copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-backend-version-2 copy.png
new file mode 100644
index 0000000000..6b443757c4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-backend-version-2 copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-backend-version-2.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-backend-version-2.png
new file mode 100644
index 0000000000..6b443757c4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-backend-version-2.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-customer-version-2 copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-customer-version-2 copy.png
new file mode 100644
index 0000000000..9263a5a910
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-customer-version-2 copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-customer-version-2.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-customer-version-2.png
new file mode 100644
index 0000000000..9263a5a910
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-customer-version-2.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-2 copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-2 copy.png
new file mode 100644
index 0000000000..fc9071a4a4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-2 copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-2.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-2.png
new file mode 100644
index 0000000000..fc9071a4a4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-2.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-3 copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-3 copy.png
new file mode 100644
index 0000000000..60d770d6c9
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-3 copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-3.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-3.png
new file mode 100644
index 0000000000..60d770d6c9
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-order-version-3.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-ui-order-version-3 copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-ui-order-version-3 copy.png
new file mode 100644
index 0000000000..a33cf5db48
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-ui-order-version-3 copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-ui-order-version-3.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-ui-order-version-3.png
new file mode 100644
index 0000000000..a33cf5db48
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-app-ui-order-version-3.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-detail copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-detail copy.png
new file mode 100644
index 0000000000..caed3ed1ff
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-detail copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-detail.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-detail.png
new file mode 100644
index 0000000000..caed3ed1ff
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-detail.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup copy.png
new file mode 100644
index 0000000000..145b9d1338
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup-link copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup-link copy.png
new file mode 100644
index 0000000000..0c6fb31ef7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup-link copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup-link.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup-link.png
new file mode 100644
index 0000000000..0c6fb31ef7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup-link.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup.png
new file mode 100644
index 0000000000..145b9d1338
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alert-setup.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alerts copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alerts copy.png
new file mode 100644
index 0000000000..aadd6c73dd
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alerts copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alerts.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alerts.png
new file mode 100644
index 0000000000..aadd6c73dd
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-alerts.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-create copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-create copy.png
new file mode 100644
index 0000000000..301f0321fd
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-create copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-create.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-create.png
new file mode 100644
index 0000000000..301f0321fd
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-create.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-dashboard copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-dashboard copy.png
new file mode 100644
index 0000000000..abddb65d61
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-dashboard copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-dashboard.png
new file mode 100644
index 0000000000..abddb65d61
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-manage copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-manage copy.png
new file mode 100644
index 0000000000..96a6c4fba2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-manage copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-manage.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-manage.png
new file mode 100644
index 0000000000..96a6c4fba2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-azure-manage.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis copy.png
new file mode 100644
index 0000000000..28aa302096
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis-trace copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis-trace copy.png
new file mode 100644
index 0000000000..2b340d09db
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis-trace copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis-trace.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis-trace.png
new file mode 100644
index 0000000000..2b340d09db
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis-trace.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis.png
new file mode 100644
index 0000000000..28aa302096
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-analysis.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-breadcrumb copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-breadcrumb copy.png
new file mode 100644
index 0000000000..5f510348af
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-breadcrumb copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-breadcrumb.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-breadcrumb.png
new file mode 100644
index 0000000000..5f510348af
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-breadcrumb.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-hotspots copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-hotspots copy.png
new file mode 100644
index 0000000000..f0c51c425b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-hotspots copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-hotspots.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-hotspots.png
new file mode 100644
index 0000000000..f0c51c425b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-hotspots.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem copy.png
new file mode 100644
index 0000000000..8f450c0358
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-details copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-details copy.png
new file mode 100644
index 0000000000..38c6163e85
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-details copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-details.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-details.png
new file mode 100644
index 0000000000..38c6163e85
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-details.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-usecase copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-usecase copy.png
new file mode 100644
index 0000000000..3390db1539
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-usecase copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-usecase.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-usecase.png
new file mode 100644
index 0000000000..3390db1539
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem-usecase.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem.png
new file mode 100644
index 0000000000..8f450c0358
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-backend-problem.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-code-issue copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-code-issue copy.png
new file mode 100644
index 0000000000..f48f451f42
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-code-issue copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-code-issue.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-code-issue.png
new file mode 100644
index 0000000000..f48f451f42
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-code-issue.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-hotspots copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-hotspots copy.png
new file mode 100644
index 0000000000..1daef44f4f
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-hotspots copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-hotspots.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-hotspots.png
new file mode 100644
index 0000000000..1daef44f4f
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-hotspots.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-line copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-line copy.png
new file mode 100644
index 0000000000..663f8051bc
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-line copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-line.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-line.png
new file mode 100644
index 0000000000..663f8051bc
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-line.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-problem copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-problem copy.png
new file mode 100644
index 0000000000..321e88b26a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-problem copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-problem.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-problem.png
new file mode 100644
index 0000000000..321e88b26a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-problem.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-rt copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-rt copy.png
new file mode 100644
index 0000000000..e5390e4a4a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-rt copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-rt.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-rt.png
new file mode 100644
index 0000000000..e5390e4a4a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-customer-rt.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-dynamic-requests copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-dynamic-requests copy.png
new file mode 100644
index 0000000000..4c0890291e
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-dynamic-requests copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-dynamic-requests.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-dynamic-requests.png
new file mode 100644
index 0000000000..4c0890291e
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-dynamic-requests.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-event-examples copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-event-examples copy.png
new file mode 100644
index 0000000000..6ce18a9c5d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-event-examples copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-event-examples.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-event-examples.png
new file mode 100644
index 0000000000..6ce18a9c5d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-event-examples.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-global-anomoly-rules copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-global-anomoly-rules copy.png
new file mode 100644
index 0000000000..129880787c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-global-anomoly-rules copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-global-anomoly-rules.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-global-anomoly-rules.png
new file mode 100644
index 0000000000..129880787c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-global-anomoly-rules.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-detail copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-detail copy.png
new file mode 100644
index 0000000000..ae65d426e3
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-detail copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-detail.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-detail.png
new file mode 100644
index 0000000000..ae65d426e3
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-detail.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-list copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-list copy.png
new file mode 100644
index 0000000000..09f96c2d4b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-list copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-list.png
new file mode 100644
index 0000000000..09f96c2d4b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-host-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-edit copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-edit copy.png
new file mode 100644
index 0000000000..e601024a26
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-edit copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-edit.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-edit.png
new file mode 100644
index 0000000000..e601024a26
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-edit.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-menu copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-menu copy.png
new file mode 100644
index 0000000000..53e219d1da
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-menu copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-menu.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-menu.png
new file mode 100644
index 0000000000..53e219d1da
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-menu.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem copy.png
new file mode 100644
index 0000000000..4cc0b5de27
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-detail copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-detail copy.png
new file mode 100644
index 0000000000..bb1baa7a98
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-detail copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-detail.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-detail.png
new file mode 100644
index 0000000000..bb1baa7a98
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-detail.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-error copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-error copy.png
new file mode 100644
index 0000000000..4388bf44ec
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-error copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-error.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-error.png
new file mode 100644
index 0000000000..4388bf44ec
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-error.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-line-filter copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-line-filter copy.png
new file mode 100644
index 0000000000..9530b1d4d4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-line-filter copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-line-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-line-filter.png
new file mode 100644
index 0000000000..9530b1d4d4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-line-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-requests copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-requests copy.png
new file mode 100644
index 0000000000..2d47f8de9f
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-requests copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-requests.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-requests.png
new file mode 100644
index 0000000000..2d47f8de9f
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-requests.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-service copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-service copy.png
new file mode 100644
index 0000000000..c8249ba650
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-service copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-service.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-service.png
new file mode 100644
index 0000000000..c8249ba650
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-service.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-usecase copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-usecase copy.png
new file mode 100644
index 0000000000..a39cfc2758
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-usecase copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-usecase.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-usecase.png
new file mode 100644
index 0000000000..a39cfc2758
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem-usecase.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem.png
new file mode 100644
index 0000000000..4cc0b5de27
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-order-problem.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-pipeline copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-pipeline copy.png
new file mode 100644
index 0000000000..781915e263
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-pipeline copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-pipeline.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-pipeline.png
new file mode 100644
index 0000000000..781915e263
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-pipeline.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-problemcard-events copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-problemcard-events copy.png
new file mode 100644
index 0000000000..881bc04493
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-problemcard-events copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-problemcard-events.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-problemcard-events.png
new file mode 100644
index 0000000000..881bc04493
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-problemcard-events.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release copy.png
new file mode 100644
index 0000000000..15344aecf0
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-backend-list copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-backend-list copy.png
new file mode 100644
index 0000000000..a7f1b576a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-backend-list copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-backend-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-backend-list.png
new file mode 100644
index 0000000000..a7f1b576a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-backend-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-customer copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-customer copy.png
new file mode 100644
index 0000000000..876febba8c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-customer copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-customer.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-customer.png
new file mode 100644
index 0000000000..876febba8c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-customer.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event copy.png
new file mode 100644
index 0000000000..def5d53457
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event-list copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event-list copy.png
new file mode 100644
index 0000000000..85007d7dc1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event-list copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event-list.png
new file mode 100644
index 0000000000..85007d7dc1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event.png
new file mode 100644
index 0000000000..def5d53457
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-event.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order copy.png
new file mode 100644
index 0000000000..bb8fb3bf2c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order-event copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order-event copy.png
new file mode 100644
index 0000000000..fd0bb2fd97
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order-event copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order-event.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order-event.png
new file mode 100644
index 0000000000..fd0bb2fd97
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order-event.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order.png
new file mode 100644
index 0000000000..bb8fb3bf2c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release-order.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release.png
new file mode 100644
index 0000000000..15344aecf0
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-release.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-save-dashboard copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-save-dashboard copy.png
new file mode 100644
index 0000000000..948bb4baa5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-save-dashboard copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-save-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-save-dashboard.png
new file mode 100644
index 0000000000..948bb4baa5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-save-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-setup copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-setup copy.png
new file mode 100644
index 0000000000..671543ff4b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-setup copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-setup.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-setup.png
new file mode 100644
index 0000000000..671543ff4b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-setup.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-tags copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-tags copy.png
new file mode 100644
index 0000000000..8cfebe711c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-tags copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-tags.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-tags.png
new file mode 100644
index 0000000000..8cfebe711c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-tags.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase1 copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase1 copy.png
new file mode 100644
index 0000000000..59f2dd3b1e
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase1 copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase1.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase1.png
new file mode 100644
index 0000000000..59f2dd3b1e
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase1.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase2 copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase2 copy.png
new file mode 100644
index 0000000000..d9dcd69565
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase2 copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase2.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase2.png
new file mode 100644
index 0000000000..d9dcd69565
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-usecase2.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert copy.png
new file mode 100644
index 0000000000..2705237d5d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert-chart copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert-chart copy.png
new file mode 100644
index 0000000000..44954d0abe
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert-chart copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert-chart.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert-chart.png
new file mode 100644
index 0000000000..44954d0abe
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert-chart.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert.png
new file mode 100644
index 0000000000..2705237d5d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab3-vm-alert.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-clusterutilz.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-clusterutilz.png
new file mode 100644
index 0000000000..1dc9d05d11
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-clusterutilz.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-container.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-container.png
new file mode 100644
index 0000000000..07fe6f9d3a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-container.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-frontend-workload.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-frontend-workload.png
new file mode 100644
index 0000000000..0658b12713
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-frontend-workload.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-nodeutiliz.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-nodeutiliz.png
new file mode 100644
index 0000000000..587ba58ee8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-nodeutiliz.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-pod.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-pod.png
new file mode 100644
index 0000000000..b254172515
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-pod.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-setup.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-setup.png
new file mode 100644
index 0000000000..24a7d4d5b1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-setup.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-workload-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-workload-filter.png
new file mode 100644
index 0000000000..5cec57da27
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-workload-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-workload.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-workload.png
new file mode 100644
index 0000000000..a2162dc00c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-aks-workload.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-alert-create.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-alert-create.png
new file mode 100644
index 0000000000..0c2a5f24b5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-alert-create.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-architecture-future.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-architecture-future.png
new file mode 100644
index 0000000000..00565910f1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-architecture-future.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-architecture.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-architecture.png
new file mode 100644
index 0000000000..12f38ea86d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-architecture.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-ip.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-ip.png
new file mode 100644
index 0000000000..b29f2bee26
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-app-ip.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-azure-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-azure-dashboard.png
new file mode 100644
index 0000000000..abddb65d61
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-azure-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-cpu copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-cpu copy.png
new file mode 100644
index 0000000000..c1b4d2879d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-cpu copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-cpu.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-cpu.png
new file mode 100644
index 0000000000..c1b4d2879d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-cpu.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-filter copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-filter copy.png
new file mode 100644
index 0000000000..a97e3d2926
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-filter copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-filter.png
new file mode 100644
index 0000000000..a97e3d2926
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-list copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-list copy.png
new file mode 100644
index 0000000000..740c997228
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-list copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-list.png
new file mode 100644
index 0000000000..740c997228
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-message copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-message copy.png
new file mode 100644
index 0000000000..c72e477efc
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-message copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-message.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-message.png
new file mode 100644
index 0000000000..c72e477efc
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-message.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-problems copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-problems copy.png
new file mode 100644
index 0000000000..d9431ac3c1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-problems copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-problems.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-problems.png
new file mode 100644
index 0000000000..d9431ac3c1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-problems.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-threashold.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-threashold.png
new file mode 100644
index 0000000000..950811c69d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-threashold.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-threshold.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-threshold.png
new file mode 100644
index 0000000000..950811c69d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-alert-threshold.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-resource-message copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-resource-message copy.png
new file mode 100644
index 0000000000..74fb5e6c2a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-resource-message copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-resource-message.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-resource-message.png
new file mode 100644
index 0000000000..74fb5e6c2a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-custom-resource-message.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-bread.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-bread.png
new file mode 100644
index 0000000000..fb1f63c2a8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-bread.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-edit-tile.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-edit-tile.png
new file mode 100644
index 0000000000..0bbbec6aa2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-edit-tile.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-json.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-json.png
new file mode 100644
index 0000000000..77b12345ae
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-json.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-settings.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-settings.png
new file mode 100644
index 0000000000..6434accfe7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-settings.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-view.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-view.png
new file mode 100644
index 0000000000..8c04806588
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard-view.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard.png
new file mode 100644
index 0000000000..4d8d427f22
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-host-detail.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-host-detail.png
new file mode 100644
index 0000000000..ae65d426e3
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-host-detail.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-host-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-host-list.png
new file mode 100644
index 0000000000..09f96c2d4b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-host-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-frontendservice-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-frontendservice-filter.png
new file mode 100644
index 0000000000..49814aa329
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-frontendservice-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-mgmtzone-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-mgmtzone-filter.png
new file mode 100644
index 0000000000..6a22057ed8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-mgmtzone-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-backflow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-backflow.png
new file mode 100644
index 0000000000..df9935bc2b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-backflow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-filter.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-filter.png
new file mode 100644
index 0000000000..5f1c04edd1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-filter.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-view-mod.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-view-mod.png
new file mode 100644
index 0000000000..3e5e84e5d1
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-view-mod.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-view.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-view.png
new file mode 100644
index 0000000000..bce62e3b45
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-k8-service-view.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-labsetup.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-labsetup.png
new file mode 100644
index 0000000000..898275e449
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-labsetup.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-mgmt.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-mgmt.png
new file mode 100644
index 0000000000..f3ebeae3bd
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-mgmt.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-exec-runcmd.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-exec-runcmd.png
new file mode 100644
index 0000000000..e20c1900e2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-exec-runcmd.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-output.jpg b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-output.jpg
new file mode 100644
index 0000000000..a2fbc1772e
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-output.jpg differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop-output.jpg b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop-output.jpg
new file mode 100644
index 0000000000..d52cc5e337
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop-output.jpg differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop.jpg b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop.jpg
new file mode 100644
index 0000000000..ea8a2445e5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop.jpg differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop.png
new file mode 100644
index 0000000000..7d169d93f2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd-stop.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd.png
new file mode 100644
index 0000000000..736e5e6cdc
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-runcmd.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-search.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-search.png
new file mode 100644
index 0000000000..b4512805ff
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-monolith-vm-search.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-install-output.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-install-output.png
new file mode 100644
index 0000000000..7ecaaa5e29
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-install-output.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-menu.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-menu.png
new file mode 100644
index 0000000000..ea6c3e4be7
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-menu.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-mod-may2022.jpg b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-mod-may2022.jpg
new file mode 100644
index 0000000000..63c7f2549a
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-mod-may2022.jpg differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-mod-may2022.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-mod-may2022.png
new file mode 100644
index 0000000000..c7672a5cdb
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator-mod-may2022.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator.png
new file mode 100644
index 0000000000..ef8c2e72e4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-operator.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-save-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-save-dashboard.png
new file mode 100644
index 0000000000..948bb4baa5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-save-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-responsetime copy.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-responsetime copy.png
new file mode 100644
index 0000000000..33b21257be
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-responsetime copy.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-responsetime.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-responsetime.png
new file mode 100644
index 0000000000..33b21257be
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-responsetime.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-thoroughput.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-thoroughput.png
new file mode 100644
index 0000000000..c7fff9018d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow-thoroughput.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow.png
new file mode 100644
index 0000000000..abd17236c4
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-serviceflow.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-setup.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-setup.png
new file mode 100644
index 0000000000..671543ff4b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-setup.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-slo-dashboard.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-slo-dashboard.png
new file mode 100644
index 0000000000..c2a6bff880
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-slo-dashboard.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-slo-list.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-slo-list.png
new file mode 100644
index 0000000000..dce58e30a5
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-slo-list.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-vm-alert-chart.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-vm-alert-chart.png
new file mode 100644
index 0000000000..44954d0abe
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-vm-alert-chart.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/lab4-vm-alert.png b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-vm-alert.png
new file mode 100644
index 0000000000..2705237d5d
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/lab4-vm-alert.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-cli-gitcloneoutput.png b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-cli-gitcloneoutput.png
new file mode 100644
index 0000000000..775683bbd3
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-cli-gitcloneoutput.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-portal-resources-resourcelist.png b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-portal-resources-resourcelist.png
new file mode 100644
index 0000000000..e5b2909d1c
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-portal-resources-resourcelist.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-portal-resources.png b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-portal-resources.png
new file mode 100644
index 0000000000..d828cd3eb2
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-azure-portal-resources.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-dt-managed.png b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-dt-managed.png
new file mode 100644
index 0000000000..38ba5eb508
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/pre-requisites-dt-managed.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-bash.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-bash.png
new file mode 100644
index 0000000000..7b28f7a360
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-bash.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-newtab.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-newtab.png
new file mode 100644
index 0000000000..6404e95ff6
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-newtab.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-open.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-open.png
new file mode 100644
index 0000000000..25e30d0e0b
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-open.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-prompt.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-prompt.png
new file mode 100644
index 0000000000..ced65b1be9
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-prompt.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-storage.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-storage.png
new file mode 100644
index 0000000000..88a9c87cae
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure-shell-storage.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure.png
new file mode 100644
index 0000000000..7189efe394
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-azure.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8-node.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8-node.png
new file mode 100644
index 0000000000..07cefe6c50
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8-node.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8-shell.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8-shell.png
new file mode 100644
index 0000000000..bec00341d8
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8-shell.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8.png
new file mode 100644
index 0000000000..6bcd5b243f
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-k8.png differ
diff --git a/061-DynatraceOnAzure/Coach/Solutions/img/setup-ms-account.png b/061-DynatraceOnAzure/Coach/Solutions/img/setup-ms-account.png
new file mode 100644
index 0000000000..3c8160e4a6
Binary files /dev/null and b/061-DynatraceOnAzure/Coach/Solutions/img/setup-ms-account.png differ
diff --git a/061-DynatraceOnAzure/README.md b/061-DynatraceOnAzure/README.md
new file mode 100644
index 0000000000..fe400d987c
--- /dev/null
+++ b/061-DynatraceOnAzure/README.md
@@ -0,0 +1,66 @@
+# What The Hack - Dynatrace On Azure
+
+## Introduction
+
+This WhatTheHack challenges you to leverage the combined strengths of Dynatrace's all-in-one monitoring platform and the vast capabilities of Microsoft Azure to solve a real-world problem. Dive into application performance monitoring (APM), digital experience monitoring (DEM), infrastructure monitoring, and more, to showcase your skills and unearth hidden insights across your Azure cloud environment.
+
+Here's what you can expect:
+
+* **Full-Stack Monitoring on Azure:** Achieve end-to-end observability for your Azure infrastructure, applications, and services, including Azure VMs, Azure Kubernetes Service (AKS), Azure App Services, and more.
+* **AI-Powered Insights:** Leverage Dynatraceโs AI engine, [Davis](https://www.dynatrace.com/platform/artificial-intelligence/), to automatically detect anomalies, pinpoint root causes, and provide predictive analytics specifically tailored for Azure environments.
+* **Automated Operations:** Leverage our easy-to-use visual workflow creator or automation-as-code workflow capabilities to automatically act on the data gathered and answers provided by Dynatrace..
+* **Real-Time Analytics:** With [Grail](https://www.dynatrace.com/platform/grail/), you can utilize real-time data to make informed decisions and optimize performance on Azure, ensuring seamless user experiences across your cloud-native and hybrid applications.
+* **Enhanced Security:** Integrate [security monitoring](https://www.dynatrace.com/platform/security-protection/) to detect vulnerabilities within your Azure workloads and mitigate risks proactively.
+
+This hack was designed specifically for Cloud Ops Engineers, DevOps engineers, Developers, and Architects who want to expand their knowledge on Dynatrace & Azure. However, anyone with passion around Observability is welcome!
+
+
+## Learning Objectives
+
+In this hack you will be solving business problems that companies in any industry face by modernizing their legacy systems to cloud native architecture.
+
+This hack will :
+
+* Master Full-Stack Observability:
+ * Monitor Azure infrastructure and applications using Dynatrace.
+ * Visualize end-to-end transactions within Azure.
+* Utilize AI-Powered Monitoring:
+ * Use Dynatraceโs AI engine for anomaly detection and root cause analysis in Azure.
+ * Automate problem resolution with AI-driven insights.
+* Implement Automated Operations:
+ * Apply best practices for seamless automation within Azure environments.
+ * Automate workflows and remediation processes for operational efficiency.
+* Enhance Security Monitoring:
+ * Detect vulnerabilities and threats in Azure workloads.
+ * Implement proactive risk mitigation strategies.
+
+## Challenges
+
+- Challenge 00: **[Prerequisites - Ready, Set, GO!](Student/Challenge-00.md)**
+ - Prepare your environment to work with Azure and Dynatrace.
+- Challenge 01: **[OneAgent Observability on Azure VM](Student/Challenge-01.md)**
+ - Review the power on OneAgent.
+- Challenge 02: **[Dynatrace Observability on AKS](Student/Challenge-02.md)**
+ - Deploy Dynatrace Operator on AKS cluster with a sample application and review AKS observability with Dynatrace.
+- Challenge 03: **[Automated Root Cause Analysis with Davis](Student/Challenge-03.md)**
+ - Enable a problem in your sample application and walk through what Davis found.
+- Challenge 04: **[Azure Monitor Metrics & Custom Dashboard](Student/Challenge-04.md)**
+ - In this challenge, you will create a custom dashboard to track Service Level Objects (SLO's)
+- Challenge 05: **[Challenge 05 - Grail - Dashboards & Notebooks](Student/Challenge-05.md)**
+ * In this challenge, you will query, visualize, and observe all your data stored in Grail via Dashboards and Notebooks.
+- Challenge 06: **[Challenge 06 - Grail - SRE Guardian & Workflows](Student/Challenge-06.md)**
+ * In this challenge you'll learn the benefits of Site Reliability Guardian (SRG) and experience the power of Automation in dynatrace by creating workflows to automatically execute an SRG.
+- Challenge 07: **[Cleanup](Student/Challenge-07.md)**
+ - In this challenge, you will cleanup any resources you've created during the Hack
+
+## Prerequisites
+
+- Your own Azure subscription with ``Owner`` privileges
+- Knowledge of [Azure Cloudshell](../../000-HowToHack/WTH-Common-Prerequisites.md#azure-cloud-shell)
+- [Dynatrace Trial environment via Azure Marketplace](https://azuremarketplace.microsoft.com/en-US/marketplace/apps/dynatrace.dynatrace_portal_integration?tab=Overview)
+
+
+## Contributors
+
+- Jay Gurbani
+
diff --git a/061-DynatraceOnAzure/Student/Challenge-00.md b/061-DynatraceOnAzure/Student/Challenge-00.md
new file mode 100644
index 0000000000..1b7e19385d
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-00.md
@@ -0,0 +1,137 @@
+# Challenge 00 - Prerequisites - Ready, Set, GO!
+
+**[Home](../README.md)** - [Next Challenge >](./Challenge-01.md)
+
+
+
+## Introduction
+
+ As a new engineer, you have been tasked with modernizing an e-commerce website for a company named `DT Hackers`. The existing application was developed using Node.js and runs on Azure virtual machines. However, the goal now is to containerize the application for deployment on Kubernetes. Your initial task is to deploy the application to an Azure VM to gain a comprehensive understanding of the application and use Dynatrace to analyze its downstream dependencies.
+
+ Subsequently, you need to devise a strategy for migrating the application to run on an [Azure Kubernetes Services](https://azure.microsoft.com/en-us/products/kubernetes-service) cluster. Throughout this process, you'll utilize Dynatrace to monitor the application on Azure VM. After migrating to AKS, you'll compare the product functionality and assess the ease of monitoring and managing the application with Dynatrace. This comparison will help you streamline the migration and modernization of your application.
+
+ You will present the deployed solution to the company's leadership upon successful migration for approval. The aim is to showcase how quickly and easily full stack observability can be achieved in minutes, with all metrics, logs, and traces for all Azure workloads being monitored in context using Dynatrace. The goal is to achieve fully automated, AI-assisted observability across the Azure environment.
+
+## Common Prerequisites
+
+We have compiled a list of common tools and software that will help you complete most What The Hack Azure-based hacks!
+
+You might not need all of them for the hack you are participating in. However, if you work with Azure on a regular basis, these are all things you should consider having in your toolbox.
+
+
+
+- [Azure Subscription](../../000-HowToHack/WTH-Common-Prerequisites.md#azure-subscription)
+- [Managing Cloud Resources](../../000-HowToHack/WTH-Common-Prerequisites.md#managing-cloud-resources)
+ - [Azure Portal](../../000-HowToHack/WTH-Common-Prerequisites.md#azure-portal)
+ - [Azure Cloud Shell](../../000-HowToHack/WTH-Common-Prerequisites.md#azure-cloud-shell)
+ - [Azure CLI](../../000-HowToHack/WTH-Common-Prerequisites.md#azure-cli)
+
+
+## Additional Pre-requisites
+
+- Coach must validate if the [Dynatrace Azure Workshop Github repo](https://github.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/) is accessible.
+
+- In this hack we'll use [Azure Native Dynatrace Service](https://www.dynatrace.com/news/blog/using-dynatrace-on-microsoft-azure/), a seamless way to provision and manage Dynatrace in the Azure Portal. We will begin a free trial through the Azure Marketplace. Please familiarize your self with the docs below
+ - [Dynatrace Docs](https://docs.dynatrace.com/docs/setup-and-configuration/setup-on-cloud-platforms/microsoft-azure-services/azure-platform/azure-native-integration)
+ - [Microsoft Docs](https://learn.microsoft.com/en-us/azure/partner-solutions/dynatrace/dynatrace-overview)
+
+## Description
+
+
+Now that you've reviewed the common pre-requisites for this hack, let's jump in get started!
+
+
+
+### Dynatrace Trial Environment Setup
+
+* Sign-up for free trail of [Azure Native Dynatrace Service via Marketplace](https://azuremarketplace.microsoft.com/en-US/marketplace/apps/dynatrace.dynatrace_portal_integration?tab=Overview) with full feature set of our all-in-one performance monitoring platform to monitor Azure.
+ - Create the Free Trial using the `Dynatrace for Azure Trial` plan
+
+ - Refer to the guide on [to create new Dynatrace Azure resource](https://learn.microsoft.com/en-us/azure/partner-solutions/dynatrace/dynatrace-create#create-a-dynatrace-resource-in-azure) once you choose the free trial public plan.
+
+ ### Dynatrace Prep
+
+ For this challenge, you will deploy an application called ``DTOrders`` and its underlying Azure VM resources to Azure using a set of pre-developed scripts. Once the application and its infrastructure are deployed, you will complete the hack by jumping in to fully analyze the application within Dynatrace.
+
+
+- Access your [Azure Native Dynatrace Service](https://docs.dynatrace.com/docs/setup-and-configuration/setup-on-cloud-platforms/microsoft-azure-services/azure-platform/azure-native-integration#access-your-dynatrace-environment) resource in Azure Portal. Access the Dynatrace environment from the Azure Portal
+- Review [docs](https://www.dynatrace.com/support/help/dynatrace-api/basics/dynatrace-api-authentication#create-token) on how to create API Access token in Dynatrace.
+- Login to the Dynatrace tenant and create a Dynatrace API Access token with the ``Write API Token`` scope.
+- In a separate notepad, please copy/paste the following things needed in a future step below
+ - Jot down the API token, it will be following format: ``dt0c01.ABC12345DEFGHI``
+ - Dynatrace tenant url, it should be in format link this: ``https://ABC.apps.dynatrace.com``
+
+### Azure Portal Prep
+ - Login to Azure Portal and click on the **Cloud Shell** button on the menu in upper right hand corner 
+ - Note: If you get a prompt to to select Bash or Powershell, please select **Bash**
+- Lookup your [Azure subscription ID](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id) and save that off in the notepad where you have your other dynatrace info.
+
+### Provision workshop resources with Cloud Shell
+- Within your Azure Cloud Shell window, run a command to clone workshop scripts.
+ ```bash
+ git clone https://github.com/dt-alliances-workshops/azure-modernization-dt-orders-setup.git
+ ```
+- Within Azure Cloud Shell window, change directory to ``azure-modernization-dt-orders-setup/provision-scripts`` folder and run input-credentials.sh
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/provision-scripts
+ ./wthinputs.sh
+ ```
+ > ***๐ Note:*** When you run input-credentials.sh, it will prompt you to input Azure subscription id, Dynatrace Environment Url, Dynatrace API token and your last name.
+
+ > ***๐ Note:*** After input-credentials.sh has successfully run, it output your Dynatrace Operator & Data Ingest Token and your API URL. Please jot those two values in a notepad. Those will be used in Challenge 2.
+
+- Run the script to provision the workshop Azure resources
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/provision-scripts
+ ./provision-workshop.sh wth
+ ```
+- Validate that the provisioning completed successfully with this message
+ ``` ...
+ ...
+ =============================================
+ Provisioning workshop resources COMPLETE
+ =============================================
+ ```
+
+
+
+
+## Success Criteria
+
+To complete this challenge successfully, you should be able to:
+
+- Once provisioning script has completed, ensure you have a total of 8 azure resources within the resource group `-dynatrace-azure-grail-modernize-wth`.
+- Validate the Sample Application ``DT Orders`` is accessible on Azure VM
+ >๐ก**Hint:** Once the deployment has completed, navigate to the Public IP Address resource of the Azure VM, in the Azure Portal.
+
+
+
+## Learning Resources
+
+- [Dynatrace API Token basics](https://www.dynatrace.com/support/help/dynatrace-api/basics/dynatrace-api-authentication)
+- [Dynatrace natively available in the Azure portal ](https://www.dynatrace.com/news/blog/using-dynatrace-on-microsoft-azure/)
+- [Dynatrace in the Azure Portal](https://www.dynatrace.com/support/help/get-started/saas/azure-native-integration)
+
+- [Dynatrace Monaco](https://dynatrace.github.io/dynatrace-monitoring-as-code/)
diff --git a/061-DynatraceOnAzure/Student/Challenge-01.md b/061-DynatraceOnAzure/Student/Challenge-01.md
new file mode 100644
index 0000000000..6f34a66c8c
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-01.md
@@ -0,0 +1,172 @@
+# Challenge 01 - OneAgent Observability on VM
+
+[< Previous Challenge](./Challenge-00.md) - **[Home](../README.md)** - [Next Challenge >](./Challenge-02.md)
+
+## Pre-requisites
+- Make sure you've meet all the success criteria for Challenge 0
+
+## Introduction
+
+
+When considering migration strategies like re-hosting or re-architecting, evaluating the risks, costs, and benefits is essential. Unfortunately, the specifics of the technical stack, including what is located where and what depends on what, are often not well-documented. This lack of information may be limited to outdated diagrams and a mix of monitoring tool metrics that someone must piece together.
+
+The lack of detailed information about the current environment makes it challenging for organizations to decide what and when to migrate.
+
+To solve this problem, Dynatrace OneAgent can automatically identify applications, services, and processes and create a comprehensive map of dependencies for the entire application environment. Let's get started!
+
+### Challenge Setup Diagram
+Referring to the picture below:
+ 
+Here are the components for this challenge
+#1 . Sample Application
+
+Sample app representing a simple architecture of a frontend and backend implemented as Docker containers that we will review in this challenge.
+
+#2 . Dynatrace monitoring
+
+The Dynatrace OneAgent has been installed by this challenge via provisioning scripts and is communicating to your Dynatrace tenant.
+
+#3 . Load generator process
+
+A docker processes that sends simulated user traffic to the sample app using Jmeter run within a Docker container. You will not need to interact with this container; it just runs in the background.
+
+
+
+
+
+## Description
+
+Navigate through various screens of Dynatrace to understand the details of your application that Dynatrace's OneAgent automatically discovers on an Azure VM.
+
+## Objectives of this Challenge
+
+- Review real-time data now available for your application that you have to migrate
+
+- Review how Dynatrace helps with migration or modernization planning under the tips section below
+
+## Tasks to complete this challenge
+
+* Navigate to the sample app running on VM
+ - Get the Public IP for `dt-orders-monolith` VM from Azure Portal
+ - Open up browser on your workstation and paste the IP address to navigate to the sample app
+ >**Note:** Feel free to navigate around the app by using the menu on homepage to navigate around the application to pull up customer list, catalog list or order list.
+
+
+* Navigate to OneAgent Deployment Status screen; from the navigation menu on the left, go to **Manage** and select **Deployment status**.
+ - Search for recently connected `dt-orders-monolith` VM to ensure its reporting in to Dynatrace UI.
+
+* Navigate to host monitoring screen; from the navigation menu, go to **Infrastructure** and select **Hosts** and click on `dt-orders-monolith` host.
+ - Find host performance metrics charts for CPU, memory and network metrics for this host
+ - Check to see which if you can find node.js and ApacheJmeter processes running on this host
+ - Identify how many and names of containers that are running on this host
+ - Identify the Azure tags applied to this host.
+* Navigate the new Infrastructure & Operations App
+ - Review the Data Centers and Hosts view screens in the app.
+ - Review the Host details screen for `dt-orders-monolith` VM such as Overview, Technologies, Process, Problems, Vulnerabilities, etc.
+* Navigate to Smartscape topology screen for this; while in classic host monitoring screen click on `...` box on upper right hand corner of the host and click on `Smartscape view`.
+ - Identify which 2 downstream services are used by the frontend service to communicates with
+ - Identify which Azure region (data center) your host is running in
+
+* Navigate to Services monitoring screen; from the navigation menu, go to **Application & Microservices** and select **Services** and click on `frontend` service
+ - Identify what process technology the frontend services run in under properties & tags
+ - View dynamic web requests for this service and identify top 5 requests
+ - Create Multi-dimensional analysis and filter requests by any exception
+
+* Navigate to the `frontend` service screen and click on `View Service flow`
+ - Identify the two downstream services the frontend relies on?
+ - Identify the response time for `embedded database` service
+ - Identify the throughput value for `backend` service
+
+* Navigate to the `backend` service screen and click on `Analyze backtrace`
+ - Identify the service that calls the `backend` service?
+
+* Navigate to Databases monitoring screen; from the navigation menu, go to **Application & Microservices** and select **Databases**
+ - Identify the database name and database vendor
+ - Identify which specific SQL statements show up in `Current hotspots` view
+
+* Navigate to Technologies overview screen; from the navigation menu, go to **Infrastructure** and select **Technologies and processes** screen
+ - Identify top 5 technologies that are running across all monitored applications on your Dynatrace tenant
+ - Identify which 2 technologies are running on `dt-orders-monolith` host filtering on tag with `stage:production`
+
+## Success Criteria
+
+* `dt-orders-monolith` VM is visible under Manage -> Deployment Status -> OneAgents screen
+
+* You are can identify:
+ - Performance metrics charts for CPU, memory and network utilization for the host
+ - node.js and ApacheJmeter processes running on this host
+ - how many and names of containers that are running on this host
+ - Azure tags applied to this host
+* You have successfully identified downstream services used by frontend and Azure region of the host.
+
+* You have successfully identified what the process technology for frontend service, identified top 5 requests web requests and created a multi-dimensional analysis view.
+
+* You have successfully identified two downstream services the frontend service relies on, response time for embedded database service and throughput value for backend service.
+
+* You have successfully identified the the service that calls the backend service?
+
+* You have successfully identified the database name and database vendor and SQL statements from the hotspots view.
+
+* You have successfully identified top 5 technologies that are running your Dynatrace tenant and 2 technologies are running on `dt-orders-monolith`
+
+## Learning Resources
+
+- [Dynatrace OneAgent documentation](https://www.dynatrace.com/support/help/setup-and-configuration/dynatrace-oneagent)
+- [Dynatrace OneAgent VM Extension](https://www.dynatrace.com/support/help/technology-support/cloud-platforms/microsoft-azure-services/oneagent-integration/integrate-oneagent-on-azure-virtual-machines/)
+- [Dynatrace Host Monitoring](https://www.dynatrace.com/support/help/how-to-use-dynatrace/hosts/monitoring/host-monitoring)
+- [Dynatrace install](https://www.dynatrace.com/support/help/setup-and-configuration/dynatrace-oneagent/installation-and-operation/linux/installation/install-oneagent-on-linux#youve-arrived)
+- [Dynatrace Smartscape screen](https://www.dynatrace.com/support/help/how-to-use-dynatrace/smartscape/visualize-your-environment-topology-through-smartscape)
+- [Dynatrace Services screen](https://www.dynatrace.com/support/help/how-to-use-dynatrace/services)
+- [Dynatrace Analyze Service Flow](https://www.dynatrace.com/support/help/how-to-use-dynatrace/services/service-flow)
+- [Dynatrace Analyze Service Backtrace](https://www.dynatrace.com/support/help/how-to-use-dynatrace/services/analysis/service-backtrace)
+- [Dynatrace Analyze Database Services](https://www.dynatrace.com/support/help/how-to-use-dynatrace/databases/analyze-database-services)
+- [Dynatrace Technologies Screen](https://www.dynatrace.com/support/help/how-to-use-dynatrace/process-groups/monitoring/overview-of-all-technologies-running-in-my-environment )
+## Tips
+### OneAgent Deployment
+ - Dynatrace OneAgent can be deployed in multiple ways
+ - [Azure VM Extension](https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-cloud-platforms/microsoft-azure-services/azure-integrations/azure-vm)
+ - Dynatrace Hub (from the left side navigation, go to Manage -> Hub -> One Agent -> Download agent)
+ - [Dynatrace-provided orchestration scripts for Ansible & Puppet](https://www.dynatrace.com/support/help/setup-and-configuration/dynatrace-oneagent/deployment-orchestration)
+### Dynatrace Host view
+- The host view shows historical and live time-series data for usage as well as the consuming processes.
+ > ๐ ``How this helps``
+ > - As you plan your migration, each of these views will give insights into accessing the profile, consumption and dependencies to other systems and services..
+
+### Dynatrace Smartscape view
+- Smartscape shows all the dependencies of a given service. This include connections to queues, web servers, app servers, and a native process.
+ > ๐ ``How this helps``
+ > - As you plan your migration, this information allows us to better plan the migration, as all depending services must be considered during the migration.
+
+### Dynatrace services view
+ - Web and mobile applications are built upon services that process requests like web requests, web service calls, and messaging.
+ - Dynatrace automatically detects and names server-side services of your applications based on basic properties of your application deployment and configuration. For example, in Java monitoring, Dynatrace sees your host, JVM, and processes as a whole.
+ > ๐ ``How this helps``
+ > - As you plan your migration, it is important to gain a complete picture of inter-dependency to the rest of the environment architecture at host, processes, services, application perspectives.
+ > - Since time is always scarce, being able to do this in a single place can shorten assessment timelines.
+
+### Service flow diagram
+- Service flow diagram illustrates the sequence of service calls that are triggered by each service request in your environment.
+ > ๐ ``How this helps``
+ > - As you plan your migration, it is important to gain a complete picture of inter-dependency to the rest of the environment architecture at host, processes, services, and application perspectives.
+ > - Knowing the type of access, executed statements, and amount of data transferred during regular hours of operation allows for better planning and prioritization.
+
+### Service Backtrace view
+- The backtrace tree view represents the sequence of services that led to this service call, beginning with the page load or user action in the browser.
+ > ๐ How this helps
+ > - Using the service flow and service backtrace, these two tools give you a complete picture of inter-dependency to the rest of the environment architecture at host, processes, services, application perspectives.
+### Databases view
+- Dynatrace provides you with a number of ways to monitor your database performance.
+ > ๐ How this helps
+ > - When monitoring database activity, Dynatrace shows you which database statements are executed most often and which statements take up the most time. You can also see which services execute the database statements, what will be direct input to migration planning, and prioritization of the move groups.
+
+ > - Dynatrace monitors all the popular databases like SQL Server, Oracle, and MongoDB. See Dynatrace documentation for more details on platform support.
+
+### Technologies view
+- Technology overview page provides a consolidated overview of the health and performance of all monitored technologies in your environment.
+- This saves you the effort of browsing multiple technology-specific analysis views to get the information you need.
+ > ๐ How this helps
+ > - This is another out the box feature that helps you understand what technologies are in your environment with a heat map presentation that shows to what degree they exist.
+ > - As you plan your migration, knowing what technologies make up your eco-system is key so that you can decide whether to migrate, refactor or replace certain services.
+
+## Advanced Challenges (Optional)
+
diff --git a/061-DynatraceOnAzure/Student/Challenge-02.md b/061-DynatraceOnAzure/Student/Challenge-02.md
new file mode 100644
index 0000000000..4b021ccfd8
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-02.md
@@ -0,0 +1,106 @@
+# Challenge 02 - Dynatrace Observability on AKS
+
+[< Previous Challenge](./Challenge-01.md) - **[Home](../README.md)** - [Next Challenge >](./Challenge-03.md)
+
+
+## Pre-requisites
+- Ensure all Azure resources are provisioned from Challenge 0 , including the AKS cluster `dynatrace-azure-wth-cluster`
+
+## Introduction
+
+Re-hosting, also known as lift and shift, is a typical migration approach. Re-architecture and Re-platform involve breaking traditional architectures and replacing individual components with cloud services and microservices.
+
+We have just learned how to use Dynatrace and OneAgent to gather valuable information on services, processes, and user requests. This information will help us determine which individual services or entire applications to migrate and modernize based on their business benefits. The focus here is on migrating based on feature-oriented business benefits.
+
+### Modernizing the Sample app
+
+As discussed earlier, the sample application is a three-tiered application comprising a frontend, backend, and database.
+
+For our project, an alternative version of the application separates each of the backend services into individual services. By encapsulating these services into container images, we can deploy them on modern platforms such as Azure Kubernetes, as illustrated below.
+
+
+
+## Description
+### Objectives of this Challenge
+- Review how the sample application went from a simple architecture to multiple services
+
+- Install the Dynatrace Operator and sample application
+
+- Examine the transformed application using service flows and back traces
+
+### Tasks
+* In Azure CLI, run the following command to fetch the AKS credentials for your cluster.
+ ```shell
+ az aks get-credentials --name "" --resource-group ""
+ ```
+ >๐ก**Hint:** Refer back to Azure Portal under `-dynatrace-azure-modernize-wth` resource group for aks cluster name
+* Deploy the Dynatrace Kubernetes Operator onto your AKS cluster
+ - Deploy Dynatrace Operator on the AKS cluster [via cluster extensions](https://learn.microsoft.com/en-us/azure/aks/cluster-extensions) blade.
+
+ >๐ก**Hint:** To complete the above step, you will need the token and API URL you save from Challenge 0.
+
+
+* Deploy sample application
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/app-scripts
+ ./start-k8.sh
+ ```
+
+* Access the sample application running on Kubernetes in you browser
+ >๐ก**Hint:** To get the external IP for application type the following command
+
+ kubectl -n staging get svc
+
+
+* Review Dynatrace data for Kubernetes
+ - Navigate to Kubernetes cluster utilization screen; from the navigation menu, go to **Infrastructure** and select **Kubernetes** and click on `dynatrace-azure-wth-cluster` cluster.
+ - What are the total number of CPU cores for your cluster?
+ - What are the total number of workloads running on your cluster?
+ - Navigate to Kubernetes workloads screen; from the navigation menu, go to **Application & Microservices** and select **Kubernetes workloads** and filter on `dynatrace-azure-wth-cluster` cluster and namespace `staging`.
+ - What is the average response time for `frontend` workload over the last 30 minutes
+ - Navigate to the Kubernetes service screen for `frontend` workload
+ >๐ก**Hint:** You can get this screen from the previous step under the Kubernetes services section.
+ - What is the hostname where this workload's pod is running?
+ - What labels are associated with this service under Properties and Tags section?
+
+* Navigate to the `order` service screen and click on `Analyze backtrace`
+ - Identify the service that calls the `order` service?
+
+* Navigate to the `frontend` service screen running on Kubernetes and click on `View Service flow`
+ - Identify three downstream services the frontend relies on?
+ - Identify the response time for `customer` service
+ - Identify the throughput value for `catalog` service
+
+## Success Criteria
+
+* You have successfully fetched the AKS credentials against the cluster
+* You have a successfully installed the Dynatrace Operator on the AKS cluster and able to see metrics in Dynatrace UI.
+* You have successfully deployed the sample app to the AKS cluster.
+* You can access the sample application in your browser.
+* You are able to identify the following data in the Kubernetes screens
+ - Identify total number of CPU cores for your cluster
+ - Identify total number of workloads running on your cluster
+ - Identify average response time for `frontend` workload over the last 30 minutes
+ - Identify hostname where the workload pod is running
+ - Identify labels are associated with this frontend service under Properties and Tags section
+* You have successfully identified the the service that calls the order service?
+* You have successfully identified three downstream services the `frontend` service relies on, response time for `customer` database service and throughput value for `catalog` service.
+
+## Learning Resources
+
+- [Dynatrace Operator documentation](https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/kubernetes/get-started-with-kubernetes-monitoring)
+- [Deploy Dynatrace Operator on the AKS Cluster using 7 steps of Automated mode](https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-container-platforms/kubernetes/get-started-with-kubernetes-monitoring#expand--instructions-for-automated-mode--2)
+- [Dynatrace Operator blog](https://www.dynatrace.com/news/blog/new-dynatrace-operator-elevates-cloud-native-observability-for-kubernetes/)
+- [Kubernetes cluster utilization dashboard](https://www.dynatrace.com/support/help/how-to-use-dynatrace/infrastructure-monitoring/container-platform-monitoring/kubernetes-monitoring/monitor-cluster-utilization-kubernetes)
+-[Kubernetes Workloads dashboard](https://www.dynatrace.com/support/help/how-to-use-dynatrace/infrastructure-monitoring/container-platform-monitoring/kubernetes-monitoring/monitor-workloads-kubernetes)
+- [Kubernetes Service Metrics](https://www.dynatrace.com/support/help/how-to-use-dynatrace/infrastructure-monitoring/container-platform-monitoring/kubernetes-monitoring/monitor-services-kubernetes)
+- [Kubernetes Cluster overview Dashboard](https://www.dynatrace.com/support/help/how-to-use-dynatrace/infrastructure-monitoring/container-platform-monitoring/kubernetes-monitoring/monitor-metrics-kubernetes)
+
+
+## Advanced Challenges (Optional)
+
diff --git a/061-DynatraceOnAzure/Student/Challenge-03.md b/061-DynatraceOnAzure/Student/Challenge-03.md
new file mode 100644
index 0000000000..883f99d8fc
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-03.md
@@ -0,0 +1,66 @@
+# Challenge 03 - Automated Root Cause Analysis with Davis
+
+[< Previous Challenge](./Challenge-02.md) - **[Home](../README.md)** - [Next Challenge >](./Challenge-04.md)
+
+
+## Introduction
+
+Organizations often face challenges with their monitoring tools when working with complex ecosystems of microservices and technologies like Kubernetes.
+
+Identifying the root cause of problems has become more difficult. The task now requires more effort than ever before due to applications spanning across cloud providers, data centers, and an increasing number of interconnected services. With software driving more than just the application, there are now more opportunities for failures and more places for problems to emerge in the environment.
+
+In this lab, we will simulate several problem scenarios and demonstrate how AI can significantly reduce troubleshooting time by automatically detecting issues and identifying the root cause, while explaining the business impact without the need for manual configurations.
+
+## Description
+
+### Objectives of this Challenge
+- Enable a problem pattern in the application and walk through what [Dynatrace Davis](https://www.dynatrace.com/platform/artificial-intelligence/) found as a root cause.
+
+### Tasks
+* Enable Backend Service Problem
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh backend 2
+ ```
+* Wait for ~5-10 minutes. Then, Go to Dynatrace menu -> Problems and check if a problem card is generated for response time degradation
+ - How many observed users by this problem?
+ - What was identified as the root cause of this problem?
+
+* Disable the problem pattern on Backend Service
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh backend 1
+ ```
+
+* Enable the problem pattern on Order Service on AKS and analyze the problem in Dynatrace
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh k8-order 3
+ ```
+* Wait for ~5-10 minutes. Then, Go to Dynatrace menu -> Problems and check if a problem card is generated for failure rate increase
+ - How many affected service calls were impacted by this problem?
+ - What were identified as the root cause of this problem?
+ - Was it related to deployment?
+* Disable the problem pattern on Order service
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/learner-scripts
+ ./set-version.sh k8-order 1
+ ```
+
+
+
+## Success Criteria
+
+- [x] Problem Card for Backend Service is generated
+- [x] Problem card for Order Service is generated
+
+
+## Learning Resources
+- [Dynatrace Information Events](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/events-v2)
+- [Dynatrace how problems are detected & analyzed](https://www.dynatrace.com/support/help/how-to-use-dynatrace/problem-detection-and-analysis/basic-concepts/how-problems-are-detected-and-analyzed)
+- [Problem Card Overview](https://www.dynatrace.com/support/help/how-to-use-dynatrace/problem-detection-and-analysis/basic-concepts/problem-overview-page)
+
+
+## Advanced Challenges
+- Analyze the failure rate degradation in the order service problem card to identify the exception details in the code stack trace
+
diff --git a/061-DynatraceOnAzure/Student/Challenge-04.md b/061-DynatraceOnAzure/Student/Challenge-04.md
new file mode 100644
index 0000000000..111b3fd2f6
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-04.md
@@ -0,0 +1,63 @@
+# Challenge 04 - Azure Monitor Metrics & Custom Dashboard
+
+[< Previous Challenge](./Challenge-03.md) - **[Home](../README.md)** - [Next Challenge >](./Challenge-05.md)
+
+
+## Introduction
+
+In addition to monitoring your Azure workloads using OneAgent, Dynatrace provides integration with Azure Monitor which adds infrastructure monitoring to gain insight even into serverless application scenarios.
+
+Dynatrace enhances the data from Azure Monitor by adding additional metrics for cloud infrastructure, load balancers, and API Management Services, among others. These metrics are automatically managed by Dynatrace's AI engine, improving operations, reducing MTTR, and fostering innovation.
+
+Here is an example from another environment on Azure Monitor screen looks like:
+
+
+
+## Description
+
+### Objectives of this Challenge
+- Review how Dynatrace integrates with [Azure monitor](https://www.dynatrace.com/support/help/how-to-use-dynatrace/infrastructure-monitoring/cloud-platform-monitoring/microsoft-azure-services-monitoring/set-up-azure-monitoring)
+
+- Examine Dynatrace Service Level Objectives (SLOs)
+
+- Create a custom dashboard with SLOs
+
+### Tasks
+
+* From the left side menu in Dynatrace, click the Azure menu item. Scroll down, and in the Environment dynamics action click on the region to open the virtual machine regional page
+ - How many Virtual Machine's exist in your region?
+ - How many VM Scale sets exist in this subscription?
+* Create an SLO Dashboard and call it "Cloud Migration Success"
+ - From the left side menu in Dynatrace, pick the dashboard menu.
+ - On the dashboard page, click the new dashboard button. Give the dashboard a name of "Cloud Migration Success"
+ - On the blank dashboard page, click the settings. Then click the advanced settings link to open then settings page
+ - On the settings page, click the dashboard JSON menu.
+ - Copy and paste the following Json content from this file into your dashboard JSON, replacing the existing JSON in the process: [Dashboard JSON file link](https://raw.githubusercontent.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/master/learner-scripts/cloud-modernization-dashboard.json)
+ - **Note:** You MUST replace the owner field to be the email that you logged into Dynatrace with or you will not be able to view it.
+ - After you edit the email, then click the Revert Dashboard ID button. After you click the Revert Dashboard ID button, click the Save changes button.
+* Edit the dashboard and adjust the tiles with the SLOs and databases in your environment. Repeat the same steps above for the Cloud services tile, but pick the staging- frontend in the Service properties window
+ 
+
+
+
+## Success Criteria
+
+- Cloud Migration dashboard shows SLO data for frontend service on monolith and kubernetes
+- Azure dashboard under Infrastructure -> Azure shows Azure monitor metrics.
+
+## Learning Resources
+ - [Monitor Azure Services with Azure Monitor Metrics](https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-cloud-platforms/microsoft-azure-services/azure-integrations/azure-monitoring-guide)
+ - [Azure Cloud Services enabled with Azure monitor integration](https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-cloud-platforms/microsoft-azure-services/azure-integrations/azure-cloud-services-metrics)
+ - [Default Azure Metrics enabled](https://www.dynatrace.com/support/help/setup-and-configuration/setup-on-cloud-platforms/microsoft-azure-services/azure-integrations/azure-monitoring-guide/azure-metrics)
+ - [Instructions to create dashboards are located here](https://www.dynatrace.com/support/help/how-to-use-dynatrace/dashboards-and-charts/dashboards/create-dashboards)
+
+
+## Tips
+
+
+
+## Advanced Challenges (Optional)
+
+
+Too comfortable? Eager to do more? Try these additional challenges!
+
diff --git a/061-DynatraceOnAzure/Student/Challenge-05.md b/061-DynatraceOnAzure/Student/Challenge-05.md
new file mode 100644
index 0000000000..8d50187f51
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-05.md
@@ -0,0 +1,67 @@
+# Challenge 05 - Grail - Dashboards & Notebooks
+
+[< Previous Challenge](./Challenge-04.md) - **[Home](../README.md)** - [Next Challenge >](./Challenge-06.md)
+
+ - Make sure you've meet all the success criteria for Challenge 0
+
+## Pre-requisites (Optional)
+None
+
+## Introduction
+Dynatrace offers multiple ways to visualize your Observability data. One of those ways is [Dashboards](https://www.dynatrace.com/hub/detail/dashboards/). With Dashboards you can:
+
+- Query, visualize, and observe all your data stored in Grail.
+- Write custom JavaScript with adhoc functions to fetch external data.
+- Annotate all your visualizations with markdown to enrich them with context.
+- Add variables to filter your results and make your dashboard dynamic.
+- Several data and code snippets are available out of the box. Use them to get started.
+
+Another powerful way you can visualize your observability data is via [Notebooks](https://www.dynatrace.com/hub/detail/notebooks/). Notebooks allows you to create powerful, data-driven documents for custom analytics. Here are some thing that Notebooks enables you to do:
+
+- Query, analyze, and visualize all your security, observability, and business data such as logs, metrics, and events powered byโฏ Grail.
+
+- Predict future trends with embedded Davis forecast capabilities.
+
+- Create and collaborate on interactive, data-driven, and persistent documents.
+
+- Fetch and incorporate external data by runningโฏ [Dynatrace Functions](https://dt-url.net/functions-help).
+
+- Interact with data; start drill-downs by sorting, filtering, and aggregation, or even trigger workflows.
+
+- Annotate and add context with markdown.
+
+## Description
+
+### Objectives of this Challenge
+
+- Use Notebooks to analyze observability data
+- Build a sample dashboard from Grail data
+
+### Tasks
+
+* Create a dashboard and with an element to Query Grail.
+* Add the following grail
+ ```bash
+ fetch logs
+ | filter cloud.provider == "azure"
+ | summarize count(), by:{azure.resource.type}
+ | sort `count()`, direction:"descending"
+
+ ```
+* [Download](https://raw.githubusercontent.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/grail/learner-scripts/AzureGrailWorkshop-Logs.json) a sample Notebook to analyze log data. Upload that sample notebook to Notebooks app in your Dynatrace tenant.
+* Follow the instructions in the notebook on how to analyze log data.
+* [Download](https://raw.githubusercontent.com/dt-alliances-workshops/azure-modernization-dt-orders-setup/grail/learner-scripts/AzureGrailWorkshop-Metrics.json) a sample Notebook to analyze metric data. Upload that sample notebook to Notebooks app in your Dynatrace tenant.
+* Follow the instructions in the notebook on how to analyze metric data.
+
+
+
+
+## Success Criteria
+- Created a dashboard with DQL element to query log data
+- Used the sample notebook to analyze azure log data
+- Used the sample notebook to analyze azure metric data
+## Learning Resources
+- Want to know more about the Dynatrace Query Language? ๐ [Learn DQL](https://dt-url.net/learndql) at the Dynatrace playground. ๐
+
+- If you want to go further and learn more about using DQL to refine queries in Notebooks, visit [Dynatrace Query Language](https://www.dynatrace.com/support/help/observe-and-explore/query-data/dynatrace-query-language).
+
diff --git a/061-DynatraceOnAzure/Student/Challenge-06.md b/061-DynatraceOnAzure/Student/Challenge-06.md
new file mode 100644
index 0000000000..1fb134f1a3
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-06.md
@@ -0,0 +1,57 @@
+# Challenge 06 - Grail - SRE Guardian & Workflows
+
+[< Previous Challenge](./Challenge-04.md) - **[Home](../README.md)** - [Next Challenge >](./Challenge-07.md)
+
+ - Make sure you've meet all the success criteria for Challenge 0
+
+## Pre-requisites (Optional)
+None
+
+## Introduction
+The Site Reliability Guardian provides an automated change impact analysis to validate service availability, performance, and capacity objectives across various systems. This enables DevOps platform engineers to make the right release decisions for new versions and empowers SREs to apply Service-Level Objectives (SLOs) for their critical services.
+
+While the Dynatrace Site Reliability Guardian simplifies the adoption of DevOps and SRE best practices to ensure reliable, secure, and high-quality releases in general, the provisioned workflow is key for automating those best practices in particular. Learn in this sample how the workflow will act on changes in your environment and how it will perform a validation to make the right decision in a releasing or progressive delivery process.
+
+In this hack, you will learn more about the workflow leveraged by the [Site Reliability Guardian](https://docs.dynatrace.com/docs/platform-modules/automations/site-reliability-guardian).
+
+
+
+
+Workflows is one of the built-in apps shipped with Dynatrace. A series of actions are assembled to build processes in a graphical representation. Those workflows can automatically be triggered by events in Dynatrace, either on a schedule or manually.
+
+Workflows let you:
+- Automatically react to Davis events or security problems.
+- Schedule reports in line with holidays and work hours.
+- Orchestrate IT processes across your entire IT landscape.
+- Connect to both cloud and locally gated services.
+- Combine out-of-the-box integrations with custom code.
+- Visualize automated processes in a graphical workflow interface.
+- Get live monitoring and a full audit trail of any automation execution.
+- Define flow logic with custom conditions, automatic retries, loops, and parallel processing.
+
+## Description
+
+## Objectives
+- In this hack we'll create Site Reliability Guardian (SRG) and a Workflow to automate change impact analysis of your application service.
+
+### Tasks
+
+* Create a Guardian.
+ - Add an error rate objective to the Guardian. Use the following DQL to calculate the error rate
+ ```bash
+ fetch logs
+ | fieldsAdd errors = toLong(loglevel == "ERROR")
+ | summarize errorRate = sum(errors)/count() * 100
+ ```
+ - Set the following thresholds for the objective
+ - `Select Lower than the these numbers is good`
+ - Failure: 1
+ - Warning: 0.4
+* Create a workflow to run every 10 minutes to trigger the SRG.
+
+
+## Success Criteria
+- Workflow executes the SRG
+## Learning Resources
+- [Quickstart](https://docs.dynatrace.com/docs/platform-modules/automations/workflows/quickstart) examples on how to build Workflows in Dynatrace
+## Tips
\ No newline at end of file
diff --git a/061-DynatraceOnAzure/Student/Challenge-07.md b/061-DynatraceOnAzure/Student/Challenge-07.md
new file mode 100644
index 0000000000..23ece17b60
--- /dev/null
+++ b/061-DynatraceOnAzure/Student/Challenge-07.md
@@ -0,0 +1,41 @@
+# Challenge 07 - Cleanup
+
+[< Previous Challenge](./Challenge-06.md) - **[Home](../README.md)**
+
+
+
+## Pre-requisites (Optional)
+None
+
+## Introduction
+If you plan to keep things running so you can examine the workshop a bit more please remember to do cleanup when you are done.
+
+You have a fully feature enabled 30 day Dynatrace trial, so keep using it to monitor and manage your infrastructure and applications!!
+
+## Description
+
+- Run the cleanup script
+ ```bash
+ cd ~/azure-modernization-dt-orders-setup/provision-scripts
+ ./cleanup-workshop.sh
+ ```
+
+## Success Criteria
+- All 12 Azure resources are removed from Azure
+
+## Learning Resources
+
+- [Partner Cafe Quick Azure Overview](https://www.youtube.com/watch?v=VCdEHAoEePw)
+- [Dynatrace YouTube Videos](https://www.youtube.com/channel/UCcYJ-5q_AfmjQ4XTjTS0o3g)
+- [More Support resources](https://www.dynatrace.com/services-support/#support-resources-section)
+- Customer Stories:โ
+ - [Barbari](https://www.dynatrace.com/news/customer-stories/barbri/)
+ - [Kroger](https://www.dynatrace.com/news/customer-stories/kroger/)
+ - [Mitchells & Butlers](https://www.dynatrace.com/news/customer-stories/mitchells-and-butlers/)
+
+
+## Tips
+
+
+## Advanced Challenges (Optional)
+
diff --git a/061-DynatraceOnAzure/Student/Resources/.gitkeep b/061-DynatraceOnAzure/Student/Resources/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/061-DynatraceOnAzure/Student/images/SRG.png b/061-DynatraceOnAzure/Student/images/SRG.png
new file mode 100644
index 0000000000..de154312cb
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/SRG.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge1-sampleapp-setup.png b/061-DynatraceOnAzure/Student/images/challenge1-sampleapp-setup.png
new file mode 100644
index 0000000000..160de7dce6
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge1-sampleapp-setup.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge2-app-architecture-future.png b/061-DynatraceOnAzure/Student/images/challenge2-app-architecture-future.png
new file mode 100644
index 0000000000..00565910f1
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge2-app-architecture-future.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge2-app-architecture.png b/061-DynatraceOnAzure/Student/images/challenge2-app-architecture.png
new file mode 100644
index 0000000000..12f38ea86d
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge2-app-architecture.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge2-azure-cloudshell-upload.png b/061-DynatraceOnAzure/Student/images/challenge2-azure-cloudshell-upload.png
new file mode 100644
index 0000000000..46ffe1c08f
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge2-azure-cloudshell-upload.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge2-setup.png b/061-DynatraceOnAzure/Student/images/challenge2-setup.png
new file mode 100644
index 0000000000..c9d4d1ee4d
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge2-setup.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge4-azure-montior-subscription.png b/061-DynatraceOnAzure/Student/images/challenge4-azure-montior-subscription.png
new file mode 100644
index 0000000000..ff8f9fd537
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge4-azure-montior-subscription.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge4-azuremonitor-setup.png b/061-DynatraceOnAzure/Student/images/challenge4-azuremonitor-setup.png
new file mode 100644
index 0000000000..671543ff4b
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge4-azuremonitor-setup.png differ
diff --git a/061-DynatraceOnAzure/Student/images/challenge4-slo-dashboard-init.png b/061-DynatraceOnAzure/Student/images/challenge4-slo-dashboard-init.png
new file mode 100644
index 0000000000..8c04806588
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/challenge4-slo-dashboard-init.png differ
diff --git a/061-DynatraceOnAzure/Student/images/cicd.png b/061-DynatraceOnAzure/Student/images/cicd.png
new file mode 100644
index 0000000000..781915e263
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/cicd.png differ
diff --git a/061-DynatraceOnAzure/Student/images/dtorders-sample-app.png b/061-DynatraceOnAzure/Student/images/dtorders-sample-app.png
new file mode 100644
index 0000000000..233d7adad8
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/dtorders-sample-app.png differ
diff --git a/061-DynatraceOnAzure/Student/images/dynatrace-plans-free-trial.png b/061-DynatraceOnAzure/Student/images/dynatrace-plans-free-trial.png
new file mode 100644
index 0000000000..bde30a4559
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/dynatrace-plans-free-trial.png differ
diff --git a/061-DynatraceOnAzure/Student/images/portal-shell-button.png b/061-DynatraceOnAzure/Student/images/portal-shell-button.png
new file mode 100644
index 0000000000..81ef4c77c2
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/portal-shell-button.png differ
diff --git a/061-DynatraceOnAzure/Student/images/root-cause-deployment.jpg b/061-DynatraceOnAzure/Student/images/root-cause-deployment.jpg
new file mode 100644
index 0000000000..2720368b8e
Binary files /dev/null and b/061-DynatraceOnAzure/Student/images/root-cause-deployment.jpg differ