Apache DolphinScheduler 的持续集成方向实践

今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点:

  • 研发效能

  • DolphinScheduler CI/CD 应用案例

  • DolphinScheduler 平台下的Serverless 理念

  • 基于DolphinScheduler DAG 搭建 CI/CD 流水线的解决方案

  • 模块化组装方案的实践案例

  • 为什么选择 DolphinScheduler

1 研发效能

效率竖井

  • 由局部优化导致,表现为:各个环节和部门繁忙而“高效”,但总体的效率和响应速度却很低。它是研发效能提升的普遍症结所在。(参照:https://developer.aliyun.com/article/687237)

基本介绍

  • 一个组织持续快速交付价值的能力,可以从流动效率、资源效率和质量三个方面来衡量。其中流动效率是改进研发效能的核心抓手,它带来系统和全局的改进。

持续集成支撑平台

  • 稳定任务平台 - DS

  • 可以支持DIY - 脚本

  • 可以自定义流程组装逻辑 - DAG

三要素

  • 准确(质量)

  • 快速(流动+资源)

  • 持续(流动+资源)

人员关系

  • DevOps:开发人员&测试人员&产品经理

平台要求

  • 平台易用性、门槛

  • 流程的模块化

  • 一个改动即使生效

  • 集成测试的模块化

维基百科:DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

支撑平台的效能

可定制化

    • 降低定制门槛 – 脚本

灵活组装

    • 减少写选择逻辑的可能

快速尝试

    • 复制

    • 删除

    • 增加

2 DolphinScheduler CI/CD 应用场景

场景:

  • 集群规模:16台(6master/10worker)

  • 每日任务量:task 级别 – 4000+

  • 新品-CICD铺设周期:< 0.5 天

  • 成品质量提高:80%+(降低线上事故)

  • 使用人物:开发、测试、管理者

3 DolphinScheduler 平台下的Serverless 理念

Serverless 无服务架构

  • 通过将复杂的服务器架构透明化,使开发者专注于“要做什么”,从而强调了减少开发者对服务器等计算资源的关注、工作粒度从服务器切换到任务的思想

Faas 方法即为服务 – OpenFaaS

4 基于DS DAG 搭建 CI/CD 流水线

脚本即为服务 – 脚本设计方式

  • 单一职责:只做一件事

  • 解耦:不过分依赖其他模块

  • 可配置参数:可以使用全局参数,或者从配置服务中读取参数

  • 自检结果:脚本执行结果,就是这件事的结果

脚本即为服务 – 通用性脚本介绍

  • 克隆代码

  • 镜像编译

  • 服务部署

  • 特定环境准备

  • 容器运行脚本

  • 包含特定场景的业务脚本

5 模块化组装方案的实践案例

基于DS DAG 搭建 CI/CD 流水线

  • 单模块持续集成配置方式

  • 关键字

    • 系统变量

  • 全局变量

  • 局部变量

  • 模板嵌套

  • 多模块单模块持续集成配置方式

6 为什么选择 DolphinScheduler

  • 支持UI 操作 - 编辑流程

  • DAG 

  • 学习成本、教育成本

  • 社区文档

  • Java 生态

下面视频是分享演讲: 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值