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

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

本文比較了以下Microsoft云服務:

Microsoft Power Automate(以前稱Microsoft Flow)

Azure邏輯應用

Azure Functions

Azure應用服務WebJobs

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

若要查找Azure Functions與其他Azure計算選項之間的更一般比較,請參閱選擇Azure計算服務的標準和為微服務選擇Azure計算選項。

比較Microsoft Power Automate和Azure邏輯應用

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

Power Automate基于邏輯應用而構建。它們有相同的工作流設計器和相同的連接器。

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

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

微信圖片_20201126102551.png

比較Azure Functions和Azure邏輯應用

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

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

在構建業(yè)務流程、從邏輯應用中調用函數以及從函數中調用邏輯應用時,可以混合使用各種服務??梢愿鶕展δ芑蚰愕膫€人喜好選擇如何構建每個業(yè)務流程。下表列出了這些服務之間的一些主要區(qū)別:

微信圖片_20201126102558.png

比較函數和WebJobs

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

WebJobs和WebJobs SDK

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

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

比較表

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

微信圖片_20201126102602.png

總結

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

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

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

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

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

Power Automate、邏輯應用、Functions和WebJobs一起

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

流可以調用邏輯應用。邏輯應用可以調用函數,而函數也可以調用邏輯應用。請參閱相關文檔,例如,創(chuàng)建與Azure邏輯應用集成的函數。

隨著時間的推移,Power Automate、邏輯應用和Functions之間的集成會不斷改進??梢栽谀撤罩袠嫿ㄒ恍╉?,并將其用于其他服務。

立即登錄,閱讀全文
版權說明:
本文內容來自于Microsoft Azure,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家