Microsoft Azure Functions

Microsoft Azure Functions 是 Microsoft Azure 平台上，提供无服务器运算架构 (Serverless Computing) 的服务，允许开发人员在不用接触与管理服务器的情况下，编写小型的处理程式以处理云端上的讯息或事件。
Azure Functions 于微软Build 2016 大会上宣布，于同年11月15日正式GA (General Availability)。
Azure Functions 已广泛于用如Azure Bot Services、Azure IoT Suite、Azure Logic App 等服务串联。

功能

Azure Functions 基于无服务器管理框架，因此其功能大多数都落在程式码的开发、系结的设定与安全金钥的管理，当然也可以依需求进一步的设定其所处的App Service Plan (即使是Consumption Plan 也有) 的进阶设定，例如加上SSL 或增修应用程序组态档的设定等等。

程式码管理

Azure Functions 允许开发人员直接编写函数的程式码，也就是处理(Process) 这个部分，基于与函数的系结的整合，微软提供了数个样板(template) 给开发人员选用，每个支援的系结都会有一个样板，开发人员不需费心于思考如何在函数中使用系结，只要在函数的本体中编写处理的程式码即可。
例如使用HTTP 触发 (即送HTTP 要求给该函数) 的 C# 程式码如下：
public static Task<HttpResponseMessage> Run(HttpRequestMessage request, string category, int? id, 
                                                    TraceWriter log)
    {
        if (id == null)
           return  req.CreateResponse(HttpStatusCode.OK, $"All {category} items were requested.");
        else
           return  req.CreateResponse(HttpStatusCode.OK, $"{category} item with id = {id} has been requested.");
    }
而同样功能的node.js 程式码如下：
module.exports = function (context, req) {

        var category = context.bindingData.category;
        var id = context.bindingData.id;

        if (!id) {
            context.res = {
                // status: 200, /* Defaults to 200 */
                body: "All " + category + " items were requested."
            };
        }
        else {
            context.res = {
                // status: 200, /* Defaults to 200 */
                body: category + " item with id = " + id + " was requested."
            };
        }

        context.done();
    }
范本会先为开发人员设定好参数，开发人员只要填入处理的程式即可。
另外，Azure Functions 也支援由git 部署，然而若使用git 部署时，Azure Portal 上的程式码编辑器会强制停用。

开发人员支援

Azure Functions 除了提供Azure Portal 上的程式码编修，以及采用git 的持续整合的程式码管理方式外，也为开发人员在地端的作业提供了Azure Function Runtime，以加速开发人员在地端的开发与测试。
Visual Studio Code 也有套件支援Azure Functions 的开发。