内附视频课程 | 为什么DataOps如此重要?你是否需要它?

《概述DataOps简介》课程完成版(18分钟)包括《数据与分析行业的问题》《根本原因:组织复杂性》《解决方案:什么是DataOps?》

在分析DataOps前先看看整个分析行业,所以接下来我们将用“数据分析”来表示数据价值链中的任何东西,比如数据准备、ETL、数据科学、人工智能、机器学习、数据可视化或数据治理。

数据和分析行业的问题

“数据分析”很热门,热门到你不能在机场或者观看足球比赛时对数据分析一无所知。但是实际上,数据分析还有很多不足之处。数据表明,很多数据项目,所创建的模型并没有投入生产,数据驱动的组织数量从37%下降到31%。甚至有人表示,60%的数据和分析项目都失败了,在对Eckerson小组进行的一项调查中,79%的数据项目存在非常多的错误……

所以,数据分析领域仍然有着巨大的潜力。如今,很多新技术、新名词出现,但是这些项目和团队并不成功。在70年代和80年代,美国汽车业经历了一次大的考验,主要来自日本进口产品和那些不满意的客户。

在很多方面,数据和分析行业就像70年代的美国汽车行业,正在创建的工件充满了错误,一辆AMC汽车会有五到十个缺陷,所以人们常常把扳手留在车里。一家公司开发一款新车型和制造一辆新车所需的时间是五到七年。随之而来的是日本人使用了一些技术和制造,能够高效且精练的生产出更快、更持久、更好的汽车。

这与我们在数据分析领域面临相似的情况,因为在对Eckerson进行的一项调查中显示,客户需要用几个月的时间才能从数据科学家或数据工程师的手上将一些新代码部署到生产中,即便这样错误还是异常的多,也因如此很多数据科学家感到非常挫败,甚至一些数据科学家离开了数据分析领域。

另一个原因是你的团队没有把时间安排好。首先,数据和分析很复杂,数据科学家、数据可视化和工程师之间有着复杂的关系和工具链。(这里的工具链指人们用来获取数据的所有工具和引擎)。有很多形状各异复杂的数据,人员、地点和工具链之间存在着复杂的协作。因此,客户想要的创新无法实现。

很多时候,团队并没有在他们想做的事情上花足够的时间。人们想创造新的想法,新的洞察力,但却遇到了很多错误、操作任务、会议和协调。事实上,Gartner最近做了一项关于数据管理及其在平衡创新和控制方面的调查,调查显示,只有22%的时间用于新计划,56%的时间用于运营执行。

根本原因:组织的复杂性 

首先,有很多人从事数据工作,其中一些人被称为数据分析师,他们使用Tableau等工具,一些人是Informatica的数据工程师,数据架构师或数据库管理员。一整串不同的人扮演着不同的角色,拥有不同的技能。

他们是如何在团队中工作的呢?举个例子,一位数据工程师和一位数据科学团队在一起工作,一个自助服务团队和一个数据治理团队,还有很多从事生产运营的人员。这里有像科学、目录、ETL、数据库等大量工具,显然大家都喜欢使用这些工具,在某种程度上,公司希望工具标准化,但人们如何将自己的想法表达成工具呢。

他们还从许多内部和外部系统中获取数据,可以说每个数据库、网站和内部IT工具都是数据源,可以使用这些数据源来了解自己的业务、客户的行为、公司产品和运营。有很多数据可能来自公司内部和外部,比如人口普查数据或开放数据,它们有很多不同的形式。

你看看团队是如何工作的,实际上他们是在一个相互关联的过程中工作的。例如,一个数据工程师获取一个表,数据科学中的某个人将一个模型应用到它并创建一个分段。从事可视化和自助服务的人可能会用数据准备工具添加一些数据并将其可视化,数据治理人员试图弄清楚所有数据的来源,操作人员必须将所有这些东西投入生产。如果你从流程的角度来看,每一个都有自己独立的开发/生产QA周期,每个人都有自己独特的挑战,所以在这过程中他们必须协同工作。

假设一个组织,他们可能为同一个老板工作,公司的组织结构各不相同。还有一种不同类型的组织,数据工程师和数据科学家(我们称他们为开发人员),还有那些在创建事物后运行事物的人(称他们为操作人员或运营人员),在软件开发团队中,有一种开发团队,是一种一对一关系的运营团队。

