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

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

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

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

