查看原文
其他

DataOps:不仅仅是数据管道!

Dave Wells 谈数据 2022-12-06

作者:Dave Wells,编辑:石秀峰

全文共3100个字,建议阅读5分钟



01 DataOps 定义
DataOps 是一种数据工程方法,旨在为分析和数据科学快速、可靠和可重复地交付生产就绪数据。除了速度和可靠性之外,DataOps 还通过支持数据版本控制、数据转换和数据沿袭的工程学科(专业)来增强和推进数据治理。
DataOps支持业务运营的敏捷性,能够快速满足新的和不断变化的数据需求。它还支持可移植性和技术运营敏捷性,能够跨本地、云、多云和混合数据生态系统中的多个平台快速重新部署数据管道。
02 重新定义DataOps
上面的定义是准确但不完整的。它代表了对DataOps 的常见误解——仅仅关注数据工程。缺失的部分是缺乏对数据消费的关注,尤其是数据科学应用。让我们重新定义它:DataOps 是一种工程方法论和一套实践方法,旨在快速、可靠和可重复地交付生产就绪数据以及运营就绪分析和数据科学模型。
DataOps 通过支持数据版本控制、数据转换、数据沿袭和分析模型的工程学科来增强和推进数据治理。
DataOps 支持业务运营敏捷性,能够快速满足新的和不断变化的数据和分析需求。它还支持可移植性和技术运营敏捷性,能够在本地、云、多云和混合生态系统中的多个平台上快速重新部署数据管道和分析模型。
尽管此定义主要是技术性的,但重要的是要认识到DataOps 具有业务驱动力和优势,并且还具有重大的组织和文化影响。DataOps 的成功需要关注四个方面——业务、流程、文化和技术。Wayne Eckerson 先生的DataOps 框架提供了流程和技术解读。
03 DataOps 方法论
基于DevOps——一种经过验证的提高新软件功能交付速度的方法——DataOps 应用了具备自动化支持的持续构建、测试和发布周期的相同原则。软件的构建是通过一系列快速迭代完成的,可以做到快速发现需求、开发软件的工作模型并与业务相关方合作测试这些模型。
当构建和测试流程交付了具有足够功能以用于业务运营的工作软件时,软件将被发布并从开发级提升到生产级。其底层的方法学称为持续集成/持续开发或CI/CD。
图1 说明了用于DevOps 软件开发和集成的CI/CD。在开发过程中,副需求有两个来源——基于业务要求的新软件需求的传统流程,以及已发布软件的运营使用反馈。两者都有助于使用敏捷方法通过快速的项目开发以解决现存的产品需求(或积压的需求)。当软件投入运营时,它最初会减少运营积压,但新的需求和软件缺陷会推动产品积压并进而推动下一阶段的开发。该过程是不断开发新软件功能以及将新功能不断集成到现有运营环境中的过程之一。运营和开发之间的协作至关重要。

