前言
本文从企业建设大数据平台背景出发,介绍DataOps 概念目标和体系化实践建议,给企业大数据平台建设和优化提供一些借鉴。
背景
近年来,数据平台在企业数字化转型过程起着越来越重要的作用,给企业的战略分析和业务推动带来强有力的数据支撑,可以快速、高质量地提供数据服务,从而实现数据价值。
然而随着企业对数据集成和分析的需求不断增长,数据源种类多,数据工具和架构复杂,对数据平台的能力要求也越来越高。
落地大数据平台组件及处理方式也越来越繁杂,这对维护大数据稳定和持续接入新的数据需求带来了挑战,数据团队应持续优化数据平台架构和开发流程,以满足企业数据集成周期短,数据质量高的需求。
DataOps 介绍
Dataops也是在此背景下应运而生,它是一组包含人、流程和技术的体系,管理着代码、工具、基础设施和数据。
它借鉴Devops 的敏捷开发和持续集成思想,持续优化Data Pipeline,加速数据处理和分析的周期,提供安全合规的高质量数据服务。
这里可以简要提下DevOps 、DataOps 和 MLOps 之间的关系
如图上所示,三者都是基于敏捷思想,自动化地持续迭代高质量的交付物。
DevOps 的交付物是以应用为中心的服务,DataOps 的交付是数据产品或服务,而MLOps的交付是数据模型。
DataOps 价值体现
DataOps 依附于大数据平台整个生命周期,分别在规划期、实施期和运营期给企业挖掘数据价值带来巨大推动作用。
DataOps 规划期
目的:结合企业数字化进程、当前数据平台架构和述求进行深度定制,设计规划可扩展易维护的大数据平台架构。
以DataOps 为切入点,实施以下活动:
- 结合源系统和业务分析需求,review 数据架构演进路线,识别风险点;如数据处理架构中单点问题,数据依赖和故障处理流程;
- 结合数据量存量与增量、处理频率等,规划节点数量、配置和服务分布,使资源高效利用;
- 结合大数据平台架构选型和数据流,设计完整监控体系。
- 结合数据安全和合规性要求,设计规划包含data pipeline、平台运维和数据服务等相关的大数据平台安全体系
通过以上Actions,为企业构建大数据平台,提前识别风险,预留可扩展空间,给落地大数据平台,加速实现数据价值提供指导方向。
DataOps - 基础设施建设优化
众所周知,大数据平台的稳定可靠是加速数据价值实现的基石。在此阶段,Dataops 团队将提供大数据集群安装部署和优化调试服务,为数据开发保驾护航,提供稳定可靠的平台使用。
- 定制化安装部署大数据平台,联调各组件,验证可用性
- 关键组件高可用配置及验证
- 集群与依赖服务 监控告警配置
- 大数据组件 监控告警配置
- 组件配置调优(参数调优,日志策略等)
- 统一权限配置链路,端到端的数据安全实践
集群优化:
- 检查漏掉必要监控告警
- 日常巡检和月度报告
- 组件高可用和监控链路review
DataOps - Data Pileline
此阶段是大数据平台生命周期的重要价值体现,高效稳定的接入源系统,给企业带来数据价值。在此过程中DataOps 通过不断优化和管理代码、工具、基础设施和数据,逐步建立完善的Data Pipeline,加速数据价值落地过程。
上图展示了DataOps 的流程和相关技术,在不同的企业中,实现DataOps 流程所使用的工具和组件不尽相同。但基本目标是一致的,使Data Pipeline 可重用,自动化和高质量。
标准DataOps 流程的特性:
- 易扩展,可复用
- 统一的监控告警链路
- 数据质量校验
- 完善的异常处理流程
易扩展,可复用
DataOps 的源头是数据源系统,而终点是数据产品和服务。对大型企业来讲,数据源系统种类繁多,业务接入场景纷杂以及需求的数据产品和服务也不尽相同,这时候给Dataops 带来的挑战也较大,在实施DataOps 时需要考虑ETL 代码和工具流程上支持多种业务场景和需求,使之易扩展和可复用。
- 便捷的支持多种源系统类型的数据集成,缩短数据接入时间
- 数据平台提供的数据产品和服务易复用
- 支持多种环境(Local,Uat,Prod)开发测试和自动部署
统一监控告警
在任何Ops 流程中,监控和告警都是重要手段,对于DataOps 来讲,尤其必要。不同于应用开发,代码覆盖逻辑分支,在数据开发中需要更加关注数据情况,然而依然很难枚举和Cover 所有业务数据场景,因此完善的监控告警机制是DataOps 保障任务稳定和数据质量的强有力手段。
统一监控告警需要满足以下条件:
- 任务发布后自动接入持续监控,且可以配置自定义监控项(比如)
- 监控项:任务执行数据量,执行时长,任务状态,任务失败标签等
- 任务分级告警,发送漏斗警报,进入故障处理流程;告警前重试,及时处理
- 统一监控门户,汇总统计,做审计
异常处理流程
流程优化;每日值班;集群层面异常
- 任务失败可以触发异常响应流程
- 故障分级,故障报告和故障复盘
- 规范的日志汇集,完整清晰的troubleshooting路径
数据质量校验
质量问题特点:
- 数据部门晚于业务方发现数据异常,被投诉才发现问题
- 出问题后,数据部门无法快速定位数据异常的根源,排查用了较长时间
- 故障出现在数据加工链路的上游顶端,出现问题没有第一时间报警处理,导致问题修复时,所有下游链路的任务都要运行,修复时间成本高
质量问题根源:
- 业务源系统变更;表结构,源系统环境,约定的数据格式 变更
- 数据开发bug;任务发布,代码中引用的测试库未修改为线上库,导致污染线上数据;代码中使用固定分区;代码忽略异常,数据错误;配置异常,没有设置好依赖,输入数据不完整,下游数据产出错误;
- 物理资源不足;集群资源共享,多租户下资源分配协调问题。
- 基础设施不稳定。
针对数据质量问题,需要做到早发现早恢复。
为此,需要建立完善的数据质量校验体系:
- 业务数据探查,对齐业务认知,确定校验规则;
- 在数据处理过程中,设置好调度依赖和数据依赖,确保数据完整性和准确性;
- 数据产出,任务结束后对结果进行扫描计算,判断是否符合预期,根据提前设置强弱的检查规则,触发不同的处理流程。
DataOps 体系建设助力数据价值落地
解决数据平台实施的几个问题:
- 分布式大数据平台稳定性差 - 避免单点,及时监控与告警,架构调优;
- 数据质量问题频发 - 结合业务场景,提前做好质量探查、数据校验和监控告警;
- 数据开放,安全合规 - 集群安全设施、完整的权限流程和数据目录和自服务;
- 新手快速接入数据及数据处理 - 自动化、易扩展、可复用的Data Pipeline,统一的监控告警体系。
通过以上体系建设,可以让data pipeline 的开发更加严谨,可重用和自动化,可以加速数据集成、分析到数据价值体现的过程。
总结
本文介绍了dataops 的诞生背景、定义、目标使命与实践建议,dataops 是在数据平台落地、后续迭代和持续运营的最佳保障。
DataOps可以帮助数据团队从产生数据孤岛、数据积压和无休止的质量控制问题的环境中解脱出来,进入敏捷、自动化和加速的数据供应链环境,从而持续提效并为企业带来更多价值。
如还未在数据平台实施以上DataOps 体系实践的企业,可以考虑迭代优化自己的数据平台。
参考
DataOps: Adjusting DevOps for Analytics Product Development
Diving into DataOps: The Underbelly of Modern Data Pipelines