Skip to main content

什么是Azure提供的无服务器解决方案?

分类:  Azure入门 标签:  #Azure #基础 #Azure入门 #入门 发布于: 2023-06-15 14:49:31

无服务器计算是一种云托管执行环境,可运行代码,但会将基础托管环境抽象化。 无服务器计算思想的关键并不是真的没有服务器就可以运行用户的代码,它的关键思想是:用户不用负责设置或维护该服务器。 当需求增加时,你不必担心缩放服务器,也不必担心中断。 云供应商会为你处理所有的维护和缩放问题。

创建一个服务实例,然后添加代码。 不需要甚至不允许配置或维护基础结构。 可配置无服务器应用以响应事件。 事件可以是 REST 终结点、定期计时器,甚至是从其他 Azure 服务接收的消息。 无服务器应用仅在被事件触发时运行。 缩放和性能可自动得到处理,只需为使用的资源付费。 你甚至无需保留资源。

无服务器计算通常用于处理后端场景。 例如负责将消息从一个系统发送到另一个系统,或者处理发送自其他系统的消息。 它不用于面向用户的系统,而是在后台工作。

Azure提供两种无服务器服务:

  • Azure Function
  • Azure Logic App

Azure Function

通过Azure Functions服务,你可使用常用编程语言在云中托管单个方法或函数,以用于响应事件。 例如,该事件可能是一个HTTP请求、队列上的新消息或计时器上的消息。

Azure Functions可以在应用程序的设计中提供多种用途。 Functions可以使用多种常用编程语言(例如 C#PythonJavaScriptTypescriptJava 和 PowerShell)来编写。

Azure Functions可自动缩放,并且仅在触发函数时才会产生费用。 当需求变化不定时,这些特性就使Azure Functions成为了一种可靠的选择。 例如,你可能会收到来自用于监控运输车队的IoT解决方案的消息。 可能会在工作时间内收到更多数据。 Azure Functions可以横向扩展以适应这些较繁忙的时间。

Azure Function是无状态环境。 该函数的行为方式是:每次响应事件时就好像重新启动一样。 此功能是处理传入数据的理想选择。 如果需要提供状态,可以将该函数连接到Azure Storage

Azure Functions可使用称为Durable Functions的扩展执行编排任务,该扩展使开发人员可在维护状态的同时将Functions链接在一起。

若只关心运行服务的代码,而不关心基础平台或基础结构,Azure Functions解决方案是理想选择。 当你需要执行工作来响应某个事件时,通常会用到Azure Functions。 通常通过REST请求、计时器或来自其他Azure服务的消息来完成此操作,并且该工作可在几秒钟或更短时间内快速完成。

Azure Logic App

Azure Logic App是以云服务形式托管的低代码/无代码开发平台。 当你需要跨企业或组织集成应用、数据、系统和服务时,该服务可帮助你自动执行和编排任务、业务流程和工作流。 逻辑应用简化了在云、本地或者这两者中设计和构建可缩放解决方案的方式。 此解决方案涵盖应用集成、数据集成、系统集成、企业应用集成 (EAI) 和企业到企业 (B2B) 集成。

Azure Logic App基于Web的设计器中设计,可执行由Azure服务触发的逻辑而无需编写代码。 可通过使用连接器将触发器链接到操作来生成应用。 触发器是一个事件(例如计时器),它引发应用执行,然后新消息被发送到队列或HTTP请求中。 操作是可以执行的任务或步骤。 有一些是逻辑操作,例如大多数编程语言中都存在的那些操作。 例如,使用变量、决策语句和循环的操作,以及用于分析和修改数据的任务。

若要使用Azure Logic App构建企业集成解决方案,可从超过200个连接器且不断增长的库中进行选择。 该库包括SalesforceSAPOracle DB 和文件共享等服务。

如果找不到所需的操作或连接器,则可以使用自定义代码生成自己的操作或连接器。

Azure FunctionAzure Logic App的区别

你可以从 Azure logic App调用Azure Functions,反之亦然。 这两种服务之间的主要区别在于它们的设计意图。 Azure Functions是一种无服务器计算服务,而Azure logic App旨在成为一种无服务器业务流程服务。 你也可以使用Azure Functions来编排涉及多种连接的长期业务流程,但这并不是设计该服务时的主要用例。

此外,这两种服务的定价方式也有所不同。 Azure Functions的定价取决于执行次数和每次执行的运行时间。 Azure Logic App的定价取决于执行次数和它所利用的连接器类型。