To check the performance of our architecture, we need to run load tests against our application. We can see an architectural example below based on the Azure App Services and Azure Functions. The architecture contains the following components:
It is separated into four stages: dev, test, staging, and production.
Login and monitoring are implemented with Prometheus and Grafana.
Loading tests are implemented with Azure DevOps and JMeter.
This is an excerpt from DZone’s 2021 Application Performance Management Trend Report. For more: Read the Report.
As we can see in the diagram, everything looks good at first glance. Where do you think there could be an issue?
We can see the fixed architecture of the diagram in Figure 2:
First, we should never run load testing against the production stage. This may (and often will) cause downtime when we run an excessive load test. Instead, we should run the test against the Test or Staging environments.
We can also create a replica of our production environment explicitly for load test purposes. In this case, we should not use real production data since that may result in sending emails to real customers.
Please check out the following shots for more information regarding this topic: