Azure Functions 的工作原理

已完成

本单元介绍如何使用 Azure Functions 开发无服务器体系结构以及利用其提供的各种功能实现。

还会详细介绍 Azure Functions 的工作原理。 有助于确定如何通过充分利用 Azure Functions 来满足组织要求的信息。

Azure Functions 是无服务器计算解决方案,可以减小需要编写的代码量。 它是平台即服务产品/服务,因此无需操心如何托管应用,还可以节省成本。

Azure Functions 是一个理想的解决方案,用于处理数据、集成系统、使用物联网 (IoT) 以及生成简单的 API 和微服务。

缩放函数应用

函数所运行的上下文称为函数应用。 函数应用是用于部署、管理和缩放函数的单元。 函数应用中的函数都共享相同的设置和连接。

在消耗和高级计划中,Azure Functions 通过添加更多函数应用实例来缩放 CPU 和内存资源。 实例数取决于触发函数的事件数。 由于函数应用中的所有函数共享应用实例中的资源,因此它们可同时缩放。

Azure Functions 监视

Azure Functions 内置集成了 Azure Application Insights 来监视函数。 Application Insights 可收集日志、性能和错误数据。 它有助于检测性能异常、诊断问题并更好地了解函数的使用情况。

Azure Functions 中已内置 Application Insights 检测。 使用 Application Insights 集成,遥测数据将发送到所连接的 Application Insights 实例。 此数据包括由 Functions 主机生成的日志、从你的函数代码写入的跟踪,以及性能数据。

注意

除了来自你的函数和 Functions 主机的数据之外,你还可以收集来自 Functions 缩放控制器的数据。

下图是一个示例,展示如何在 Function 应用的 Application Insights 中查看数据。

展示 Azure Functions 遥测数据监视的屏幕截图

Azure Functions 组件

下表介绍了Azure Functions 的关键组件:

组件 说明
函数触发器 触发器是导致函数运行的因素。 触发器定义函数的调用方式。 一个函数必须只有一个触发器。
函数绑定 绑定到函数是声明性地将另一个资源连接到函数的一种方式;绑定可作为输入绑定和/或输出绑定进行连接。 绑定中的数据作为参数提供给函数。 如果不想或无法使用绑定,在连接到服务时,仍然可以在函数中使用客户端 SDK。
函数运行时 Azure Functions 当前支持多个版本的运行时主机。 Functions 还支持许多不同的运行时,例如 .NET Core、Node.JavaScript、Java、PowerShell 和 Python。 在开发过程中,可以在本地计算机上安装 Functions 运行时,并使用 Azure Functions Core Tools 在本地运行函数。
API 管理 (APIM) APIM 为 HTTP 触发器函数终结点提供安全性和路由,以将其公开为真正的 REST API。
部署槽 Azure Functions 部署槽使函数应用能够运行不同的实例(称作“”)。 槽是通过公用终结点公开的不同环境。 通过使用槽,可在安全环境测试 Azure 中的新版本函数,然后将新版本无缝切换至生产环境中。
函数应用配置 将为每个函数应用单独定义连接字符串、环境变量以及其他应用程序设置。 可以在代码中将函数应用设置值读取为环境变量。

这些组件协同工作,为应用程序和 DevOps 工程师提供完整的端到端平台,从而使用 Azure Functions 开发无服务器体系结构。