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 lets you run a small piece of code whenever something happens -- a new file arrives, a timer fires, or a form is submitted. You don't set up any servers; Microsoft handles all the infrastructure.
At work
Teams using the Microsoft Azure ecosystem use Functions to automate tasks: processing uploaded documents, responding to webhook events, running nightly data jobs, or building lightweight API endpoints without managing a full server.
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 integrates with Azure Logic Apps for low-code orchestration, Event Grid for event routing, and Azure API Management for API gateway functionality. Durable Functions adds stateful workflow patterns: chaining, fan-out/fan-in, human approval flows, and long-running operations that can wait days.
At home
Functions on the Consumption Plan run in a shared multi-tenant environment with cold start latency. The Premium Plan uses pre-warmed instances and allows VNet integration, private endpoints, and longer timeout limits (up to 60 minutes).
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, PowerShell, and Go (in preview) in addition to C#. 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.