DevOps 与 DataOps 相关吗?
与 DevOps 如何改变我们开发软件的方式类似,DataOps 正在改变我们创建数据产品的方式。通过利用 DevOps 方法,团队通过使用交付管道和反馈循环来创建和维护软件产品,实现了速度、质量和灵活性。DataOps 采用类似的工作流程来为构建数据产品的团队实现相同的目标。虽然两者都基于敏捷框架,但它们在构建、测试和发布的实现方面存在很大差异。DataOps 需要协调不断变化的数据以及整个业务中使用数据的每个人,而 DevOps 需要软件开发人员和 IT 之间的协调。
基于:HTTPS://AWS.AMAZON.COM/DEVOPS/WHAT-IS-DEVOPS/
DevOp 与 DataOps 交付管道
1.构建(速度)
要构建一个新软件,您需要一个精通相关编程语言并了解软件在特性和功能方面用途的软件开发人员(或他们的团队)。例如,假设您需要一个上传文档的按钮。构建它的开发人员只需要知道所需的功能。他们不需要首先了解要上传的文档的内容或为什么要上传的业务背景。开发人员的责任只是放置正确的代码以确保按钮上传文档。
在构建新的数据产品时,成功的参数不再是技术特性和功能,而是业务指标和目标,不仅需要相关编码语言的专业知识,还需要对底层数据和业务上下文的深入理解。每个数据文件的内容及其使用方式变得非常重要!因此,数据工程师无法在孤岛中构建数据产品;他们必须与数据科学家和分析师合作以了解业务环境。
让我们以一家想要计算其用户生命周期价值(LTV)的社交媒体公司为例。首先,分析师和数据科学家必须运用他们的业务专业知识来确定需要哪些数据集来计算用户 LTV,并从数据工程中请求这些数据。数据工程师需要准备数据并将其清理为可用格式,然后数据科学家和分析师才能开始构建正确的模型和分析来计算用户 LTV。最后,数据工程师需要协调工作并设置正确的基础架构配置以交付最终结果。总而言之,将用户 LTV 作为数据产品生成结合了数据工程师、数据科学家和分析师的技能和知识,以确定
哪些数据是相关的;
检索、连接和转换数据需要哪些代码和工具;和
如何从数据中提取有价值的见解以帮助业务。
在开发过程中这些不断的假冒可能会阻碍速度和效率。因此,成功的 DataOps 方法论必须在设计时考虑到跨团队协作,以满足整个企业对数据不断增长的需求。
2. 测试(质量)
开发人员通过观察是否根据给定的输入产生正确的输出来测试他们的软件。有明确的因果关系来帮助确定软件的质量。根据前面的软件示例,如果单击按钮将所选文档上传到正确的位置,则测试成功。
现在,如果我们在前面的数据产品示例中测试用户 LTV 计算,如果公司以前从未计算过其用户 LTV,我们如何确定成功?如果数据产品吐出一个数字,测试并没有结束。该号码必须经过验证。这可以通过将结果与使用不同方法或通过其他交叉验证测试计算相同指标的另一个数据产品的结果进行比较来完成。
在有其他证据支持其结果之前,数据产品的质量尚不清楚。通常,随着数据的变化和更多证据的发现,需要更多的迭代来微调结果。迭代和保持质量的能力对于数据产品提供的价值至关重要。
3. 发布(灵活性)
当开发人员发布新软件时,一旦所有功能都投入使用并投入使用,则认为部署成功。该软件已到达交付管道的末端并进入反馈循环,在此期间开发人员监控并计划下一个更新或版本。另一方面,最终用户只是喜欢这些功能,可能会或可能不会选择提供反馈;他们参与反馈循环是间接和自愿的。
有了数据产品,输入和输出是不断变化的;仅仅因为数据产品在测试和发布期间工作,并不意味着它会继续工作。架构发生变化,新列被添加,标签随着时间的推移而变化。随着数据不可避免地发生变化,数据产品也应如此。此外,随着业务变得更加智能,数据产品也应如此——可能通过添加其他数据点来改进其分析。最了解所有这些变化的人也恰好是最终用户:数据科学家和分析师。因此,在 DataOps 中,最终用户参与反馈循环是直接且强制性的;他们必须与数据工程师密切合作,以确保数据产品不断改进并顺利运行。
在前面的数据产品示例中,如果社交媒体公司的数据分析团队了解到用户的活跃关注者数量对其 LTV 有显着影响,他们会希望将此变量添加到用户 LTV 计算中。在这种情况下,他们将与数据工程团队密切合作,以确保将计算每个用户的活跃关注者数量所需的正确数据添加到数据产品中。
从数据工程的角度来看,如果没有 DataOps,这样的更改可能涉及冗长的重新设计、重新建模、主要的重新处理和数据产品的回填。使用 DataOps,可以理解事情会发生变化;数据产品永远不会真正“完整”,灵活性是它继续对业务有价值的必要条件。
总而言之,DataOps 和 DevOps 是不同的,因为前者针对数据产品进行优化,后者针对软件进行优化。构建成功的数据产品需要不同领域的专业知识,因此是跨团队协作。测试数据产品需要找到证据来验证结果并进行微调以获得正确的结果。最后,发布数据产品是一项持续的协作工作,因为数据会发生变化,数据产品必须适应这些变化。
评论