功能和逻辑应用程序是 Microsoft Azure 的两种不同产品。我想知道在哪些用例中应该支持新的 Functions 产品而不是 Logic Apps。
8 回答
Azure Functions 是由事件触发的代码。
逻辑应用是由事件触发的工作流。
这意味着它们实际上也是互补的。从昨天的某个时间开始,您可以通过 Logic Apps UX 在逻辑应用程序内添加一个函数作为工作流的一部分。
TL;DR - 这是逻辑应用程序 + 函数,而不是逻辑应用程序或函数。
“这里有几个用例,您可以决定在 Azure Functions 和 Azure Logic Apps 之间进行选择。
天青功能:
- Azure Function 是由事件触发的代码
- Azure Functions 可以在本地工作站上开发和调试,这是提高开发人员生产力的一大优势
- 在处理执行更复杂逻辑的同步请求/响应调用时,Azure 函数是首选选项
逻辑应用:
逻辑应用是由事件触发的工作流
逻辑应用仅在云中运行,因为它依赖于 Microsoft 管理的连接器。它不能在本地调试、测试或运行逻辑应用
逻辑应用更适合需要可靠处理的异步集成和即发即弃的消息传递。
Azure Functions 具有足够的日志记录和故障排除功能,您甚至可以构建自定义监控工具。功能不依赖云端,也可以在本地运行。”
逻辑应用程序用于自动化您的业务流程。通过几个开箱即用的连接器,它们可以轻松地与云和本地系统集成。另一方面,Azure 函数会为响应事件而做一些事情,例如,当将消息添加到队列或添加 blob 时,处理这些等。我猜您甚至可以将 Azure 函数公开为 HTTP API 端点并集成使用逻辑应用程序进入您的业务流程。
在我看来,另一个明显的区别是定价,Azure 函数根据用于执行函数的计算以及与函数关联的内存收费(https://azure.microsoft.com/en-us/pricing/details /功能/)。
只是想补充一些我的想法
Azure Function Apps应用于
- 高频任务- 1,000,000 次执行和 400,000 GB-s 内存是免费的,然后价格非常低。一旦您知道任何编码语言功能支持,您就可以以非常低的成本运行数百万次执行。
- 很容易与多个 Azure 服务绑定——而逻辑应用也很容易绑定到外部服务,如果你想从逻辑应用中高频进行绑定,这将花费你一两块钱。函数还允许轻松地将输入和输出绑定到外部 azure 服务。
- 有状态的执行——使用持久的任务框架,您可以运行多个功能,执行扇入和扇出并轻松编写有状态的执行。
- 编程和脚本语言- 如果您已经了解编程语言,那么函数可能是将您的一些应用程序迁移到云中的简单方法,只需进行最少的更改。
Azure 逻辑应用程序应用于
- 低频——最大的原因是定价模式。想象一下,逻辑应用程序中的单个操作就是您所支付的,因为它是单独执行的。例如,如果您有1 个包含 3 个步骤的逻辑应用,并且您每 10 秒运行一次。这将是每分钟 18 个动作。因此,每小时 1080 个,每天 25920 个。如果这 3 个操作连接到任何外部的东西,即 blobs/http 等。它们是连接器,因此每天运行 26,000 个连接器的简单逻辑应用程序将为您带来每月 100 美元的收益。与最有可能低于 1 美元的功能相比。
- 结合大量的外部服务/API——多亏了 200 多个连接器,您可以轻松地结合多个服务,而无需学习 API 等。这是简单的 TCO 计算,是为开发人员的价格编写 X 数量的 API 集成还是只使用开箱即用的连接器更好。
- 精心设计的日志记录- 通过可视化日志记录,可以非常轻松地检查每个执行步骤的输入、输出、时间等。就好像您在 Azure Functions 中记录了每一行一样。
- 很好地扩展了其他服务,比如数据工厂——一些服务为某些任务设计得非常好,但它们在其他任务上却没有那么好。例如,数据工厂无法直接发送电子邮件,但在 10 分钟内,您可以从数据工厂调用 Logic App 的 HTTP webhook 并开始轻松发送电子邮件。
简而言之,正如其他人所说。他们支付不同的角色,应该这样使用。
一般来说,逻辑应用❤️功能。
如果您想查看一些信息,我鼓励您查看
- 功能应用介绍视频https://youtu.be/Vxf-rOEO1q4
- 逻辑应用介绍视频https://youtu.be/UzTtastcBsk
- 具有 API 管理的逻辑应用程序安全性https://marczak.io/posts/2019/08/secure-logic-app-with-api-management/
在Azure Durable Functions发布之后,这个问题的答案可能已经改变。现在两个平台之间的重叠更大了。这两种服务产品都允许您构建无服务器工作流;Azure Durable Functions 是基于代码的工作流,而逻辑应用是可视化设计的工作流。
逻辑应用更适合构建集成解决方案,因为连接器列表非常广泛,可以缩短上市时间,并且首选丰富的可视化工具来构建和管理。
如果您需要或更喜欢拥有强大编程语言的所有功能和灵活性,或者您需要更高的可移植性,并且可用的绑定和日志记录功能就足够了,那么Durable Functions更适合您。
两个平台之间的详细比较在这篇文章中。
Logic Apps 是 Microsoft 的 iPaas 产品。它可用于在云上创建易于实施的集成解决方案。它带有一系列开箱即用的连接器,可用于跨本地和基于可能的应用程序集成解决方案。然而,Azure 函数可用于在“云”上快速运行小段代码或函数。Azure 函数可以与逻辑应用集成,以从逻辑应用中运行代码片段。
我广泛使用两者。对于简单的应用程序/api,我更喜欢逻辑应用程序而不是 Azure 函数。Logic Apps 的知识转移非常容易,因为下一个人只需要查看图片即可。日志/跟踪也已经内置。但是,当您有多个 if-else 或 case 条件或者如果您有多个嵌套工作流时,逻辑应用程序(和 Flow)将变得混乱且不易阅读。逻辑应用程序中的错误处理也有很多不足之处。
Azure 函数 azure 函数是一段代码,它会在某些事件或计时器上触发,它可以被调试,并且您可以使用多种语言编写代码,并且可以使用多种选项来编写代码,例如 Visual Studio Code、Visual Studio、In -门户网站
Logic app 它是一个工作流编排工具,它的触发方式与 azure 函数类似,但它是一个拖放工具,您不能在其中编写代码它提供了一系列操作来执行它主要用于集成的功能系统
两个系统都基于无服务器架构,但 azure 逻辑应用程序易于开发和调试,但如果您需要大量自定义逻辑,则范围有限 azure 功能适合您