Azure Functions
Also known as: Azure serverless, Azure FaaS, Azure function app
Azure Functions is Microsoft's answer to AWS Lambda.
You write small functions in C#, Python, JavaScript, Java, or PowerShell, and Azure runs them in response to events (HTTP requests, timer schedules, queue messages, or blob storage changes) charging only for execution time.
Azure Functions, explained at three levels
At home
Azure Functions works like a motion-sensor light. It stays off until something trips the sensor, such as a new file, a timer, or a form submission, then switches on, runs a small piece of your code, and switches off again. Microsoft owns and runs the wiring and servers behind it, and on the pay-per-use plans you're billed mostly for the moments the light is on.
At work
Azure Functions is Microsoft's serverless service for running small pieces of code in response to events, with Azure supplying and scaling the servers. Businesses use it to process uploaded documents, react to webhooks, run nightly data jobs, or serve lightweight APIs. Because it plugs directly into Azure Storage, Service Bus, and Microsoft Entra ID, teams already on Azure can automate work without standing up and patching full servers.
At home
Azure Functions uses a trigger-and-binding model. A trigger starts the function (HTTP request, queue message, etc.); bindings are declarative connections to other services (read from Blob Storage, write to Cosmos DB) without writing connection boilerplate. Functions can run in Consumption Plan (pay per execution), Premium Plan (pre-warmed, no cold starts), or App Service Plan (always-on).
At work
Azure Functions often sits inside larger workflows. Event Grid routes events, such as a new blob, to the right function. Logic Apps handles low-code orchestration and can call functions for custom logic, and API Management puts a managed gateway in front of HTTP functions. Durable Functions adds stateful patterns: function chaining, fan-out and fan-in, waiting for human approval, and long-running processes that pause for days while their state sits in Azure Storage.
At home
On the classic Consumption plan, functions share multi-tenant infrastructure and scale to zero, so the first request after idle time pays a cold start. The Flex Consumption plan adds always-ready instances and virtual network integration while keeping per-use billing, and the Premium plan keeps pre-warmed instances running with longer timeouts. In my view, the plan choice matters more than the code: it decides your latency, network access, and bill.
At work
Durable Functions' orchestrator functions are replayed from history when they resume, so they must be deterministic: side effects belong only in activity functions. The pattern supports event sourcing and saga orchestration. For critical enterprise workflows, Durable Functions with Azure Service Bus provides at-least-once delivery with idempotent activity execution.
Real-world examples
At home
Lena set up an Azure Function with an HTTP trigger to serve as the backend for her team's internal feedback form. The function writes submissions to Azure Table Storage. It costs almost nothing because it only runs when someone submits the form.
At work
Thomas's team uses Durable Functions to orchestrate a multi-step document approval workflow. A function waits for manager approval (which can take days), then routes the document to finance, then notifies the requester: all as a single stateful workflow.
Common confusions
- Azure Functions only works with C# and .NET — Azure Functions supports Python, JavaScript, TypeScript, Java, and PowerShell in addition to C#, and custom handlers let other languages such as Go or Rust run too. Teams can choose the language that fits their stack.
- Azure Functions and Logic Apps are the same thing — Functions is for writing code; Logic Apps is a low-code workflow tool. They're complementary: Logic Apps often calls Functions for custom logic that can't be expressed in pre-built connectors.
For analysts
A business analyst can trigger an Azure Function from Power Automate to call an external API, transform data, and load it into a spreadsheet or Power BI dataset: extending low-code tools with custom logic when needed.
History & origin
Microsoft launched Azure Functions in 2016, two years after AWS Lambda popularized serverless computing. It was built to compete directly with Lambda while adding deep integration with Azure's existing services (Service Bus, Blob Storage, Event Grid) and with Microsoft's enterprise developer tools like Visual Studio. Azure Functions supports Durable Functions, an extension for stateful workflows that launched in 2017 and differentiated it from Lambda.