维基百科对工作流的定义是:对工作流程及其各操作步骤之间业务规则的抽象、概括描述。我们认为工作流的主要职责是:

  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

Serverless Workflow项目的更多相关文章

  1. 基于serverless快速部署前端项目到腾讯云

    腾讯云 COS 组件,可以快速部署静态网站页面到对象存储 COS 中,并生成域名供访问. 安装 首先要安装 serverless 组件 npm install -g serverless 在项目的根目 ...

  2. 暑期 2021 | Serverless Devs 最全项目申请攻略来啦!

    Serverless 是近年来云计算领域热门话题,凭借极致弹性.按量付费.降本提效等众多优势受到很多人的追捧,各云厂商也在不断地布局 Serverless 领域.但是随着时间的发展,Serverles ...

  3. Serverless 如何在阿里巴巴实现规模化落地?

    作者 | 赵庆杰(卢令) 来源 | Serverless 公众号 一.Serverless 规模化落地集团的成果 2020 年,我们在 Serverless 底层基建上做了非常大的升级,比如计算升级到 ...

  4. 《WF in 24 Hours》读书笔记 - Hour 2(1) - 第一个Workflow程序

    创建第一个Workflow项目 1. 创建Workflow项目 – 选择Workflow Console Application 2. 添加CodeActivity 3. 打开CodeActivity ...

  5. Serverless + Egg.js 后台管理系统实战

    本文将介绍如何基于 Egg.js 和 Serverless 实现一个后台管理系统 作为一名前端开发者,在选择 Nodejs 后端服务框架时,第一时间会想到 Egg.js,不得不说 Egg.js 是一个 ...

  6. Serverless 的开发者工具建设

    本文将介绍 Serverless 生态下的开发者工具,并简述这些工具是如何贯穿开发.调试.测试和部署的生命周期,提升开发者效率的. 由于 Serverless 平台具备弹性扩缩.免运维.按需付费等特点 ...

  7. Kubernetes 两步验证 - 使用 Serverless 实现动态准入控制

    作者:CODING - 王炜 1. 背景 如果对 Kubernetes 集群安全特别关注,那么我们可能想要实现这些需求: 如何实现 Kubernetes 集群的两步验证,除了集群凭据,还需要提供一次性 ...

  8. Serverless 在大规模数据处理的实践

    作者 | 西流 阿里云技术专家 前言 当您第一次接触 Serverless 的时候,有一个不那么明显的新使用方式:与传统的基于服务器的方法相比,Serverless 服务平台可以使您的应用快速水平扩展 ...

  9. 阿里云研究员叔同:Serverless 正当时!

    作者 | 叔同 导读:Serverless 将开发人员从繁重的手动资源管理和性能优化中解放出来,就像数十年前汇编语言演变到高级语言的过程一样,云计算生产力再一次发生变革.Serverless 的核心价 ...

随机推荐

  1. MyEclipse编写jsp很卡的修改方法 (转载)

      原文来源   Post IP : 180.156.210.*       1,改默认编辑模式就可以了.将默认编辑器由"myeclipse visual jsp designer" ...

  2. Chapter 11 Why Model ?

    目录 11.1 Data cannot speak for themselves 11.2 Parametric estimators of the conditional mean 11.3 Non ...

  3. Cython编译动态库、引用C/C++文件

    将某些.py 编译成动态库 设置好要编译的module们: compile_to_c_modules = [ 'package.module' ] 将它们转换成cythonize可识别的参数: def ...

  4. [opencv]approxDP多边形逼近获取四边形轮廓信息

    #include "opencv2/opencv.hpp" #include <iostream> #include <math.h> #include & ...

  5. Java初学者作业——分别计算两个整数加、减、乘、除的结果并显示,要求除法保留两位小数。

    返回本章节 返回作业目录 需求说明: 分别计算两个整数加.减.乘.除的结果并显示,要求除法保留两位小数. 实现思路: 接收用户控制台输入的两个整数. 实现两个整数的加.减.乘.除的运算并输出结果. 除 ...

  6. WinForm应用程序的开机自启、记住密码,自动登录的实现

    一.思路: 1.开机自启,自然是需要用到注册表,我们需要把程序添加到电脑的注册表中去 2.记住密码,自动登录,开机自启,在页面的呈现我们都使用复选框按钮来呈现 3.数据持久化,不能是数据库,可以是sq ...

  7. Eclipse设置代码格式化使用空格代替TAB

    Java格式设置 打开Window-Preferences,找到Java-Code Style-Formatter,点击图片中的New.. 给配置起一个名字后,修改配置,找到 Indentation, ...

  8. Xstart远程连接Linux图形用户界面

    目标: 在自己的Windows桌面打开Linux的firefox浏览器 工具: Windows: Xmanager的Xstart工具 Linux: xterm,firefox 说明: 使用Xstart ...

  9. 图像数据到网格数据-3——实现Cuberille算法

    前言 这是本博客网格生成算法系列的第三篇,第一篇里面介绍了最为流行的MarchingCubes算法,第二篇中使用新三角形表来对MC算法进行了简化改进,形成了SMC算法.而这篇将介绍一种新的不同与MC算 ...

  10. Java 设置系统参数和运行参数

    系统参数 系统级全局变量,该参数在程序中任何位置都可以访问到.优先级最高,覆盖程序中同名配置. 系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格 ...