何時該使用 Azure Logic Apps
我們會在此說明如何決定 Azure Logic Apps 是否為您案例的適當選擇。 讓我們從列出一些準則開始,指出 Azure Logic Apps 是否符合您的效能和功能目標。
決策準則
Azure Logic Apps 有助您協調通過不同系統的資料流程。 如果案例包含即時需求、複雜的商務規則,或使用非標準服務,則不建議選擇 Azure Logic Apps。 以下提供上述每個涉及因素的部分討論內容。
係數 | 描述 |
---|---|
整合 | 考慮 Azure Logic Apps 時的關鍵問題是:「我需要整合服務嗎?」當您需要讓多種應用程式和系統一起運作時,Azure Logic Apps 可發揮極佳效益。 如果您要建置的應用程式不需要外部連線,那 Azure Logic Apps 可能就不是最佳選擇。 |
效能 | 下一個考量為效能。 Azure Logic Apps 執行引擎會自動調整您應用程式的規模。 Azure Logic Apps 能夠並行處理大型資料集,讓您可以實現高輸送量。 但是,服務並不保證能達到超快速啟動或在執行時間強制實施即時限制。 如果您需要低次秒回應時間,則 Azure Logic Apps 可能不是最佳選擇。 |
控制 | Azure Logic Apps 提供一些控制建構如條件 (例如布林運算式、切換動作和迴圈),讓您的應用程式可以根據資料做出決定。 您可以在邏輯應用程式工作流程中建置高度複雜且深度巢狀的控制結構。 不過,您可能有兩個原因不想這麼做。 - 在程式碼中撰寫條件式邏輯通常比在工作流程設計工具中撰寫更加容易。 - 內嵌的商務規則並不容易與您其他的應用程式共用。 有些人喜歡直接在自己的邏輯應用程式工作流程中包含複雜商務規則。 其他人則認為比較簡單的方式是撰寫像 Azure 函式這樣的物件來封裝條件式邏輯,然後從所有其他應用程式叫用該函式。 |
連接器 | 最後一個考量是預建連接器是否針對您需要存取的所有服務或系統存在。 如果存在,您就可以開始了。 若不存在,您可能需要建立自訂連接器。 如果服務具備現有的 REST 或 SOAP API,您可以在幾小時內建立好自訂連接器,不需要撰寫任何程式碼。 如果沒有,您需要先建立 API,再建立連接器。 |
套用準則
當您將多個服務與一些附加的控制邏輯整合時,Azure Logic Apps 可發揮最佳效益。 我們可以思考一下如何將這些準則套用至範例程序。
我們虛構的製鞋公司需要監視產業新聞、將舊影片移動到封存儲存體,並在線上銷售鞋子。 我們的目標是決定 Azure Logic Apps 是否是適合用來處理這些工作的備選方案。 為做出決定,我們會使用自己開發的下列四個準則分析每項工作:整合、效能、控制和連接器。 下表摘要呈現結果:
整合 | 效能 | 控制 | 連接器 | 使用 Azure Logic Apps 嗎? | |
---|---|---|---|---|---|
新聞監視器 | 整合多個服務 | 不需要近即時的低延遲 | 一個條件簡單動作 | 內建連接器可供所有需要的系統使用 | Yes |
影片封存公用程式 | 只需要存取雲端儲存體這一項服務 | 不需要近即時的低延遲 | 兩個簡單條件動作 | 預建連接器可供所有需要的系統使用 | Yes |
直接在線上銷售 | 整合多個服務 | 不需要近即時的低延遲 | 多個複雜條件 | 需要多個自訂連接器 | 可能 |
此分析會產生一些值得考慮的有趣內容:
影片封存工作是非常適用 Azure Logic Apps 執行的工作,即便工作不會整合多個系統。
Azure Logic Apps 具備內建計時器觸發程序和 Azure Blob 儲存體連接器,非常適合實作此程序。
線上銷售程序可能會包含複雜的商務邏輯。
例如,我們可能會依據購買金額制定不同的核准程序,或依據出貨目的地採用不同的貨運公司。 Azure Logic Apps 可輕鬆地處理這些狀況。 我們只需要選擇是否要在應用程式中內嵌這些商務規則。
線上銷售程序可能會使用預建和自訂連接器的組合。
我們可以將預建連接器用於電子郵件通知和資料庫存取,但可能需要自訂連接器來與付款處理服務通訊。
對於所有工作,Azure Logic Apps 都會有良好效能。
某些工作可能會處理大量資料,但 Azure Logic Apps 可自動調整規模以處理高輸送量或尖峰需求。 這些工作都不需要低延遲的回應時間。 若要讓這個層面成為問題,我們需要有近即時的需求。
Azure Logic Apps 可以處理所有這些工作,而線上銷售程序是我們想要權衡所有選項的唯一工作。 如果我們有資源來建置所需的自訂連接器,Azure Logic Apps 是不錯的選擇。
指導方針摘要
以下的流程圖摘要說明在考量是否使用 Azure Logic Apps 時,應該要問的關鍵問題。