近几年,DevOps的火热程度日渐高涨,同时涌现出了各种Ops,包括DevSecOps、GitOps、AIOps、NoOps、DataOps、MLOps、FeatureOps、ModelOps、FinOps等等。其中,对于企业来说,确保数据以高效和合规的方式使用,DataOps正变得至关重要。
什么是DataOps?
DataOps是“数据操作”的缩写,维基百科对 DataOps 的定义是:一种面向流程的自动化方法,由分析和数据团队使用,旨在提高数据分析的质量并缩短数据分析的周期。DataOps 的这一定义会随着时间的推移而变化,但其关键目标非常明确:提高数据分析的质量并缩短数据分析的周期。
在 2018 年 Gartner 发布的《数据管理技术成熟度曲线》报告中,DataOps 的概念被首次提出(图 1)。该报告指出,DataOps虽然可以降低数据分析的门槛,但并不会使数据分析变成一项简单的工作。与 DevOps 的落地一样,实施成功的数据项目也需要做大量的工作,例如深入了解数据和业务的关系、树立良好的数据使用规范和培养数据驱动的公司文化。当然,DataOps 将极大提高人们使用数据的效率并降低使用数据的门槛,公司可以更快、更早、更好地使用数据,且成本和风险更低。
为什么要实施DataOps?
随着数字化转型的普及和深入,企业生产、营销、运营等各环节中的数据将普遍被采集,数据应用开发需求增长与数据用户角色的复杂致使企业数据开发、数据运维工作量以及数据应用交付协调难度大大增加。海量数据的爆发式增长给数据价值挖掘带来了一系列的挑战:
- 数据孤岛阻碍数据的共享与统一:由于企业数字化建设前期认知不足,对缺少整体的系统规划,业务系统分散建设,不同部门数据标准缺乏统一的规范,导致数据解析困难,成本升高。
- 数据质量低各部门间数据协作困难:数据管理的技术支持不足,导致数据问题发现与整改不及时,无法保证数据质量;数据全生命周期缺少闭环管理,数据管理人员与数据生产者或使用者之间的协同困难,数据应用效能低。
- 单点自动化难以支撑整体效能提升:尽管企业在数据开发、数据治理等单个环节采购了相关的工具或平台,实现了局部的自动化,然而仅仅能解决表面问题,无法真正解决全局需求。难以建立覆盖所有业务的规范统一、集成互联的数据基础,从根本上消除数据孤岛,实现企业数据集成整合、全面共享应用,提升企业大数据能力。
DataOps作为一种新兴的数据管理方法,强调数据管理自动化,既能为数据工作者提供敏捷的数据开发支持,同时也简化了数据交付的周期,提升数据成产者与数据消费者的协同效率,成为企业数字化转型快速释放数据生产力的最佳方案。根据国际知名IT机构Gartner预测:“到2025年以DataOps实践和工具为指导的数据工程团队的工作效率将比不使用DataOps的团队高10倍。”
DataOps 方法论
DataOps 方法涉及多个步骤,这些步骤负责简化数据交付的设计、实施和管理,同时保持政策和程序受到检查。这对于优化动态环境中的数据使用非常重要。
DataOps 流程从数据管道开始,它描述了通过项目内部不同阶段的数据流。该项目从从各种来源提取数据开始,并在将数据转换为供业务主管或经理使用的可视化表示时达到高潮。
整个数据管道由 DataOps 自动化和管理,因此可以根据 DevOps 中使用的 CI/CD 实践将数据用于生产。DataOps自动化过程包括三个主要步骤。
- 沙盒:第一步被称为沙盒,它涉及数据分析的第一次迭代。它是由数据管理团队完成的,他们从数据中寻找可以从中获得的价值。在这个阶段,数据清理和后续步骤不是优先事项。
- 预生产:暂存步骤涉及清理分析的数据,然后是文档和建模。这些步骤被迭代重复以提高数据质量,最终迭代导致验证适合生产的模型。
- 生产:最后一步涉及在生产阶段使用分析数据模型,从而为最终消费者提供有效和准确的数据。公司可以使用这些数据来制定业务决策并产生更高的投资回报率 (ROI)。
DataOps 的目标功能
DataOps 旨在缩短整个数据分析的周期。它的主要使用对象是数据应用开发人员,包括数据工程师和数据科学家。因此,从搭建基础架构到使用数据应用的结果,通常需要实现以下功能。
- 部署:包括基础架构和应用程序。无论底层硬件基础设施如何,配置新系统环境都应该快速而简单。部署新应用程序应该花费几秒而不是几小时或几天时间。
- 运维:系统和应用程序的可扩展性、可用性、监控、恢复和可靠性。数据应用开发人员不必担心运维,可以专注于业务逻辑。
- 治理:数据的安全性、质量和完整性,包括审计和访问控制。所有数据都在一个支持多租户的安全环境中以连贯和受控的方式进行管理。
- 可用:用户应该能够选择他们想要用于数据开发和分析的工具,随时拿到他们可用的数据,并根据需要轻松开发和运行数据分析应用。应将对不同分析、ML、AI 框架的支持整合到系统中。
- 生产:通过调度和数据监控,可以轻松地将分析程序转换为生产应用,构建从数据抽取到数据分析的生产级数据流水线,并且数据应该易于使用并由系统管理。
简而言之,DataOps遵循类似于 DevOps 的方法:从编写代码到生产部署的路径(包括调度和监控)应由同一个人完成,并遵循系统管理的标准。与提供许多标准 CI、部署、监控工具以实现快速交付的 DevOps 类似,通过标准化大量大数据组件,新手可以快速建立生产级的大数据应用并充分利用数据的价值。
DataOps 的主要技术
DataOps 的主要方法论仍处于快速发展阶段。像 Facebook 和Twitter 这样的公司通常会有专门的数据平台团队(Data Platform Team)处理数据运营并实现数据项目。但是,它们的实现方式大多与公司现有的 Ops 基础设施集成,因而不适用于其他公司。不过我们可以从它们的成功中学习经验,并建立一个可以由每家公司轻松实施的通用大数据平台。要构建 DataOps 所需的通用平台,一般需要以下技术。
- 云架构:必须使用基于云的基础架构来支持资源管理、可扩展性和运营效率。
- 容器:容器在 DevOps 的实现中至关重要,在资源隔离和提供一致开发、测试、运维环境中的作用也至关重要。
- 实时和流处理:目前来看,实时和流处理在数据驱动平台中变得越来越重要,它们应该是现代数据平台中的“一等公民”。
- 多分析引擎:MapReduce 是传统的分布式处理框架,但Spark 和 TensorFlow 等框架日常使用越来越广泛,应该进行集成。
- 集成的应用程序和数据管理:应用程序和数据管理(包括生命周期管理、调度、监控、日志记录支持)对于生产数据平台至关重要。DevOps 的常规实践可应用于应用程序管理,但是数据管理及应用程序与数据之间的交互需要很多额外的工作。
- 多租户和安全性:数据安全性可以说是数据项目中最重要的问题,如果数据无法得到保护,数据使用也就无从谈起。该平台应为每个人提供一个安全的环境,使每个人都可以使用这些数据并对每个操作进行授权、验证和审核。
- DevOps 工具:该平台应为数据科学家提供有效的工具,以分析数据并生成分析程序,为数据工程师提供大数据流水线的工具,并为其他人提供消费数据和结果的方法。
DataOps直播预热
DataOps作为一种先进的面向数据管理和应用的方法论,自提出至今,逐步被业界所认可。DataOps能服务于业务部门、大数据部门,提供敏泰数据开发支撑,优化数据生产者和数据消费者协作效率。
DataOps的理论和时间也经历了持续的迭代有一系列问题值得探讨。作为企业数据开发管理环节中的重要理念,DataOps的范围和应用场景有哪些?企业应当如何将DataOps这一理念进行落地,实现数据资产统一管理、满足业务部门数据消费需求?DataOps最终能够为企业创造什么价值?适合什么样的企业?
为了探讨以上问题,本月UGeek大咖说将领域锁定在DataOps,届时会邀请行业内有影响力的专家做客直播间,总结分享DataOps落地的经验和方案,敬请期待!