Azure Functions is Microsoft's serverless compute offering, announced in spring of 2016.
Process events with a serverless code architecture. An event-based serverless compute experience to accelerate your development. Scale based on demand and pay only for the resources you consume.
The platform includes the following products and services:
- Functions - serverless compute
- LogicApps - orchestrated workflows visual designer
- Flow - higher abstraction on top of LogicApps
- WebJobs - run scripts or programs as background processes
[insert diagram to showcase usage]
Supports C#, F#, Node.js, Python, PHP, batch, bash, or any executable.
Protect HTTP-triggered functions with OAuth providers such as Azure Active Directory, Facebook, Google, Twitter, and Microsoft Account.
Azure Portal, Azure Powershell, Azure CLI, and Azure SDK
Supports coding functions directly in the portal, or through Visual Studio Team Services or others IDEs like Xcode, Eclipse, and IntelliJ IDEA. Visual Studio supports all three deployment processes (FTP, Git, and Web Deploy), while other IDEs can deploy to App Service if they have FTP or Git integration. See deployment processes overview for details.
Functions integrates with Azure Application Insights, the Azure APM service. It includes metrics, traces, exception tracking, dependencies and user data. Despite the serverless abstraction, App Insights lets users see server-level metrics down into individual VMs such as the CPU usage. See monitoring overview for details.
Application Insights Analytics gives detailed information about diagnostic data for an application.
Azure Audit Logs is a data source that provides a wealth of information on the operations on your Azure resources. The most important data within Azure Audit Logs is the operational logs from all your resources.
Alerts are available across different services, including, Application Insights, Log Analytics, and Azure Monitor.
The Azure Functions CLI provides local debugging support. But, since Azure Functions is built on top of Azure App Service, remote debugging support is built-in.
With the help of a few tools and components like Visual Studio, Visual Studio Tools for Azure Functions and Cloud Explorer extension, it is possible to set breakpoints and step through code via the debugger. Note: Although these tooling experience is currently in preview.
See Azure Functions pricing page for details.
The limitations are not really documented but gathering from user experiences, it seems Azure Functions allow only 10 concurrent executions per function. There is also no limitations on max. execution time limit, but you will be billed for any accidental loops.
Credits: Rupak Ganguly (@rupakg)