Due to the complexity and effort of refactoring a bunch of code, Henrik has decided to take a mixed cloud adoption strategy.

The intermediate step will be to support his developments efforts:

  • Refactor the backend Java application to be packaged and served within a Docker image
  • Rebuild relational in-memory Apache Derby database to Mongo

The final step be to put on AWS Kubernetes Service (EKS) and AWS DynamoDB once the Cloud operations team has completed their certification of AKS and DynamoDB.


Let’s see what it looks like

In Dynatrace, go to the hosts page and open the host with YOUR_LAST_NAME-workshop-ez-docker as the prefix. This EC2 Instance was also provisioned earlier in this workshop. But this time, easyTravel was provisioned using Docker and Docker Compose. You can check out the docker-compose.yml file here

Now instead of a bunch of standalone Java processes, the host page shows the detected Docker containers. And it did this with NO additional configuration changes or changes to the Docker image!!

Go ahead and click on the View container button to see an overview of each container.


Also, go back and click the of the processes like dynatrace/easytravel-frontend.

How Dynatrace monitors containers

Dynatrace hooks into containers and provides code for injecting OneAgent into containerized processes.

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.


You can read more about Dynatrace Docker Monitoring here and technical details here

Validate SLAs

During the workshop provisioning we used the Dynatrace API to add Dashboard that allows for a quick comparison of the non-Dockerized and Dockerized implementations of easyTravel.

Navigate the dashboards from the left side menu to analyze volumes, response times, and load.


How this helps

Dynatrace monitors the progress of shifting workloads to the cloud. It helps us make better decisions on what to move when based on how tightly coupled services are and on the automatic baseline comparison between pre-migration and in-migration.