云计算架构:Azure]比较流,逻辑应用(Logic App),函数和 WebJobs

简介: 云计算架构:Azure]比较流,逻辑应用(Logic App),函数和 WebJobs

所有这些服务都可以解决集成问题并自动化业务流程。 它们都可以定义输入、操作、条件和输出。 可以在日程安排或触发器中运行其中一个。 但是,每种服务都有其独特的优点,本文将介绍这些差异。

比较 Microsoft Flow 和 Azure 逻辑应用

流和逻辑应用都是可以创建工作流的“设计器优先”集成服务。 这两种服务都与各种 SaaS 和企业应用程序相集成。

流构建在逻辑应用之上。 它们有相同的工作流设计器和相同的连接器。

借助流,任何办公室工作人员都可以执行简单的集成(例如,对 SharePoint 文档库的审批过程),无需求助开发人员或 IT 部门。 另一方面,逻辑应用可启用需要企业级 DevOps 和安全实践的高级集成(例如 B2B 流程)。 对于业务工作流,其典型特征就是复杂性会随时间增长而增加。 相应地,可以先从流开始,然后根据需要将其转换到逻辑应用。

下表有助于确定流或逻辑应用是否最适合给定的集成。


比较 Azure Functions 和 Azure 逻辑应用

函数和逻辑应用是用于启用无服务器工作负荷的 Azure 服务。 Azure Functions 是一种无服务器计算服务,而 Azure 逻辑应用提供无服务器工作流。 这两种服务都可以创建复杂“业务流程”。 业务流程是函数或步骤(在逻辑应用中称为“操作”)的集合,将执行这些函数或步骤来完成复杂任务。 例如,若要处理一批订单,可以并行执行某个函数的许多实例,等待所有实例完成,然后执行某个函数来计算聚合结果。

对于 Azure Functions,你通过编写代码并使用 Durable Functions 扩展(预览版)来开发业务流程。 对于逻辑应用,你通过使用 GUI 或通过编辑配置文件来创建业务流程。

在构建业务流程、从逻辑应用中调用函数以及从函数中调用逻辑应用时,可以混合使用各种服务。 可以根据服务功能或你的个人喜好选择如何构建每个业务流程。 下表列出了这些服务之间的一些主要区别:


比较函数和 WebJobs

与 Azure Functions 一样,包含 WebJobs SDK 的 Azure 应用服务是一项代码优先的集成服务,专为开发人员设计。 二者都是在 Azure 应用服务 上构建的,支持源代码管理集成、身份验证以及使用 Application Insights 集成进行监视等功能。

WebJobs 和 WebJobs SDK

可以使用应用服务的 WebJobs 功能,在应用服务 Web 应用上下文中运行脚本或代码。 WebJobs SDK 是一个为 WebJobs 设计的框架,可以简化为响应 Azure 服务中的事件而编写的代码。 例如,若要响应在 Azure 存储中创建映像 Blob 这一事件,可以创建一个缩略图。WebJobs SDK 以 .NET 控制台应用程序的方式运行,可以部署到 WebJob。

WebJobs 和 WebJobs SDK 在一起使用时效果最佳,但也可在没有 WebJobs SDK 的情况下使用 WebJobs,反之亦然。 WebJob 可以运行任何在应用服务沙盒中运行的程序或脚本。 WebJobs SDK 控制台应用程序可以在运行控制台应用程序的任何位置运行,例如本地服务器。

比较表

Azure Functions 是在 WebJobs SDK 上构建的,因此共享许多相同的事件触发器以及到其他 Azure 服务的连接。 在选择 Azure Functions 还是选择带 WebJobs SDK 的 WebJobs 时,请考虑下面一些因素:


1 WebJobs(不带 WebJobs SDK)支持 C#、JavaScript、Bash、.cmd、.bat、PowerShell、PHP、TypeScript、Python 等。 这不是完整的列表;WebJob 可以运行任何程序或脚本,只要该程序或脚本可以在应用服务沙盒中运行。

2 WebJobs(不带 WebJobs SDK)支持 NPM 和 NuGet。

摘要

Azure Functions 可以改进开发人员工作效率,并提供更多的编程语言选项、更多的开发环境选项、更多的 Azure 服务集成选项,以及更多的定价选项。 大多数情况下,它是最佳选择。

下面两种情况最适合选择 WebJobs:

  • 需要对侦听事件的代码(JobHost 对象)进行更多的控制。 若要在 host.json 文件中自定义 JobHost 行为,则 Functions 提供的方式有限。 有时候,需要执行的操作无法在 JSON 文件中通过字符串来指定。 例如,只有 WebJobs SDK 允许配置 Azure 存储的自定义重试策略。
  • 你已经有需要为其运行代码片段的应用服务应用,且需要在同一 DevOps 环境中同时管理它们。

