🔷 Review how the sample app went from monolith to microservices

🔷 Examine the transformed application using serviceflows and backtraces

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 monolithic architectures and replace individual components with cloud services. These steps can also replace newly-developed microservices, including containerized or serverless.

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.

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 Kubernetes and Cloud managed services such as the ones shown below.

image

Beyond the Lab

Over time, you can imagine that this sample application will be further changed to add in other technologies like Azures serverless and other PaaS services like Azure SQL or Cosmo DB databases and virtual networking Application gateway as shown in the picture below.

image

💥 TECHNICAL NOTE

We will not cover this, but organizations are establishing DevOps approaches and establishing Continuous Integration (CI) pipelines to build and test each service independently. Then adding Continuous Deployment (CD) to the process too that vastly increase our ability to delivery features faster to our customers. Dynatrace has a number of solutions to support DevOps that you can read about here

Refer to the picture below, here are the components for lab 5.

image

#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 . 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.

#3 . Dynatrace monitoring

The Dynatrace OneAgent has been installed by the workshop provisioning scripts and is communicating to your SaaS Dynatrace tenant.

#4 . Azure monitoring

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.

We will not have them configured for the lab, see the Dynatrace Docs for complete list of Azure Supported services.

#5 . Azure monitor Dashboard

This out of the box dashboard gives insights or Azure monitor metrics to each configured Azure subscription.

💥 TECHNICAL NOTE

One difference you will see is the a dynamic list for the backend services versions. We will refer to this again later in the labs.

image

Analyze serviceflow

Response time perspective

Throughput perspective

image

Let's now take a look at the transactions and Services by clicking on the Transactions and services left side Dynatrace menu.

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 span the old and the new.

Checklist

In this section, you should have completed the following:

🔷 Review how the sample app went from monolith to microservices 🔷 Examine the transformed application using serviceflows and backtraces