《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——二、Dataphin 演进之路:产品大图及核心功能详解——(二)研发:集成、建模、发布、运维(3) https://developer.aliyun.com/article/1229662?groupCode=dataphin
3. 发布中心:生产和开发隔离模式下的保护伞
在数据权限管控严格的研发流程下,常常会使用生产开发环境隔离的研发模式。Dataphin 支持创建成对存在、互相关联的生产开发模式项目(Dev-Prod 项目)。
项目中,研发人员通常需要完成代码编写、任务基础属性和调度属性配置、并基于开发环境的数据执行补数据测试,通过后再将任务提交至发布中心。
发布审核人员接到发布申请后,结合任务配置详情评估是否配置合理,是否存在数据生产风险等,之后执行发布操作。发布成功的任务会在生产环境中生效并调度运行,而发布失败的任务不会更新至生产项目,以此实现开发和生产项目的数据隔离,保证数据质量。
1) Dataphin 发布中心能力概述
若由发布人员对每个任务进行人工审核,工作量大且容易遗漏,对研发效率产生较大影响。那么理想的发布流程会是什么形式呢?
Dataphin 发布中心提供了待发布任务概览、批量发布、基于系统规则的自动审核、发布记录概览、发布详情查看、发布失败原因提示及一键重新发布等功能。同时,管理中心的发布管控功能,可以自定义审核规则和策略,以满足个性化需求场景。发布人员只需评估哪些任务需要上线生产环境,批量勾选并一键执行发布即可,大大缩短了操作路径,并从系统角度提供了全面保障。
a) 待发布对象列表
在待发布对象列表页面,记录当前项目已提交待发布的规范建模、数据处理和管道脚本数据对象。发布成功的数据对象将从待发布对象列表移除,并在发布记录列表中生成一条发布成功的记录。发布失败的数据对象将重新被记录在待发布对象列表,同时在发布记录列表中生成一条发布失败的记录,可以查看每条发布记录的发布详情。
• 待发布对象列表概览:列表记录了对象名称、对象类型、调度节点 ID、最近一次提交发布的版本号、本次提交变更类型、提交人及提交时间等信息。发布审核人员可以基于这些基本信息,初步评估任务变更情况,作为判断是否需要发布的依据。
• 提交详情及提交记录查看:支持查看每个对象当前最新提交的版本详情及历史的提交记录,发布人员可以基于详情信息进一步评估发布该对象对生产项目可能产生的变更影响。
• 移除及跳转编辑待发布对象:如果任务提交后需要再次变更,为了防止变更前的内容被提前发布影响生产环境数据,可以主动移除发布对象,并在修改完成后再次提交发布。
• 发布及批量发布:确定可以发布后,可以针对单个对象执行发布,也可以批量选中多个对象一次性发布。
b) 发布系统校验规则
不同发布对象有不同的校验规则。以 SQL 代码任务为例,会进行如下校验:
• 上游依赖配置的正确性。
• 节点输出名称是否唯一。
• 代码中引用的资产对象是否有相应权限。
• SQL 语法是否正确。
• 发布执行是否正常。
每个对象只有所有系统校验规则均通过,才能发布成功,否则会在发布详情弹框进行错误提示,引导需要执行的下一步操作,如申请权限、修改代码逻辑等等。
c) 发布记录列表
发布记录列表页面记录了每一次发布的详情及发布结果:
• 发布记录概览:发布记录列表展示了每一次发布的执行详情,包括发布名称、发布对象、对象类型、发布版本、发布的变更类型、发布人及发布时间、发布状态等。
• 发布详情查看:针对每条发布记录,可以查看发布详情,评估是否符合预期;尤其是发布失败的任务,在发布详情会给出失败原因提示,发布人员可以根据提示信息联系相关开发修改后重新发布。
• 发布失败日志查看及一键重新发布:发布失败的对象,可以点击查看发布详情,发布详情中可以查看本次发布的日志记录,以获取更多的报错信息指导下一步操作。
• 发布管控:如果使用了变更管控中的发布管控功能,此处还会进行发布管控规则的校验,发布详情中会展示命中的管控规则及校验结果,针对校验失败的,还会展示在管控规则中配置的说明文案,以提醒发布人员。
发布作为生产开发隔离的研发模式中必经的一道环节,为生产数据的正确性和生产环境稳定性提供了移到前置保障,可以减少人工操作失误或流程不规范引发的问题,降低了对生产业务产生影响的可能性,为数据建设撑起一道保护伞。
《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——二、Dataphin 演进之路:产品大图及核心功能详解——(二)研发:集成、建模、发布、运维(5) https://developer.aliyun.com/article/1229660?groupCode=dataphin