对于其他需要运行代码片段来集成 Azure 或第三方服务的情况,请选择 Azure Functions 而不是带 WebJobs SDK 的 WebJobs。

流(Flow)、逻辑应用(Logic Apps)、Functions 和 WebJobs 一起

不需只选择一项这样的服务;这些服务彼此集成,也与外部服务集成。

流可以调用逻辑应用。 逻辑应用可以调用函数,而函数也可以调用逻辑应用。 请参阅相关文档,例如,创建与 Azure 逻辑应用集成的函数。

随着时间的推移,Flow、逻辑应用和 Functions 之间的集成将得到进一步改进。 可以在某服务中构建一些项,并将其用于其他服务。

相关文章
|
2月前
|
人工智能 自然语言处理 开发工具
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
本文介绍统一多模态 Transformer(UMT)在跨模态表示学习中的应用与优化,涵盖模型架构、实现细节与实验效果,探讨其在图文检索、图像生成等任务中的卓越性能。
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
|
3月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
170 0
|
2月前
|
小程序 安全 JavaScript
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
116 1
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
|
2月前
|
Java Shell Maven
【Azure Container App】构建Java应用镜像时候遇无法编译错误:ERROR [build 10/10] RUN ./mvnw.cmd dependency:go-offline -B -Dproduction package
在部署Java应用到Azure Container App时,构建镜像过程中出现错误:“./mvnw.cmd: No such file or directory”。尽管项目根目录包含mvnw和mvnw.cmd文件,但依然报错。问题出现在Dockerfile构建阶段执行`./mvnw dependency:go-offline`命令时,系统提示找不到可执行文件。经过排查,确认是mvnw文件内容异常所致。最终通过重新生成mvnw文件解决该问题,镜像成功构建。
|
3月前
|
消息中间件 存储 Kafka
一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
本文详细介绍了分布式消息中间件RocketMQ的核心概念、部署方式及使用方法。RocketMQ由阿里研发并开源,具有高性能、高可靠性和分布式特性,广泛应用于金融、互联网等领域。文章从环境搭建到消息类型的实战(普通消息、延迟消息、顺序消息和事务消息)进行了全面解析,并对比了三种消费者类型(PushConsumer、SimpleConsumer和PullConsumer)的特点与适用场景。最后总结了使用RocketMQ时的关键注意事项,如Topic和Tag的设计、监控告警的重要性以及性能与可靠性的平衡。通过学习本文,读者可掌握RocketMQ的使用精髓并灵活应用于实际项目中。
1750 7
 一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
|
2月前
|
人工智能 数据可视化 Java
什么是低代码(Low-Code)?低代码核心架构技术解析与应用展望
低代码开发正成为企业应对业务增长与IT人才短缺的重要解决方案。相比传统开发方式效率提升60%,预计2026年市场规模达580亿美元。它通过可视化界面与少量代码,让非专业开发者也能快速构建应用,推动企业数字化转型。随着AI技术发展,低代码与AIGC结合,正迈向智能化开发新时代。
|
2月前
|
存储 移动开发 监控
App Trace功能实战:一键拉起、快速安装与免提写邀请码的应用实践
App Trace系统通过一键拉起、快速安装和免提写邀请码三大功能,显著提升用户转化率、安装成功率和邀请注册率。结合深度技术实现与优化,助力公司用户增长,成为移动端核心基础设施。
|
4月前
|
人工智能 运维 安全
中企出海大会|打造全球化云计算一张网,云网络助力中企出海和AI创新
阿里云网络作为全球化战略的重要组成部分,致力于打造具备AI技术服务能力和全球竞争力的云计算网络。通过高质量互联网服务、全球化网络覆盖等措施,支持企业高效出海。过去一年,阿里云持续加大基础设施投入,优化海外EIP、GA产品,强化金融科技与AI场景支持。例如,携程、美的等企业借助阿里云实现业务全球化;同时,阿里云网络在弹性、安全及性能方面不断升级,推动中企迎接AI浪潮并服务全球用户。
725 8
|
9月前
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
在数字化浪潮中,云计算如同一股不可阻挡的力量,推动着企业和个人用户步入一个高效、便捷的新时代。然而,随之而来的网络安全问题也如影随形,成为制约云计算发展的阿喀琉斯之踵。本文将探讨云计算服务中的网络安全挑战,揭示信息保护的重要性,并提供实用的安全策略,旨在为读者呈现一场技术与安全的较量,同时指出如何在享受云服务带来的便利的同时,确保数据的安全和隐私。
188 6

热门文章

最新文章