Microsoft Azure Functions

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:

How It Works

[insert diagram to showcase usage]

Language Support

Supports C#, F#, Node.js, Python, PHP, batch, bash, or any executable.

Security

Protect HTTP-triggered functions with OAuth providers such as Azure Active Directory, Facebook, Google, Twitter, and Microsoft Account.

Tooling

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.

Monitoring, Logging & Alerting

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.

Debugging & Diagnostics

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.

Pricing

See Azure Functions pricing page for details.

Limitations

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.

Resources


Credits: Rupak Ganguly (@rupakg) ***