函數(shù)工作流
函數(shù)工作流(Function Flow,簡稱 FnF)是一個用來協(xié)調(diào)多個分布式任務(wù)執(zhí)行的全托管 Serverless 云服務(wù),致力于簡化開發(fā)和運行業(yè)務(wù)流程所需要的任務(wù)協(xié)調(diào)、狀態(tài)管理以及錯誤處理等繁瑣工作,讓用戶聚焦業(yè)務(wù)邏輯開發(fā)。用戶可以用順序、分支、并行等方式來編排分布式任務(wù),F(xiàn)nF 會按照設(shè)定好的順序可靠地協(xié)調(diào)任務(wù)執(zhí)行,跟蹤每個任務(wù)的狀態(tài)轉(zhuǎn)換,并在必要時執(zhí)行用戶定義的重試邏輯,以確保工作流順利完成。
產(chǎn)品優(yōu)勢
協(xié)調(diào)分布式組件
FnF 能夠編排不同基礎(chǔ)架構(gòu)、不同網(wǎng)絡(luò)、不同語言編寫的應(yīng)用,抹平混合云、專有云過渡到公共云或者從單體架構(gòu)演進(jìn)到微服務(wù)架構(gòu)落差。
減少代碼量
FnF 能幫您管理應(yīng)用程序的邏輯,支持多種控制原語,例如順序,分支,并行等,盡量減少您在業(yè)務(wù)中實現(xiàn)重復(fù)的編排代碼。
提高容錯性
FnF 為您管理流程狀態(tài)、設(shè)置檢查點和流程重啟,以確保您的應(yīng)用程序按照預(yù)期逐步執(zhí)行。內(nèi)置? try/catch、重試和回滾功能可以自動處理異常錯誤。
Serverless
FnF 根據(jù)實際執(zhí)行步驟轉(zhuǎn)換個數(shù)收費,執(zhí)行結(jié)束不再收費,F(xiàn)nF 自動擴(kuò)展讓您免于管理硬件預(yù)算和擴(kuò)展。
精心打造的功能
服務(wù)編排能力
FnF 可以幫助您將流程邏輯與任務(wù)執(zhí)行分開,支持多種控制原語,例如順序,分支,并行等,內(nèi)置錯誤重試和捕獲能力,節(jié)省編寫編排代碼的時間。
流程狀態(tài)管理
FnF 會管理流程執(zhí)行中的所有狀態(tài),包括跟蹤它所處的執(zhí)行步驟,以及存儲在步驟之間的輸入輸出。您無需自己管理流程狀態(tài),也不必將復(fù)雜的狀態(tài)管理構(gòu)建到任務(wù)中。
協(xié)調(diào)分布式組件
FnF 能夠協(xié)調(diào)在不同基礎(chǔ)架構(gòu)上,不同網(wǎng)絡(luò)內(nèi),以不同語言編寫的應(yīng)用。應(yīng)用不管是從私有云/專有云平滑過渡到混合云或公共云,或者從單體架構(gòu)演進(jìn)到微服務(wù)架構(gòu),F(xiàn)nF 都能發(fā)揮協(xié)調(diào)作用。
支持長時間運行流程
FnF 可以跟蹤整個流程,持續(xù)長時間執(zhí)行確保流程執(zhí)行完成。有些流程可能要執(zhí)行數(shù)個小時、數(shù)天、甚至幾個月等,例如運維相關(guān)的 Pipeline,郵件推廣流程等。
可視化監(jiān)控
FnF 提供可視化界面來定義工作流和查看執(zhí)行狀態(tài)。狀態(tài)包括輸入和輸出等。方便您快速識別故障位置,并快速排除故障問題。
運維全托管和按需付費
FnF 可以將運維人員從基礎(chǔ)設(shè)施維護(hù)解放出來,提供了安全的、高可用的、高容錯的和高持久的服務(wù)。用戶只需支付步驟轉(zhuǎn)換費用,不使用不產(chǎn)生費用。
領(lǐng)軍客戶實戰(zhàn)場景
多媒體文件處理場景
多任務(wù)編排,減少流程失敗率,提升多媒體吞吐量使用函數(shù)工作流可以幫助您將多個任務(wù),如轉(zhuǎn)碼,截幀,人臉識別,語音識別,審核上傳等,編排成一個完整的處理流程,通過函數(shù)計算提交媒體處理(IMM)任務(wù)(或自建處理器),產(chǎn)出一個符合業(yè)務(wù)需求的輸出。各任務(wù)的執(zhí)行錯誤異??梢员豢煽康闹卦?,大大提升多媒體任務(wù)處理吞吐量。
能夠解決
多任務(wù)編排
流程中如轉(zhuǎn)碼,截幀,人臉識別,語音識別,審核上傳等步驟的編排。
解決流程失敗問題
系統(tǒng)會對任務(wù)的執(zhí)行錯誤異常進(jìn)行多次重試

