無伺服器Serverless將變革工作流BPM

banq發表於2018-08-23
無伺服器是基於事件驅動的,那麼是不是無伺服器只能用來實現事件驅動呢?當需要以低延遲來處理資料流時,函式程式設計、事件流和事件源是這項任務的最佳選擇工具。

但是,只有少數解決方案才能採取真正的事件溯源Event sourcing,並實現“事件回放”。更常見的方案則是比較簡單:按照特定順序對函式和API端點進行一系列呼叫,在呼叫之間傳遞資料,並儲存狀態。如果錯誤地將基於事件的程式設計正規化應用於這些簡單問題反而使得解決方案複雜化,難以推理,難以除錯,並且經常導致反模式,例如將呼叫順序和狀態轉換邏輯放在函式程式碼中。

而工作流解決方案就非常適合這種情況,因為它們擅長三個關鍵需求:協同邏輯;在任務之間傳遞資料;並保持清晰,透明的執行狀態。

在無伺服器中,工作流不會取代基於事件架構EDA,而是在它們適合的地方進行補充。一個典型的無伺服器+事件溯源的例子 - Nordstrom 的“Hello Retail”,這是使用工作流來協調邏輯順序和儲存大部分狀態的。

毫不奇怪,所有三大雲都急於引入Workflow作為一種服務提供。

Microsoft Azure首先推出LogicApps,它是利用Workflow Foundation, System Center Orchestrator和Powershell Workflows挖掘其在工作流管理方面的專業知識,微軟LogicApps創新地實現了之前所謂的不可能,吸引了開發人員和非開發人員。它有一個圖形化的工作流編輯器,並得到以程式設計師正規化定義的基於JSON的工作流定義語言的支援,但具有更強大的功能,可以在任務之間傳送資料,更不用說有150個隨時可用的聯結器可與“一切”整合。

亞馬遜跟進推出了StepFunctions,放棄了以前所謂的簡單工作流服務。急於上市導致了較差的運營經驗:例如在修改工作流程時會丟失歷史執行記錄等,但它的基礎亞馬遜狀態語言是堅實的、簡單的。具有出色的資料引用功能和豐富的錯誤處理功能,包括重試和捕獲。簡單性需要權衡:它不支援高階工作流模式,如分支和join,只支援順序和並行邏輯。

谷歌終於也加入了,放棄了“not invented here”的態度,並採用其開源AirFlow工作流程引擎,用於其Google雲平臺產品和Cloud Composer(這個名稱讓人想起Extreme Workflow Composer,這是另一個基於OpenStack Mistral的工作流程自動化工具)。AirFlow長期以來一直得到工作流專家的良好評價,它使用Pythonic領域特定語言(DSL)進行工作流定義,圍繞有向無環圖(DAG)的良好架構,基於操作和掛鉤提供可擴充套件性,以及使用XCom,這是Google的跨任務通訊設施的暱稱。你可以在此處找到AirFlow概念的概述

還有一些新的較小的工作流程專案,如來自Fn專案的Flow,或來自我們自己的StackStorm的Orquestra。

如您所見,這些工作流引擎在工作流原語、操作方便性、可呼叫型別以及擴充套件性、容易程度方面存在很大差異。存在許多微妙的方式不同。但是它們有一個共同點:它們被用於連線無伺服器架構。當談到無伺服器時:透過一些開發努力和獨創性,使用它們都可以完成工作。值得關注的兩個小塊 - 定價和對我們的架構的影響。

當解決方案利用某些工作流功能時,或者在缺乏if的情況下工作時,對架構的影響就會體現出來。例如,LogicApps支援帶有'for_each'關鍵字的“多例項資料”工作流模式,因此可以在工作流級別處理資料陣列。StepFunction不支援它,它將處理陣列的責任推到了你自己的解決方案級別,或者直接進入Lambda函式。

讓我們面對現實:儘管工作流程產品存在功能差異,但優點和缺點 - 甚至是定價 - 都不會成為你選擇雲提供商的決定性因素。恰恰相反:你可能會選擇的雲中的工作流服務WFaaS,享受專業人士服務並汲取利弊,就像我們一直使用PaaS一樣。除非你想反叛並按自己的方式行事,否則它適用於任何雲,甚至是雲端。

Multicloud?
多雲是否會成為現實?有人說它已經存在了,但是,從不同的雲帳戶到生產跨雲解決方案,充分利用最佳雲服務還有很長的路要走。無伺服器是將服務和平臺粘合在一起的一種方式,但單靠FaaS是不夠的。

為了滿足需求,Serverless.com推出了Event Gateway,以促進事件溯源發展,促進跨雲無伺服器解決方案。就是這種解決方案成為現實了,我相信還有一個跨雲的工作流即服務的發展空間,這樣才能在需要時提供簡單的流程編排和狀態管理。如果真的會成為現實,Gartner會將其稱為XCloud WFaaS。



Serverless and Workflows: The Present and the Futu

相關文章