DataOps的定义
数据资产和数据产品的访问需求在与日俱增,想在市场中获得竞争力,DataOps是一门必不可少的学科。数据(和管理)团队和他们的平台无法跟上装备了DevOps的团队对他们提需求的节奏,这种状态推动了(数据团队的)DataOps发展。
简而言之,DataOps将数据科学家、分析师、开发人员和运营人员凝聚在一起,共同致力于从设计阶段到生产支持的整个产品/服务生命周期。
DataOps并不仅仅是遵循DevOps原理并将其应用于数据分析。虽然这样可以达到类似的提高质量和缩短周期的目的,但本质上并不是一回事。
DevOps依靠自动化来加快构建生命周期。目标是通过按需分配IT资源并通过自动化代码集成、测试和部署来实现连续且持续的软件集成与交付。
换句话说,DevOps使开发和运维团队合作,并为他们提供工具,使他们的工作能更好、更高效。产生的效果是减少了部署时间、更快地将产品交付市场、减少了代码问题且缩短了解决问题所需的时间。
DevOps使顶级公司可以将发布时间从几个月缩短到几分钟,甚至在某些情况下只需几秒钟。这为他们提供了难以置信的竞争优势,而在当今快节奏的经济中则显得非常必要。
本质上,Amazon和Google这样的公司每天能够多次发布软件则要归功于DevOps。没有DevOps,这些都不可能实现。
DataOps的目标则是提高数据分析效率。为此,DataOps采用敏捷开发原则,从而提高数据团队和用户的效率和效力。
这意味着数据团队可以以较短周期的增量方式即Sprints,发布新的分析数据,从而大大减少等待时间。研究还表明,这种敏捷开发方式,在软件开发项目完成时,问题变得更少了。在数据领域中,这意味着公司可以更快地响应客户需求和痛点,从而显著提高交付价值的速度。
然而,与DevOps相比,DataOps还多一个不断变化的附加组件:数据流水线。原始数据从数据流水线一侧进入后进行处理,在另一侧以不同的形式(报告,视图,模型等)进行展示。该数据流水线通常被称为数据生产者/消费者模型。
在数据流中,DataOps扮演着至关重要的角色,因为它指导、监控并管理数据流水线。统计过程控制(SPC:确保统计信息保持在可接受的范围内,从而显着提高数据分析的质量、效率和透明度)是用于实现此目的的功能更强大的工具之一。
DataOps结合了DevOps、敏捷开发和统计过程控制三者的优点。
数据有价值,且比以往任何时候都更有价值,许多公司也纷纷认识到这一点。数据本身可以成为产品。但是,只有在公司有效收集、处理并将其转化为可行动洞见(actionable insights - 指可用于实际指导公司行为的商业洞见)时,数据才会真正体现其价值。
问题在于,如何有效的收集、分析数据,一般的公司对此并不清楚。基于“我们将广泛收集数据,然后弄清楚该如何处理”的原则,公司通常采取这样一种看似无所不包的方法,而这样做弊大于利。
公司随后组建一个数据团队,想当然的认为,这个团队可以奇迹般地将垃圾变成黄金。这样做通常所需的工作量比实际需要多得多,且很难能达到预期效果。当然,这几乎不可能按时提供可行动洞见,从而满足DevOps团队努力将其代码推向市场的需求。
DataOps结束了这个混乱的局面,并将其变成一个平滑的过程,数据团队也无需花费时间来解决这些问题。他们不用浪费时间,尝试将不良原始数据变成有用的数据。相反,他们可以专注于重要的事情,即提供可行动洞见。
DataOps能确保输入原始数据的可用性,保证结果的准确性,注重人员价值及共同合作的价值,使数据团队始终处于公司战略目标的中心。毕竟,他们再也不需要花费几个月的时间出成果,而且与DevOps团队一样高效。
2014年6月,InformationWeek的特约编辑Lenny Liebmann首次在“ DataOps对大数据成功至关重要的三个原因”中介绍了DataOps。AndyPalmer随后在Tamr推广了这些术语。
DataOps在2017年经历了重大发展。因此,随着企业对该学科的兴趣不断增长,催生了强大的供应商网络的发展,这些供应商提供各种相关产品和服务的开发和销售。
任何DataOps平台都依赖于五个基本功能组件,他们分别是:
数据管道编排:DataOps需要基于图形的指导性工作流,其中涉及与数据集成、数据访问、可视化和建模相关的所有步骤;
测试和生产质量:DataOps不仅测试和监控所有生产数据的质量,而且还测试部署阶段中任何更改的代码;
自动化部署:DataOps不断将从开发环境中获取代码和配置,迁移至生产环境;
数据科学模型部署和沙箱管理:DataOps还负责创建可复制的开发环境,并将模型移入生产环境;
其他需要支持的功能:代码和artifact存储、参数和安全密钥存储、分布式计算、数据虚拟化、版本控制和测试数据管理。
为满足上述需求,2017年有大量产品和服务投入市场。该数字在2018年继续大幅增长。
DataOps尽管得到推广,但仍然是一个新概念,尚未实现广泛应用。DataOps的广泛应用,可能会受到可用的框架及解决方案的限制,同时也受限于缺乏应遵循的明确指导原则。
即便如此,这仍是一次市场革命的开始,因为各家公司都尝试对此概念进行各自的解释。数据科学家和IT专家仍然难以确定应从何处开始以及如何定义成功指标。
一份对451 调研结果的报告显示,DataOps可以加快全球企业的创新速度,而且还可以帮助他们解决严重的安全及合规性问题,因此他们纷纷转向DataOps。实际上,有66%的受访者表示,更高的安全性和更好的合规性,是他们采用DataOps的首要原因。
由于许多企业都经历过数据泄露问题,他们比以前更重视数据安全。同时监管机构在数据隐私方面也面临着更大的压力。因此,公司转向DataOps来开发和实施一致的数据治理策略,同时,允许数据在完全安全的同时快速流动。
随着需要访问数据的人数增加,68%的受访者表示,保护同内部和外部用户共享的数据非常重要。
新闻中大多数数据泄露,通常是由外部威胁造成的。然而,事实上,最主要的威胁往往来自内部用户。虽然,不一定是有意而为之,往往疏忽会导致严重的后果。这也归因于组织没有统一一致的安全策略以及实施这些策略的方法。
只要数据拥有正确的数据平台,DataOps便可以提供确保数据安全所需的同类安全方法,而不管访问者是谁,无论使用哪种技术,这种统一的方法都可以在组织的所有领域起作用。
支持DataOps的组织和人员发布了一个宣言,该宣言包含十八条原则,总结了践行DataOps的最佳实践、理念、目标、使命和价值观。
宣言将个人及个人间的相互行为,置于流程和工具之上。他们专注于工作分析,而不是全面的文档。他们提倡客户协作,而不是专注于合同谈判。他们提倡实验、迭代和反馈,而不是花费大量时间进行前期设计。他们还认为应该消除孤立的责任,倡导跨职能的运营所有权。
DataOps宣言细则如下:
客户至上,DataOps的最高优先事项是通过快速、持续交付有价值的洞见来满意客户。
将价值置于产生的洞见,这也是数据分析性能的实际指标。
拥抱变化,包括客户需求的不断变化,并与客户面对面交谈。
Analytics(分析)涉及具有不同角色、技能、头衔和偏爱工具的人员团队。
与客户及运营部门的协作,贯穿于整个项目的每个阶段,每个时间节点。
自组织带来最佳的见解、架构、算法、设计和需求。
专注于创建可持续和可扩展的团队和流程,而不是英雄主义。
定期进行自我反省以提高运营绩效。
分析团队依靠各种工具来生成代码和配置,并描述如何根据数据生成洞见。
贯穿于始末的数据、代码、工具、环境和团队的编排对于成功至关重要。
一切都必须进行版本控制,因为需要可重复的结果。
通过提供一次性环境来最小化分析团队成员的实验成本。
简单,也被称为尽可能少做无用的工作,对于成功和提高敏捷性至关重要。
DataOps的基本概念是专注于在产生洞见方面不断提高效率。
分析流水线的基础是必须自动检测数据、配置和代码中的异常和安全问题。它还应提供持续的反馈,从而避免错误。
应不断测量质量、性能和安全性措施以识别任何可能的变化。
避免重复以前所做的工作以提高效率。
最大限度地减少将客户需求转化为洞见所需的时间与精力,并将这些洞见变现,发布为可复制的生产过程,最后实现洞见的产品化。
论DataOps之未来
尽管DataOps尚未得到广泛应用,但其未来是显而易见的:DataOps将会被大浪淘沙而得以留存并广泛应用。与DevOps一样,我们将看到相关团队和职位的价值将不断上升。
例如,在进行敏捷开发之前,发布工程师的价值被大大低估了,尤其是与软件开发人员相比。而现在,实施DevOps的公司则充分尊重发布工程师的价值。此外,众所周知,DevOps工程师是软件工程中收入最高的职位之一。DevOps工程师非常难招,即使他们没有大学学位,只要他们拥有适当的知识和经验,公司也愿意聘用。这也正在成为一个趋势。
DataOps工程师的职位可能会发生类似的事情。员工不论头衔,通过实施可靠的DataOps策略,数据分析师、数据工程师和数据科学家都可以得到更大的重视。然而,这可能需要一段时间才能实现。DataOps仍然是一个新概念,尽管围绕它进行了很多讨论,但仍存在一些局限和限制,阻碍其广泛应用。
当然,随着DataOps越来越流行,这些局限和限制会逐渐消失。在不久的将来,我们可能会看到更多有关可以成功实施的原则和准则的讨论。正如DevOps在IT基础架构的管理中扮演着至关重要的角色一样,DataOps也在改变数据可用、共享和集成的方式。随着每天收集和/或生产的数据越来越多,有效地管理数据成为越来越多企业的必然选择。