Azure Container Apps is a serverless platform that enables you to deploy containerized applications and microservices—regardless of their code or framework—without managing any underlying cloud infrastructure or orchestrators. By using serverless containers, Azure Container Apps can automatically scale based on HTTP requests or events supported by Kubernetes event-driven autoscaling (KEDA) in order to accommodate peak demand and meet your budgeting goals. The service also integrates with the Distributed Application Runtime (DAPR), giving you a comprehensive suite of tools for deploying your container apps.
We are excited to announce our turn-key integration with Azure Container Apps. Datadog now provides visibility into key metrics from your container apps, including:
This data gives you better insight into the state of your Azure Container Apps environment so you can easily monitor traffic volume, container configurations, resource usage, and more. And because the integration is part of Datadog’s unified monitoring platform, you can easily track Azure metrics alongside other resources in your environment for a comprehensive view of application performance.
Your container apps may experience predictable peaks and valleys in traffic volume depending on their purpose and other factors, such as the time of day or day of the week. It’s critical that you have visibility into these traffic patterns so you can detect when they deviate from historical trends. Without it, you may miss performance issues that could affect your customers’ overall experience.
azure.app_containerapps.requests metric, which measures the total number of processed HTTP requests for a particular container app, can help you quickly identify sudden changes in traffic volume. For example, you can use this metric to detect a significant drop in requests during peak hours. To provide better insight into the nature of a request, the metric is also tagged with contextual metadata, such as
statuscode. For example, you can filter requests by the
statuscode tag to quickly identify a surge in server errors.
A higher error rate could indicate that a container app is either offline or no longer able to process requests. You can troubleshoot this activity further by reviewing the state of your container apps and their underlying resources.
Each container app instance, which is referred to as a replica in Azure, is supported by one or more containers. When these resources do not have sufficient memory to process requests, they may throw an out-of-memory (OOM) error and terminate. In these cases, replicas will automatically restart by default—but will repeatedly crash.
You can surface these kinds of configuration issues by monitoring the
azure.app_containerapps.restart_count metric, which captures the total number of restarts per replica. A low or fixed number of restarts indicates that your container apps are deploying new replica revisions as expected. However, if you see a higher number of replicas restarting within a short period of time along with an equally significant surge in the number server errors, you may need to confirm that they have enough memory to process requests.
The amount of resources that you allocate to your container apps not only affects their performance but also their scaling capabilities and overall costs. For example, Azure Container Apps can scale the number of replicas in your environment based on their resource utilization, but Azure also charges for the amount of resources your replicas consume. If you don’t set appropriate limits on the number of replicas in your environment, your monthly costs can significantly increase.
Datadog’s Azure Container App integration gives you a better understanding of Azure’s scaling activity. For example, you can monitor the
azure.app_containerapps.replicas metric, which measures the total number of running replicas, to quickly visualize deployment trends. If the metric’s value is trending upward at a constant rate, for instance, your monthly bill will also steadily increase.
To improve the cost efficiency of your container apps without sacrificing their performance, you can configure the minimum and maximum number of replicas that Azure deploys to your environment.
Datadog’s Azure Container Apps integration allows you to monitor all of your containerized applications and microservices in one place. Datadog also enables you to track Azure metrics alongside observability data from other technologies in your stack, giving you a complete picture of your infrastructure. Check out the in-app instructions to learn how to start monitoring your Azure Container Apps. If you don’t already have a Datadog account, you can sign up for a free 14-day trial today.