Introduction to Azure Functions

We often build systems to react to a series of critical events. Whether you're building a web API, responding to database changes, processing IoT data streams, or even managing message queues - every application needs a way to run some code as these events occur.

To meet this need, Azure Functions provides "compute on-demand" - and in two significant ways.

First, Azure Functions allows you to implement your system's logic into readily available blocks of code. These code blocks are called "functions". Different functions can run anytime you need to respond to critical events.

Second, as requests increase, Azure Functions meets the demand with as many resources and function instances as necessary - but only while needed. As requests fall, any extra resources and application instances drop off automatically.

Where do all the compute resources come from? Azure Functions provides as many or as few compute resources as needed to meet your application's demand.

Providing compute resources on-demand is the essence of serverless computing in Azure Functions.

Scenarios

In many cases, a function integrates with an array of cloud services to provide feature-rich implementations.

The following are a common, but by no means exhaustive, set of scenarios for Azure Functions.

If you want to... then...
Build a web API Implement an endpoint for your web applications using the HTTP trigger
Process file uploads Run code when a file is uploaded or changed in blob storage
Build a serverless workflow Chain a series of functions together using durable functions
Respond to database changes Run custom logic when a document is created or updated in Cosmos DB
Run scheduled tasks Execute code at set times
Create reliable message queue systems Process message queues using Queue Storage, Service Bus, or Event Hubs
Analyze IoT data streams Collect and process data from IoT devices
Process data in real time Use Functions and Signal R to respond to data in the moment

As you build your functions, you have the following options and resources available:

Next Steps