但在数据和分析方面,由于这些组织差异,Dev和Ops之间实际上存在多对多的关系,有不同的Ops团队支持不同的团队。因此,你的公司可能会组织一个家庭办公室团队,家庭办公室团队为首席信息官工作,它有数据工程师和数据科学家,他们住在波士顿。也许他们每周更新一次数据仓库。但是,你可能会在全国各地拥有当地的办公室团队,这个例子发生在新泽西州。所以你有两个团队、两个工具和两组部署操作,这实际上会产生很多问题。

例如,从家庭办公室团队的角度来看,如果在生产中有一个模式想改变它,怎么知道这样做会不会破坏其他东西?比如,有多少报告正在使用该系统?或者如果我在当地办公室,我可以使用数据准备工具添加新的数据集管理它吗?如何让每个人都能使用它?在很多情况下,有问题的数据和分析组织的症状之一是对数据不信任。有时对数据的信任会失败,因为你的数据提供商提供了糟糕的数据。但也可能是因为你的报告使用了相同的想法,但在不同的计算中表达了它。很多时候,人们会复制和粘贴这些报告,并将它们放在不同的位置。因此,协调方面的挑战非常重要,不同地点、不同生产的不同开发团队之间存在这种复杂性,这会带来很大挑战。

看待这些挑战的一种方法是康威定律,该定律规定任何设计系统的组织都将不可避免地产生反映公司沟通结构的系统设计。

DataOps遵循康威定律。举个例子,如果一个典型的团队,每个人在数据分析中所做的工作看成是一个“管道”。每个数据工程团队和数据科学团队都在各自独立的管道中向生产团队推进。所发生的事情是,组织及其开发过程和团队过程的复杂性真正反映在他们的管道中,这带来了很多挑战。

我们相信的一件事是,当这些数据进入你的公司时,它会经历一系列步骤,像一条生产线,它可能没有预测模型,可能被可视化,可能被编目,但这确实是一个有洞察力的工厂。工厂里的每一个步骤都是一条生产线,工厂对分析生产的看法很重要,因为生产中的每个系统都有这条装配线(我们称之为流水线)。有些公司只有一条管道,但许多公司在组织的各个部门都有数百或数千条这样的管道,你怎么知道这些管道在生产?如何给他们一根虚拟的Andon绳索来阻止装配线?

在丰田的加工系统、精益制造和统计过程控制中,我们学到了一整套隐喻,这些想法对于了解如何在拥有所有工具的情况下运营自己的工厂,更好地生产数据非常重要。

无论是数据工程师还是科学家的创造,他们创造事物的过程都是从头脑中的想法到开发环境再到生产。这是如何发生的?如何快速部署?如何将个人贡献者的想法投入生产的?DataOps的一个基本理念是,如果你能更快地获得反馈,能够在短周期的交付时间内工作,就能更多地了解客户的需求,从而可以最大限度地增加不必做的工作量。你可能认为他们想要A到F,但了解到客户的反馈后,你很快就会知道他们只需要A到C,所以你可以最大限度地提高工作效率,不必浪费时间。

同时,你必须经营一家像丰田这样的工厂,以非常低的错误率生产真正高质量的汽车,并用统计过程控制等工具来理解它。必须能够从工厂中提取一部分并进行更改,就像在软件中一样,你必须能够进行连续部署或持续集成。你可以从装配线上挑选一块交给一个单独的贡献者,让他们能够对其进行调整或添加,然后将其重新投入生产。这些事情实际上是完全相反的,一个是对担心“破坏生产”带来的恐惧,另一个就是变化。所以恐惧和改变是对立的,为了做好数据分析,你必须调和这些对立。

许多公司在实施DataOps之前,测试周期非常缓慢,他们需要数周或数月的时间才能将10行SQL部署到生产环境中,还会有很多错误。合作也很困难,他们往往没有衡量自己的过程,其结果是大多数公司的成本更高,无法令客户满意。归根结底,从事数据分析的团队对自己感觉并不太好。

