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

  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. 震撼,java面试题整合(良心制作)11万多字拿去。持续更新【可以收藏】

    一.javaSE面试题整合 Java部分 JDK中哪些类是不能继承的?[信雅达面试题] [参考答案] 不能继承的是类是那些用final关键字修饰的类.一般比较基本的类型或防止扩展类无意间破坏原来方法的 ...

  2. netty系列之:从零到壹,搭建一个SOCKS代理服务器

    目录 简介 使用SSH搭建SOCKS服务器 使用netty搭建SOCKS服务器 encoder和decoder 建立连接 ConnectHandler 总结 简介 上一篇文章,我们讲到了netty对S ...

  3. 求最大公因数和最小公倍数(C++实现)

    求两个正整数之最大公因子的算法(辗转相除法) 最大公约数是指能同时整除它们的最大正整数 基本原理:两个数的最大公约数等于它们中较小的数和两数之差的最大公约数. 就如有 a = 122, b =  54 ...

  4. 来自MyBatis不一样收获结果的探索之旅-v3.5.9

    概述 定义 MyBatis官网 https://mybatis.org/mybatis-3/ 最新版本为3.5.9 MyBatis是一个的ORM框架,支持自定义SQL.存储过程和高级映射.MyBati ...

  5. python 自动化测试框架unittest与pytest的区别

    前言: 有使用过unittest单元测试框架,再使用pytest单元测试框架,就可以明显感觉到pytest比unittest真的简洁.方便很多. unittest与pytest的区别: 主要从用例编写 ...

  6. Jenkins_忘记管理员密码的处理方法

    1.查看jenkins配置存放目录 2.修改config.xml的useSecurity的true为flase 3.重启jenkins服务 4.进入jenkins,不输入密码直接就进入了jenkins ...

  7. Centos更换阿里云源

    1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base ...

  8. 理解闭包--js面向对象编程

    什么是闭包? 先看一段代码: function a(){ var n = 0; function inc() { n++; console.log(n); } inc(); inc(); } a(); ...

  9. Servlet初级学习加入数据库操作(二)

    源代码地址:https://url56.ctfile.com/f/34653256-527822631-2e255a(访问密码:7567) 将页面中的数据逐步替换为数据库管理 准备一个连接数据库的类 ...

  10. Word2010制作倒福字

    原文: https://www.toutiao.com/i6489772955797553677/ 选择"插入"选项卡,"插图"功能组,"形状&quo ...