Can I configure Health Check and Automatic (managed) scaling together on an App Service?

Evan Menchini 40 Reputation points
2026-07-20T17:58:38.34+00:00

An old blog post about automatic scaling (https://techcommunity.microsoft.com/blog/appsonazureblog/azure-app-service-automatic-scaling/2983300) says:

Health check should not be enabled on web apps with this automatic scaling feature turned on. Due to the rapid scaling provided by this feature, the health check requests can cause unnecessary fluctuations in HTTP traffic. Automatic scaling has its own internal health probes that are used to make informed scaling decisions.

I cannot find any support for this guidance in official documentation or more recent posts. Did this only apply to automatic scaling when it was in preview? Can I run both health check and automatic scaling togther on the same App Service?

Azure App Service
Azure App Service

Azure App Service is a service used to create and deploy scalable, mission-critical web apps.


Answer accepted by question author
Ajay Rathod 445 Reputation points Microsoft External Staff Moderator
2026-07-20T19:21:32.2966667+00:00

Hi @Evan Menchini

Greetings for the day, Thanks for reaching out to Q&A.

I reviewed the concern regarding using Automatic Scaling together with Health Check in Azure App Service.

The confusion comes from an older blog post that recommended not enabling Health Check with Automatic Scaling. That guidance was applicable when the feature was still in preview. With the generally available version of Azure App Service, Automatic Scaling and Health Check are supported together.

The reason for the earlier recommendation is that Automatic Scaling uses its own internal health probes (which is why you may see /admin/host/ping entries in the App Service HTTP logs). These internal probes are different from the customer-configured Health Check feature. Health Check is only used to detect unhealthy instances, route traffic away from them, and replace them if necessary. It is not used to trigger scaling decisions.

Although the documentation does not explicitly state "Health Check and Automatic Scaling can be enabled together," the current documentation no longer lists them as incompatible. In fact, the Health Check documentation mentions that Azure App Service pings the configured Health Check endpoint during scale-out to verify that new instances are ready before serving traffic.

Based on this, I recommend the following:

  1. Enable Automatic Scaling on your Premium v2–v4 App Service Plan and disable ARR Affinity (Session Affinity), as ARR Affinity can keep user sessions tied to a single instance and reduce the benefits of scaling.
  2. Enable Health Check by configuring a warm-up endpoint that:
    • Returns HTTP 200 only when the application and its required dependencies are fully ready.
      • Allows anonymous access.
        • Does not redirect requests.
        1. Validate the configuration by performing a load test and confirming that:
          • The AutomaticScalingInstanceCount metric increases during increased load.
            • Instances remain healthy without restart loops or unexpected unhealthy states during scale-out and scale-in.

If your application is container-based, I also recommend setting WEBSITES_CONTAINER_START_TIME_LIMIT=300 (or higher if required) and ensuring that the application listens on 0.0.0.0:$PORT. This helps prevent startup timing issues when new instances are created during scale-out.

For reference, you can review the following Microsoft documentation:

If you find these inputs useful, please accept this as answer and upvote.

Thanks,

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

Answer accepted by question author
Ahamed Musthafa Careem 671 Reputation points
2026-07-20T18:07:14.21+00:00

Hello @Evan Menchini ,

​Yes, you can run Health Check and Automatic (managed) scaling together on the same Azure App Service.

​The restriction mentioned in that 2021 blog post applied only during the early preview phase of Automatic Scaling. Since Automatic Scaling reached General Availability (GA), that limitation has been removed, and the official documentation no longer restricts using both features simultaneously.

When enabled together:

  • ​__Automatic Scaling__ handles traffic volume spikes by adding VM instances.
  • ​__Health Check__ ensures user traffic is only routed to instances that are fully warmed up and healthy.

​Best Practices When Using Both

  1. ​__Lightweight Health Endpoint:__ Ensure your health check path (e.g., /health) returns a 200 OK quickly and checks only essential dependencies. This minimizes probe overhead during rapid scale-out events.
  2. ​__Minimum Instance Count:__ Maintain a minimum of at least 2 instances so Health Check can seamlessly reroute traffic away from an unhealthy instance without downtime.
  3. ​__Prewarmed Instances:__ Configure a prewarmed instance buffer in your Automatic Scaling settings to reduce cold-start latency when new instances are provisioned.

Thanks

Was this answer helpful?

1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.