云计算架构: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 之间的集成将得到进一步改进。 可以在某服务中构建一些项,并将其用于其他服务。

相关文章
|
17天前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。
|
23天前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
245 0
|
3月前
|
人工智能 数据可视化 Java
什么是低代码(Low-Code)?低代码核心架构技术解析与应用展望
低代码开发正成为企业应对业务增长与IT人才短缺的重要解决方案。相比传统开发方式效率提升60%,预计2026年市场规模达580亿美元。它通过可视化界面与少量代码,让非专业开发者也能快速构建应用,推动企业数字化转型。随着AI技术发展,低代码与AIGC结合,正迈向智能化开发新时代。
|
3月前
|
存储 边缘计算 数据处理
面向智能医疗的边缘计算与云计算融合架构的设计与实现
边缘+云混合部署架构正在为AIoT与医疗领域带来前所未有的技术变革。通过这种架构,能够实现对海量数据的实时处理和深度分析,提升业务响应速度和效率,同时在保障数据安全的基础上,优化系统的可扩展性和可靠性。随着技术的发展,边缘+云架构的应用场景将愈发广泛,未来必将在更多领域内发挥巨大的潜力。
|
3月前
|
存储 人工智能 缓存
AI应用爆发式增长,如何设计一个真正支撑业务的AI系统架构?——解析AI系统架构设计核心要点
本文AI专家三桥君系统阐述了AI系统架构设计的核心原则与关键技术,提出演进式、先进性、松耦合等五大架构法则,强调高并发、高可用等系统质量属性。通过垂直扩展与水平扩展策略实现弹性伸缩,采用多类型数据存储与索引优化提升性能。三桥君介绍了缓存、批处理等性能优化技术,以及熔断隔离等容灾机制,构建全链路监控体系保障系统稳定性。为构建支撑亿级业务的AI系统提供了方法论指导和技术实现路径。
368 0
|
3月前
|
消息中间件 人工智能 安全
企业级AI应用需要系统工程支撑,如何通过MCP大模型架构实现全链路实战解构?
本文三桥君深入探讨了MCP大模型架构在企业级AI应用中的全链路实战解构。从事件驱动、统一中台、多端接入、API网关、AI Agent核心引擎等九个核心模块出发,系统阐述了该架构如何实现低耦合高弹性的智能系统构建。AI专家三桥君提出从技术、内容、业务三个维度构建评估体系,为企业级AI应用提供了从架构设计到落地优化的完整解决方案。
215 0
|
3月前
|
人工智能 监控 API
MCP中台,究竟如何实现多模型、多渠道、多环境的统一管控?如何以MCP为核心设计AI应用架构?
本文产品专家三桥君探讨了以 MCP 为核心的 AI 应用架构设计,从统一接入、数据管理、服务编排到部署策略等维度,系统化分析了 AI 落地的关键环节。重点介绍了 API 网关的多终端适配、数据异步处理流程、LLM 服务的灰度发布与 Fallback 机制,以及 MCP Server 作为核心枢纽的调度功能。同时对比了公有云 API、私有化 GPU 和无服务器部署的适用场景,强调通过全链路监控与智能告警保障系统稳定性。该架构为企业高效整合 AI 能力提供了实践路径,平衡性能、成本与灵活性需求。
199 0
|
18天前
|
移动开发 小程序 Android开发
基于 uni-app 开发的废品回收类多端应用功能与界面说明
本文将对一款基于 uni-app 开发的废品回收类多端应用,从多端支持范围、核心功能模块及部分界面展示进行客观说明,相关资源信息也将一并呈现。
57 0