基因數(shù)據(jù)處理場景
簡化大規(guī)模計算編排,優(yōu)化成本,縮短流程總時長函數(shù)工作流可以將多個批量計算分布式作業(yè)串聯(lián)或并行編排,可靠地支持執(zhí)行時間長、并發(fā)量大的大規(guī)模計算。如基因數(shù)據(jù)分析中將基因序列對齊,將所有染色體并行做變異分析,最終將各染色體數(shù)據(jù)聚合產(chǎn)出結(jié)果。函數(shù)工作流根據(jù)指定的依賴關(guān)系提交不同CPU/內(nèi)存/帶寬規(guī)格的批量計算作業(yè),提升執(zhí)行可靠性,提高資源利用率,優(yōu)化成本。
能夠解決
簡化大規(guī)模計算編排
FnF 可以將多個批量計算分布式作業(yè)串聯(lián)或并行編排,同時支持執(zhí)行時間長、并發(fā)量大的計算。
縮短流程總時長
根據(jù)任務(wù)依賴關(guān)系提交不同的規(guī)格批量計算作業(yè),提升并行執(zhí)行可靠性。

數(shù)據(jù)處理流水線場景
可靠調(diào)度海量計算資源,個性化編排大數(shù)據(jù)處理任務(wù)使用函數(shù)工作流可以快速搭建一個高可用的數(shù)據(jù)處理流水線。比如,來自不同數(shù)據(jù)源的計量數(shù)據(jù)被收集到日志服務(wù),函數(shù)計算的定時器每小時觸發(fā)函數(shù)工作流,函數(shù)工作流利用函數(shù)計算對多個Shard的計量數(shù)據(jù)做并行處理,并將結(jié)果分別寫回日志服務(wù)服務(wù);然后可以將所有Shard產(chǎn)生文件進(jìn)行聚合,寫入表格存儲,最后為每個用戶生成賬單。函數(shù)工作流支持對流程中的單個步驟失敗進(jìn)行重試,降低流程失敗概率。函數(shù)工作流支持動態(tài)并行任務(wù)執(zhí)行,實現(xiàn)數(shù)據(jù)處理能力的高可擴(kuò)展性。
能夠解決
解決并發(fā)執(zhí)行問題
FnF 支持動態(tài)并行任務(wù)執(zhí)行,實現(xiàn)數(shù)據(jù)處理能力的高可擴(kuò)展性。

自動運維場景
提升運維效率和可靠性,流程進(jìn)度可視化界面。
自動化運維常見有步驟繁瑣時間長短不一,單機(jī)腳本可靠性低,依賴復(fù)雜等常見的挑戰(zhàn),另外進(jìn)度無法可視化。函數(shù)工作流+函數(shù)計算的流程可以很好地應(yīng)對這些挑戰(zhàn)。例如自動化的軟件部署從構(gòu)建Docker容器,上傳容器鏡像,開始并追蹤各節(jié)點下拉鏡像并啟動新版本鏡像的容器,每一步函數(shù)產(chǎn)生的日志會被保存到日志服務(wù) 可供查詢分享?;诤瘮?shù)工作流的自動化工比較單機(jī)運維腳本具有高可用,自帶的錯誤處理機(jī)制和進(jìn)度圖形化的特點。
能夠解決
解決流程進(jìn)度可視化問題
自動化運維步驟繁瑣時間長短不一,單機(jī)腳本可靠性低,依賴復(fù)雜等常見的挑戰(zhàn),另外進(jìn)度無法可視化。

