I have an Azure Function Premium Plan with following configurations:
Maximum Burst: 20 Minimum Instances: 1 Always Ready Instances: 1 Enforce Scale Out Limit: No
I wanted to understand the granularity of price calculations in this case. I understood that the Functions App under Premium Plan is based on the number of warm instances, plus the additional amount of resource consumed during the execution (scale-out upto 20 instances) at Consumption Plan rates.
For instance, I have Python Durable Function running on Premium Plan (EP3) with Linux hosts. I am not able to capture, how to estimate the number of instances running per second, or memory consumed per second. The metric for
Function Execution Units is blank or showing
zero (0). The metric for
Function Execution Count is not matching correctly with the number of calls initiated to the activity function.
Also, the price calculator, suggested here, is not helping us to find out the cost when the autoscale is enabled upto 20 instances (as shown above) and the instances will be added/removed based on the number of activity functions (or the load) - as it is rounding the time to nearest hour and also the additional instance count is getting fixed for that duration.
In my opinion, the estimates of resource consumption should be visible in metrics, like in Consumption plan. It should granularly capture the cost for the warmed instances and followed by the cost for the additional scale-out that occurred (if any, based on load).
UPDATE: In Consumption Plan, I am facing some of the scenarios, where the total function execution count is less than the expected count in the metrics blade in portal.