在 Azure 中選擇合適的集成和自動化服務(wù)

來源: Microsoft Azure
作者:Microsoft Azure
時間:2020-11-26
17305
本文比較了以下Microsoft云服務(wù):Microsoft Power Automate(以前稱Microsoft Flow)、Azure邏輯應(yīng)用、Azure Functions、Azure應(yīng)用服務(wù)WebJobs

本文比較了以下Microsoft云服務(wù):

Microsoft Power Automate(以前稱Microsoft Flow)

Azure邏輯應(yīng)用

Azure Functions

Azure應(yīng)用服務(wù)WebJobs

所有這些服務(wù)都可以解決集成問題并自動化業(yè)務(wù)流程。它們都可以定義輸入、操作、條件和輸出??梢栽谌粘贪才呕蛴|發(fā)器中運(yùn)行其中一個。每種服務(wù)都有其獨(dú)特的優(yōu)點(diǎn),本文將介紹這些差異。

若要查找Azure Functions與其他Azure計(jì)算選項(xiàng)之間的更一般比較,請參閱選擇Azure計(jì)算服務(wù)的標(biāo)準(zhǔn)和為微服務(wù)選擇Azure計(jì)算選項(xiàng)。

比較Microsoft Power Automate和Azure邏輯應(yīng)用

Power Automate和邏輯應(yīng)用都是可以創(chuàng)建工作流的“設(shè)計(jì)器優(yōu)先”集成服務(wù)。這兩種服務(wù)都與各種SaaS和企業(yè)應(yīng)用程序相集成。

Power Automate基于邏輯應(yīng)用而構(gòu)建。它們有相同的工作流設(shè)計(jì)器和相同的連接器。

借助Power Automate,任何辦公室工作人員都可以執(zhí)行簡單的集成(例如,對SharePoint文檔庫的審批過程),無需求助開發(fā)人員或IT部門。邏輯應(yīng)用還可以實(shí)現(xiàn)需要企業(yè)級DevOps和安全做法的高級集成(例如B2B流程)。對于業(yè)務(wù)工作流,其典型特征就是復(fù)雜性會隨時間增長而增加。相應(yīng)地,可以先從流開始,然后根據(jù)需要將其轉(zhuǎn)換到邏輯應(yīng)用。

下表可幫助你確定Power Automate或邏輯應(yīng)用是否最適合某一特定的集成:

微信圖片_20201126102551.png

比較Azure Functions和Azure邏輯應(yīng)用

函數(shù)和邏輯應(yīng)用是用于啟用無服務(wù)器工作負(fù)荷的Azure服務(wù)。Azure Functions是一種無服務(wù)器計(jì)算服務(wù),而Azure邏輯應(yīng)用提供無服務(wù)器工作流。兩者都可以創(chuàng)建復(fù)雜的業(yè)務(wù)流程。業(yè)務(wù)流程是函數(shù)或步驟(在邏輯應(yīng)用中稱為“操作”)的集合,將執(zhí)行這些函數(shù)或步驟來完成復(fù)雜任務(wù)。例如,若要處理一批訂單,可以并行執(zhí)行某個函數(shù)的許多實(shí)例,等待所有實(shí)例完成,然后執(zhí)行某個函數(shù)來計(jì)算聚合結(jié)果。

對于Azure Functions,通過編寫代碼并使用Durable Functions擴(kuò)展來開發(fā)業(yè)務(wù)流程。對于邏輯應(yīng)用,你通過使用GUI或通過編輯配置文件來創(chuàng)建業(yè)務(wù)流程。

在構(gòu)建業(yè)務(wù)流程、從邏輯應(yīng)用中調(diào)用函數(shù)以及從函數(shù)中調(diào)用邏輯應(yīng)用時,可以混合使用各種服務(wù)??梢愿鶕?jù)服務(wù)功能或你的個人喜好選擇如何構(gòu)建每個業(yè)務(wù)流程。下表列出了這些服務(wù)之間的一些主要區(qū)別:

微信圖片_20201126102558.png

比較函數(shù)和WebJobs

與Azure Functions一樣,包含WebJobs SDK的Azure應(yīng)用服務(wù)是一項(xiàng)代碼優(yōu)先的集成服務(wù),專為開發(fā)人員設(shè)計(jì)。二者都是在Azure應(yīng)用服務(wù)上構(gòu)建的,支持源代碼管理集成、身份驗(yàn)證以及使用Application Insights集成進(jìn)行監(jiān)視等功能。

WebJobs和WebJobs SDK

可以使用應(yīng)用服務(wù)的WebJobs功能,在應(yīng)用服務(wù)Web應(yīng)用上下文中運(yùn)行腳本或代碼。WebJobs SDK是一個為WebJobs設(shè)計(jì)的框架,可以簡化為響應(yīng)Azure服務(wù)中的事件而編寫的代碼。例如,若要響應(yīng)在Azure存儲中創(chuàng)建映像Blob這一事件,可以創(chuàng)建一個縮略圖。WebJobs SDK以.NET控制臺應(yīng)用程序的方式運(yùn)行,可以部署到WebJob。

WebJobs和WebJobs SDK在一起使用時效果最佳,但也可在沒有WebJobs SDK的情況下使用WebJobs,反之亦然。WebJob可以運(yùn)行任何在應(yīng)用服務(wù)沙盒中運(yùn)行的程序或腳本。WebJobs SDK控制臺應(yīng)用程序可以在運(yùn)行控制臺應(yīng)用程序的任何位置運(yùn)行,例如本地服務(wù)器。

比較表

Azure Functions是在WebJobs SDK上構(gòu)建的,因此共享許多相同的事件觸發(fā)器以及到其他Azure服務(wù)的連接。在選擇Azure Functions還是選擇帶WebJobs SDK的WebJobs時,請考慮以下因素:

微信圖片_20201126102602.png

總結(jié)

與Azure應(yīng)用服務(wù)WebJobs相比,Azure Functions可以進(jìn)一步提高開發(fā)人員的工作效率。它還提供更多的編程語言、開發(fā)環(huán)境、Azure服務(wù)集成和價格選項(xiàng)。大多數(shù)情況下,它是最佳選擇。

下面兩種情況最適合選擇WebJobs:

需要對偵聽事件的代碼(JobHost對象)進(jìn)行更多的控制。若要在host.json文件中自定義JobHost行為,則Functions提供的方式有限。有時候,需要執(zhí)行的操作無法在JSON文件中通過字符串來指定。例如,只有WebJobs SDK允許配置Azure存儲的自定義重試策略。

你已經(jīng)有需要為其運(yùn)行代碼片段的應(yīng)用服務(wù)應(yīng)用,且需要在同一Azure DevOps環(huán)境中同時管理它們。

對于其他需要運(yùn)行代碼片段來集成Azure或第三方服務(wù)的情況,請選擇Azure Functions而不是帶WebJobs SDK的WebJobs。

Power Automate、邏輯應(yīng)用、Functions和WebJobs一起

并非只能選擇其中的一種服務(wù)。這些服務(wù)可相互集成,也可與外部服務(wù)配合工作。

流可以調(diào)用邏輯應(yīng)用。邏輯應(yīng)用可以調(diào)用函數(shù),而函數(shù)也可以調(diào)用邏輯應(yīng)用。請參閱相關(guān)文檔,例如,創(chuàng)建與Azure邏輯應(yīng)用集成的函數(shù)。

隨著時間的推移,Power Automate、邏輯應(yīng)用和Functions之間的集成會不斷改進(jìn)??梢栽谀撤?wù)中構(gòu)建一些項(xiàng),并將其用于其他服務(wù)。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Microsoft Azure,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
個人VIP