【反哺开源】我们计划把“这个”商业化功能贡献给Apache DolphinScheduler

今年,白鲸开源计划将Gitops功能反馈贡献给Apache DolphinScheduler社区,这个功能主要解决了开发、生产环境的同步问题。

在没有这个功能之前,我们只能通过导入导出的方式,以 JSON 文件作为媒介将开发环境的内容同步到生产环境,这个方式会面临两个问题。

  • 需要手动、或者自定义自动化脚本处理:Apache DolphinScheduler没有提供开箱即用的同步两个环境的方法,只能依靠用户手动的导入导出。或者用户需要自定义自动化脚本,将开发环境的内容同步到生产
  • 不支持跨项目导出:JSON导入导出是在项目维度下进行的,跨项目的导入导出不支持,意味着如果有多个项目的环境,需要进行多次操作

白鲸开源发现这个功能的优化点,分析调研后发现GitOps是解决这个问题的可能方案,所以我们在内部实现了GitOps用来同步开发生产环境,从而实现工作流部署。

什么是 Git Ops?

GitOps 是一种基于版本控制系统(通常是Git)的持续交付(Continuous Delivery)和基础设施管理的方法。

它的核心理念是将整个系统的状态和配置存储在版本控制库中,通过Git的特性实现对系统的自动化管理和持续交付。以下是GitOps的一些关键特点和优势:

  • Infrastructure as Code: GitOps强调使用代码来描述和管理基础设施。通过在版本控制库中存储基础设施代码,可以轻松地重建、复制和修改整个环境。
  • 声明性配置: 使用声明性配置,定义系统的期望状态而非详细的执行步骤。这样,GitOps系统可以自动比对实际状态与期望状态,并进行调整以使其一致。
  • 自动化: GitOps强调自动化,通过Git中的提交和合并触发自动化流程,减少人工干预,提高可靠性和可重复性。
  • 版本控制: 使用版本控制系统进行配置管理,提供了可追溯性和回滚能力。每个系统变更都通过Git提交,使得可以轻松回溯到先前的配置状态。
  • 观察和监控: GitOps系统通常具备观察和监控的能力,通过实时监测Git仓库的变更来驱动持续交付流程。

我们计划做什么?

我们在配置中心实现了GitOps和Apache DolphinScheduler的集成,用户仅需要在配置中心配置了Git供应商的链接,系统中集成了Commit提交、分支推送、以及部署的功能。

简单的讲就是用户可以通过点击图形化界面中的一个按钮,实现生产环境到开发环境的部署.

Git操作流程
产品设计流程

白鲸开源已在内部实现了GitOps与Apache DolphinScheduler的深度集成,通过简化的配置,用户可以轻松实现开发与生产环境的快速同步。此功能的引入不仅提升了环境部署的效率,也加强了系统的安全性和可追溯性。

展望未来,白鲸开源科技在2024年计划将这一功能贡献给Apache DolphinScheduler社区,以期为更广泛的用户解决环境同步的挑战,推动社区的技术发展和创新。我们相信,通过社区的共同努力,可以不断优化和完善工作流调度和管理,为用户提供更加高效、可靠的解决方案。

本文由 白鲸开源科技 提供发布支持!

相关推荐
拓端研究室TRL3 小时前
【梯度提升专题】XGBoost、Adaboost、CatBoost预测合集:抗乳腺癌药物优化、信贷风控、比特币应用|附数据代码...
大数据
黄焖鸡能干四碗3 小时前
信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
大数据·人工智能·软件需求·设计规范·规格说明书
编码小袁3 小时前
探索数据科学与大数据技术专业本科生的广阔就业前景
大数据
WeeJot嵌入式4 小时前
大数据治理:确保数据的可持续性和价值
大数据
zmd-zk5 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka
激流丶5 小时前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
测试界的酸菜鱼5 小时前
Python 大数据展示屏实例
大数据·开发语言·python
时差9535 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
Mephisto.java5 小时前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
Mephisto.java5 小时前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database