4
votes

We're trying to test scalability of Azure functions (it's a bear). We came across this https://azure.microsoft.com/en-in/documentation/articles/functions-reference/#parallel-execution

If a function app is using the Dynamic Service Plan, the function app could scale out automatically up to 10 concurrent instances. Each instance of the function app, whether the app runs on the Dynamic Service Plan or a regular App Service Plan

Does this mean that the maximum scalability of a single function is just 10? we've never been able to get over 10 units running... (previous question on the algorithm to determine adding another consumption unit, this to determine the upper end of scalability).

Thanks

1

1 Answers

12
votes

UPDATE: There is no official maximum number of instances. We see customers who are able to scale out to hundreds. The number you achieve depends mostly on your workload, but partly on the region you're running in (some regions have more capacity than others). The 10 instance limit mentioned in previous versions of the docs has been removed.

You can find more information about our consumption plan and scaling here: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#how-the-consumption-plan-works

Also note that each instance in Azure Functions can run multiple function executions in parallel. For example, if you have a function app which has a single function that runs quickly, you could expect to see dozens or even hundreds of concurrent executions on a single instance. This is unlike other services such as AWS Lambda which only execute a single function at a time per instance. New instances are added only when the system decides that the current number of instances is insufficient to handle the current load (more details on that in my answer to your other question).