Skip to content

Coverage

Azure Functions cost optimisation for MSPs

Function apps are often assumed to cost nothing when idle, but an Elastic Premium plan bills a minimum monthly amount whether its functions run or not. Microsoft also warns that choosing a P-series SKU instead of EP creates a Dedicated plan that won't scale elastically and can raise costs.

10

automated finders for Azure Functions

Read-only, across every connected client tenant, tied to real billing data.

  • Modernise
  • Remove unused
  • Scaling

Where Azure Functions spend goes to waste

The main cost levers Microsoft documents for Azure Functions, and the ones an MSP should check across every client.

Match each workload to the right plan

For new serverless apps Microsoft points to Flex Consumption, which bills for executions plus instance memory only while functions run. Premium bills across needed and prewarmed instances, and Dedicated costs the same as any App Service plan. Keep always-on capacity for apps that run continuously or close to it. [2]

Ration always-ready instances

In Flex Consumption, always-ready instances default to zero. Each one you add carries a baseline memory charge on top of executions, so assign them only to the functions where cold-start latency really matters and let the rest scale from zero. [3]

Audit Premium minimum instances

Every Elastic Premium plan keeps at least one instance billed, and its minimum follows the highest always-ready count any app on the plan asks for. Review these settings on every client plan, and confirm SKU names start with EP rather than P. [1]

Consolidate quiet function apps

Premium plans can host several function apps, and Dedicated plans can run function apps alongside web apps on App Service capacity a client already pays for. Grouping a client's low-traffic apps onto one plan avoids paying for several mostly idle plans. Flex Consumption allows only one app per plan. [2]

Control Durable Functions costs

On the Consumption plan each orchestrator replay is billed as a separate invocation, though time spent awaiting activities is free. With the Azure Storage provider, transaction costs land on the client's own subscription, and queue polling usually accounts for most of them. [4]

Tune telemetry from function apps

Microsoft warns the default Application Insights setup can produce large volumes of data. Set Warning or Error as the default log level, raise only business-critical functions to Information, and keep sampling on. [5]

How Cerberus Cloud covers Azure Functions

Cerberus Cloud runs 10 automated finders for Azure Functions across every connected client tenant. Each one ties a technical signal to real billing data, so findings arrive with an estimated recoverable value, ranked by impact, effort and risk, with evidence and remediation scripts for your engineers to review.

Access is read-only, so nothing changes in a client environment until your team decides it should. See how it works or the multi-tenant portfolio view.

  • Modernise
  • Remove unused
  • Scaling

Frequently asked questions

Does a Premium plan cost money when no functions are running?
Yes. Every Elastic Premium plan keeps a minimum of one instance allocated and billed at all times, and each instance in the minimum count is charged even when nothing executes. An idle Premium plan still has a monthly cost.
How can we see what a client's function app is costing?
Use Azure Monitor metrics on each function app. Flex Consumption shows on-demand and always-ready execution counts and units; Consumption shows function execution count and units, which convert to GB-seconds for pricing.
Should we keep staging slots on clients' function apps?
Slots help with prewarmed releases and fast rollback, but each one is a live app that scales to the same number of workers as production. Flex Consumption has no slots and uses rolling updates instead.

See Azure Functions findings on a sample portfolio

A 15-minute walkthrough: tenant connection, prioritised findings, remediation scripts and savings history.