Serverless Workflow 項目

維基百科對工作流的定義是:對工作流程及其各操作步驟之間業務規則的抽象、概括描述。我們認爲工作流的主要職責是:

  1. 保證結果一致性,提高容錯性要求:對錯誤重試,捕獲,執行回滾或補償邏輯

  2. 爲長時間運行的流程維護持久化狀態,保證任務調度可靠性

  3. 控制邏輯和任務邏輯解耦:細化責任,便於管理、維護和擴展

  4. 流程控制中心化、可視化:增強進度可觀測性,簡化來自不同背景人羣的交流

  5. 模板方式定義控制邏輯和任務依賴:減少重複工作,統一流程描述標準

工作流通常適用於有狀態的(stateful),異步 (async),長時間執行(long running)等特性的業務場景。其中比較典型的場景包括:

  1. 視頻,音頻,圖片處理工作流

  2. 訂單、審批流程

  3. 數據處理流水線

  4. 自動化運維

  5. 機器學習流水線、基因測序工作流

常見的開源工作流服務軟件如 Apache Airflow,Activiti,Flowable,Netflix Conductor 等提供了使用代碼,DSL 或是 BPMN 這類標準的工作流描述方式,允許開發者自己搭建工作流服務。不同雲服務廠商也提供了各自的工作流服務如 AWS Step Functions, AWS Simple Workflow Service,Azure Durable Functions。那麼有沒有一個雲原生的工作流服務呢?

Serverless Workflow 項目由 CNCF(Cloud Native Computing Foundation,雲原生計算基金會)託管。它的引擎是用 c# 實現的,思想非常不錯,社區有人在用 c# 做雲原生項目。有關誰參與以及 Serverless Workflow 扮演角色的詳細信息,請閱讀 Serverless Workflow 的建議書:

https://github.com/cncf/toc/blob/master/proposals/serverlessworkflow.md

網站 / 代碼:

http://serverlessworkflow.io/

https://github.com/serverlessworkflow

文檔:

https://github.com/serverlessworkflow/specification

https://github.com/serverlessworkflow/specification/wiki

錯誤和功能請求:

https://github.com/serverlessworkflow/specification/issues

即時交流:

https://slack.cncf.io / 的 #serverless-workflow 頻道

郵件列表:

https://lists.cncf.io/g/cncf-wg-serverless

訂閱郵件列表,也可以發電郵到:

cncf-wg-serverless+subscribe@lists.cncf.io

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/b8Fey0jBVvGAf56e3z5dcA