团队就陷入了这种三重痛苦之中。一种是,提供原材料的数据提供商不知道你是作为一个数据团队存在的,他们经常发送糟糕、延迟或容易出错的数据集,你必须将其转化为良好的洞察力。然后,数据消费者会觉得他们生活在亚马逊的世界里,所以他们可以每天向你寻求新的、很酷的见解,你应该能够提供。然后,组织中有来自生产或其他团队的所有这些不同的人,他们实际上非常关键。这给我们的团队带来了一个被击败的、失去力量的环境,意味着周围缺乏信任,客户不信任你的数据,你不信任数据提供商,团队认为其他人都是白痴。

什么是DataOps? 

DataOps概括为你做什么远不如你如何做重要。这首先来自制造业,当你在建造一些东西时,你就是在建造工厂,建造“制造机器”的机器实际上非常重要,DataOps也体现了这种观点。

对于在工厂工作的人来说:在工厂里经常会有问题。研究显示,94%的原因不是一个人失败了,而是这个人工作的系统出现了问题,工厂的生产过程就是罪魁祸首。这两种观点确实阐述了在数据操作中的思考方式。在数据分析中,我们花了很多时间在模型、算法或数据特征上,以及如何转换数据,如何可视化数据,如何管理数据,甚至是数据本身。因此,这里有一种非常相反的观点,即你如何做这些工作,而不是你做什么。不是什么模型、什么数据或什么可视化——你如何开发它,如何部署它,如何监控它,你迭代的速度有多快,你如何合作,以及你如何衡量?实际上比你所做的事情重要得多,因为很多人都在谈论工具、技术和数据。

DataOps更感兴趣的是流程中的人,以及使所有流程成为可能的管道,且非常注重给客户带来价值。

这与注意力和心态有关。第一个重点是,如何降低错误率?如何才能真正停止生产中的问题,并担心周一早上走进办公室时,会收到一条Slack消息,说有什么问题?另一种心态是,你如何减少变化的周期时间?如何不断地改变,并以一种不会引起很多问题的方式去做?如何从数据科学家、数据工程师或进行数据可视化的人的头脑中转移到客户手中,然后快速迭代和改进?另一种心态是,如何让整个团队一起工作,而不是专注于个人?如何让为同一个老板工作的人,或者有时为不同老板工作的人们一起工作的?怎么减少会议?如何通过安全和控制来赋予人们改变的权力?最后,你如何衡量你的过程?如何对分析中使用的流程进行分析?

不幸的是,许多团队都受到这些糟糕流程的影响,而且他们的周期时间很短。想想看部署需要几个月的时间,他们经常走进办公室,从客户那里得到令人讨厌的消息说数据是错误的,或者他们的团队正在相互对抗。

基于此,DataOps是解决这种痛苦的方法。它真正关注的是一套技术实践、文化规范和建筑模式。如何实现创新的快速循环?如何降低错误率?如何跨所有工具、人员、技术和环境进行协作?如何清楚地衡量和监控这个过程的结果?如果你把这些想法放在一起,敏捷是一种组织软件团队的方式。然后是DevOps,这是一种进行软件开发的技术方式。以及精益制造,你将这些想法或原则应用于更复杂的数据和分析世界就会得到DataOps。它为你提供了一套想法和方法,让你的团队能够重新掌握主动权。考虑到我们都生活在这样一个充满力量的艰难环境中,这更多的是要夺回控制权并赋予团队权力。

那么,DataOps是如何解决这个问题的呢?首先,DataOps这个术语已经存在了几年,但就在过去的三四年里,它开始受到关注。Gartner从2019年7月开始将其纳入宣传周期。看看谷歌过去两年的市场增长趋势,可以看到随着时间的推移,搜索量增长了500%。所以这是一个好的迹象。有更多的媒体文章,很多公司把自己标榜为DataOps……因此,人们对它是什么以及为什么应该这样做也有了更多的困惑。就像大多数科技术语一样,它们有点膨胀——不幸的是,由于DataOps的流行,它可能会发展到这个地步。然而,我们努力对为什么要进行DataOps以及DataOps是什么有着非常清晰的定义。

聊了这么多,想必这次大家应该对DataOps为何如此重要有了一定了解。那么,下一期我们将正式开始课程的第一模块《DataOps生产管道是如何工作的》,大家敬请期待。

- FIN -       

2df28cd19691338160d9ed22c2cd1626.png

更多精彩推

👇点击阅读原文,了解更多详情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值