I'm trying to understand how I need to setup my Azure infrastructure for a large amount of low traffic apps. I'm trying to get a better picture of the underlying limitations.
Why can I easily have 100 web apps that barely do anything on my local machine but not on Azure App Service?
Azure starts warning you already at 17 web apps for a server that you pay 1440 euros per year. So we are talking about 17 apps where the majority barely has any traffic.
Worse - even staging slots count. So you constantly have to manually stop your staging slot or you are in bad luck and can only run 8 low traffic apps for 1440 per year.
This is from a smaller instance on Azure (8 app limit - 4 if you have staging slots)
Description Your App Service Plan is nearing saturation.
We detected your app is running on a Small sized worker and the current App Service Plan, Default1, on an average, is running 8 simultaneously active apps.
Apps that are a part of the same App Service Plan, compete for the same set of resources. Our data indicates that 8+ active apps in an App Service Plan running on a small sized worker deterioates apps performance. It causes CPU and memory contention resulting in availability and reliablity loss.
Consider one of the solutions described in the Troubleshooting and Next Steps below.
Additional Information For production applications, it is recommended that an App Service Plan does not exceed a certain number of sites. The number may actually be lower depending on how resource intensive the hosted applications are, however as a general guidance, you may refer to the table below.
In their documentation (sales process) they promise unlimited:
Multiple times I tried getting a proper answer through the Azure help desk, but they keep giving vague answers, like competeting resources - without specifying what that is. Also when this App Service is within CPU and memory limits.
So it is a recommendation - why do I care?
Because when I have application instability (more then once the underlying storage) they always refer to that I should first limit the amount of apps to be in the recommended range.
This means that at the moment there is no solution within Azure for a large amount of microservices and low traffic apps.
To at least understand this better - what is the difference between Azure and my local machine? What is this resource that is getting depleted with a large amount of passive apps in a cloud environment - as this doesn't seem to be memory or CPU.
Secondary - what is the workaround for a large amount of sites that just have tens of hits per day?