图1. 用于软件开发和运营的DevOps
针对DataOps 调整DevOps 模型会产生一个稍微复杂一些的流程模型,该模型由两个交互的CI/CD 循环组成——一个用于开发和操作分析模型,另一个用于开发和操作数据管道。(见图2。
分析需求通常来自业务相关方。他们填充模型积压并驱动CI/CD 以进行报告、商业智能(BI)(分析)、分析软件和数据科学。
虽然我们指的是分析需求和模型积压,但DataOps 流程可以应用于更广泛的数据产品,包括报告和商业智能分析(BI)以及分析和数据科学。数据管道需求来自许多来源,包括模型积压。他们填充(数据)管道积压的内容并驱动数据管道的CI/CD。
DataOps 可应用于全方位的数据管道,包括ETL 等批处理、实时变化数据捕获(CDC) 和流数据。

图2. 用于模型和管道开发和运营的DataOps
需要注意的是,在此图中,上部循环描述了用于分析和数据科学的CI/CD,下部循环描述了用于数据管道的CI/CD。关键是分析推动了对数据管道的需求,而不是相反。DataOps 从分析开始。两种积压工作是模型积压和管道积压——都是产品积压,但针对不同类型的产品。
当分析模型投入使用时,如果没有新的数据供应,它们就无法持续,因此数据管道至关重要。在数据可用之前,不可能开发新模型,因此数据管道再次至关重要。
图2 中的红线表示两个循环之间的主要依赖关系。当模型积压被理解后,它用于识别开发和操作积压模型所需的数据管道。模型积压成为供给管道积压的新需求来源。
04 DataOps 与自动化
没有自动化,DataOps 是不切实际的。强大的DataOps 技术为数据管道和分析模型的模型编排、数据管道编排、测试自动化和部署自动化提供了特性和功能。具有AI/ML 自动化功能的新兴Data Fabric 技术将在DataOps 的未来发挥重要作用。图3 说明了DataOps 的构建-测试-发布周期,并突出了自动化中至关重要的点。
自动化对于DataOps 至关重要,其中包括测试自动化至关重要的八个点、部署自动化的两个点和操作编排的两个点。


图3. DataOps 构建-测试-发布周期中的自动化点
首先看一下数据科学和分析的CI/CD 周期,我们可以看到:
• 构建活动以冲刺(或快速)的形式进行,其中包括构建和训练模型(和报告、仪表盘、记分卡等)。单元测试和用户测试是每个冲刺的组成部分,依靠测试自动化来实现高速的全面测试。
• 在一系列冲刺结束时,可能需要进行集成测试以确保构建活动中的所有软件组件能够很好地协同工作。同样,需要测试自动化。
• 执行部署前测试以确认模型已准备好部署并交付运营价值,并为部署后比较,提供基础。早期的测试阶段——单元、用户和集成——专注于构建正确的东西,部署前测试专注于部署正确的软件(或组件)。在准备将修订版部署到先前部署的模型时,部署前测试还可能包括回归测试。在准备部署时,测试自动化扮演着重要的角色。
• 发布出现在将模型从开发级提升到生产级的部署步骤。部署自动化支持作为重要发布步骤的源代码管理、版本控制和版本(修订)跟踪实践。
• 执行部署后测试以确认模型在生产环境中的运行方式与其在开发和测试环境中的运行方式完全相同,确认环境因素未影响软件行为。再一次,测试自动化扮演着重要的角色。
• 模型编排技术支持操作环境中的模型执行,该技术可自动配置、协调和管理执行模型的计算环境。
数据管道的CI/CD 周期遵循与分析模型高度相似的模式:
• 构建以一系列冲刺的方式进行,包括单元和用户测试。测试自动化有助于实现快速但完整的测试。
• 集成测试确保所有管道组件协同工作良好。测试自动化支持高速的综合测试。
• 执行部署前测试以确认管道已准备好部署并交付应用程序所需的数据。部署前测试还为部署后比较提供了基础。
• 当管道实现从开发到生产的部署或提升到生产级时,进行发布。部署自动化支持作为重要发布步骤的源代码管理、版本控制和修订跟踪实践。
• 部署后测试确认管道在生产环境中的功能与它在开发和测试环境中的功能完全一样,确保环境因素不会改变软件行为——这是测试自动化的另一个用例。
• 管道编排技术支持操作环境中的管道执行,并对计算环境的配置、协调和管理实现自动化。
05 DataOps 是战略性的
数据管道的开发和部署,分析模型的开发和部署,以及管道和模型操作的不断发展的实践和流程应该是您数据策略的一部分。真正的回报来自于将您的数和分析文化发展为一种快速可靠地交付数据,并且要以正确的数据和模型以及确的速度满足业务经理知识需求的文化。请记住,对数据和分析的需求将继续长,没有自动化的开发、部署和运营将无法扩展以满足需求。
关于作者
Dave Wells 是一名咨询顾问、教育家和行业分析师,致力于在从数据到商业价值的整个过程中建立有意义的关联联系。他从事信息管理和业务管理的交叉工作,通过分析、商业智能和主动数据管理推动业务影响。四十多年的信息系统经验加上十多年的业务管理经验,让他对业务、信息、数据和技术之间的联系有着独特的见解。Dave 的热情所在是通过咨询、演讲、教学和写作开展知识共享和技能培养。
关于Stonebranch

Stonebranch 构建IT 编排和自动化解决方案,将业务的IT 环境从简单的IT任务转变为复杂的实时业务服务自动化,帮助组织机构实现尽可能高的自动化回报。无论自动化程度如何,Stonebranch 平台都是简单、现代且安全的。使用Stonebranch 通用自动化平台,企业可以跨技术生态系统和数据库实现无缝编排工作负载和数据。Stonebranch 总部位于佐治亚州亚特兰大,在美洲、欧洲和亚洲设有联络点和支持点,为世界上一些最大的金融、制造、医疗、旅游、交通、能源和技术机构提供服务。


据统计,99%的数据大咖都关注了这个公众号

👇
相关荐读:

DataOps 综合指南!

DataOps:现代数据管道的精髓

DataOps指南:数据管理新时代来了?

数据中台即服务——数据中台的四大支柱

为什么说 数据服务是数据中台的标配?

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存