Q:

Doubts on available resources and pricing

I am planning to run some ffmpeg process in Azure Functions. I have the following doubts on this,
1, Lets assume a single ffmpeg process will take 30 mins to complete with 100% CPU usage. If I use Dynamic Function app and execute the function twice parallely will it still take 30 mins to complete. What I am trying to understand here in dynamic configuration how many cores will be assigned and if I run multiple function parallely will they all execute in a single core or seperate cores
2, If a single function execution is going to take 30 mins with 100% CPU and the memory is configured at 512mb, how much would it cost for this ?

A:

Your available CPU scales with memory, but Azure Functions don’t enforce the hard cap, meaning it can consume more if there’s no competition from other functions on the instance. This can lead to less predictability because it occasionally outperforms what you pay for. Azure Functions may add an improvement in the future to enforce a more strict cap on resources to allow more predictability between high and low load. Short answer is you’re seeing that you can get more than you paid for today.
So the answer for (1) is that you run it once, it will take x time using 100% of the cpu, but potentially, under load, you may get only the percentage of the CPU which scales with the memory limit your choose. If you’ve only got 25% of the CPU available, you’ll run in 4x time. If Azure Functions enforced that hard cap, you’d always see the 4x time.
For (2), per the pricing page, 30mins * 60secs/min * .5 GB = 900 GB-sec. The pricing page has the unit cost per GB-sec and it will change, potentially, in the future, but it’s about a cent of compute, before the free grant.

I replied to (I think) your MSDN post as well. https://social.msdn.microsoft.com/Forums/azure/en-US/1755d0b6-6560-4bae-9947-35a5d65895fd/processing-power-and-scaleability?forum=AzureFunctions&prof=required

