DataOps(数据操作)源于敏捷哲学。它严重依赖自动化,注重提高计算机处理的速度和准确性,包括分析、数据访问、集成和质量控制。DataOps开始时是作为一个最佳实践系统,但逐渐成熟为处理数据分析的全功能方法。此外,它依赖并促进分析团队和信息技术运营团队之间的良好沟通。
从本质上讲,DataOps是关于简化管理数据和创建产品的方式,并将这些改进与业务目标协调起来。例如,如果公司的目标是降低客户流失率,那么客户数据可以用来开发一个推荐引擎,根据特定客户的兴趣为他们提供产品——潜在地为这些客户提供他们想要的产品。
然而,实现一个DataOps项目确实需要一些劳动力和组织(以及一些资金)。数据科学团队必须能够访问构建推荐引擎和部署工具所需的数据,然后才能将其与网站集成。实施一个DataOps计划需要仔细考虑组织的目标和预算问题。
2001年的敏捷宣言表达了一些有远见的软件开发人员的想法,他们认为“开发软件”需要彻底的重新思考,包括逆转一些基本假设。比起过程和工具,这些创新的思考者更看重个人和互动。他们还强调在软件上工作,而不是全面的文档,响应变化而不是陷入计划,并且更喜欢客户协作,而不是合同谈判。敏捷指的是一种专注于客户反馈、协作和小而快速的发布的哲学。DevOps诞生于敏捷哲学。
DevOps是指将开发团队(代码创建者)和操作团队(代码用户)结合在一起的一种实践。DevOps是一种软件开发实践,它关注于这两个团队之间的交流、集成和协作,其目标是快速部署产品。
DevOps的想法产生于2008年,当时Andrew Clay Shafer和Patrick Debois正在讨论敏捷基础架构的概念。这个想法在2009年在比利时举行的第一次DevOpsDays活动中开始传播。一场关于希望在软件开发中提高效率的对话逐渐演变成一个反馈系统,旨在改变传统软件开发的各个方面。变更的范围从编码到与各种涉众的沟通,并继续部署软件。
DataOps诞生于DevOps哲学。DataOps是敏捷和DevOps哲学的扩展,但侧重于数据分析。它不固定于特定的体系结构、工具、技术或语言。它是故意灵活的。支持数据ops的工具促进协作、安全性、质量、访问、易用性和编排。
DataOps最初是由《信息周刊》特约编辑Lenny Liebmann在一篇题为“为什么DataOps对大数据的成功至关重要的3个原因”的文章中介绍的。在2017年,随着大量分析师的报道、调查、出版物和开源项目的出现,DataOps的增长迅猛。2018年,Gartner将DataOps列入了数据管理的宣传周期(对新技术生命周期的预测)。
DataOps有自己的宣言,并关注寻找方法来减少完成数据分析项目所需的时间,从最初的想法开始到完成用于交流的图形、模型和图表。它通常使用SPC(统计过程控制)来监控数据分析过程。使用SPC,对数据流进行持续监控。如果出现异常,数据分析团队将收到自动警报通知。
DataOps的目标是促进数据科学家、IT人员和技术人员之间的协作,让每个团队同步工作,更快、更智能地利用数据。数据管理越好,数据就越好,可用性也越好。大量的数据和更好的数据会导致更好的分析。这反过来又会转化为更好的洞察力、更好的商业策略和更大的利润。下面列出了开发DataOps程序的五个好处:
-
数据问题/解决能力:已经说过,创建的数据量每12到18个月翻一番。DataOps帮助将原始数据材料快速而有效地转化为有价值的信息。
-
增强的数据分析:DataOps促进了多面分析技术的使用。旨在引导数据通过所有分析阶段的新机器学习算法正越来越受欢迎。这些算法帮助数据专家在将数据交付给客户之前收集、处理和分类数据。它还能在尽可能短的时间内提供来自客户的反馈,并促进对快速变化的市场需求的快速反应。
-
寻找新的机会:DataOps打开了灵活性的大门,并改变了组织内的整个工作流程。优先事项发生了变化,新的机会作为范式转变的一部分出现了。它有助于建立一个办公室和部门之间没有界限的新生态系统。各种各样的人员,如开发人员、操作员、数据工程师、分析师和市场顾问可以实时协作,计划和组织各种方式来实现企业目标。将不同的专家聚集在一起的协同作用加快了响应时间,并提供更好的客户服务,从而增加了企业的利润。
-
提供长期指导:DataOps促进战略数据管理的持续实践。它使用多租户合作来帮助协商不同客户机的需求。数据专家可以组织数据、评估数据源和研究来自客户的反馈。实现机器学习数据操作可以自动化这些过程(以及更多),使业务更加高效。
DataOps应该被视为双向街道,支持数据源和数据用户之间全面的互操作性(交换和使用信息)。通过使用自动流程,数据分析和数据管理变得更加精简。这些步骤确保了产品交付和部署的快速和无缝改进。
持续分析是最近才发展起来的。它不再使用复杂的批处理数据管道和etl,取而代之的是云和微服务。连续数据处理支持实时交互,并在使用更少资源的同时提供即时洞察。
连续方法被设计为同时运行多个无状态(不保存数据)引擎,这些引擎丰富、分析和操作数据。由此产生的“持续分析”方法提供了更快的答案,同时也使IT工作更简单、更便宜。
传统上,数据科学家与IT开发团队是分离的。他们的技能(数学、统计和数据科学)使他们与众不同。然而,连续交付方法让大数据团队可以在缩短的周期内发布他们的软件。在这种情况下,数据科学家使用与普通程序员相同的代码库来编写代码。数据科学家将他们的代码保存在Git中,编写连接到数据源的api的程序员也是如此。大数据和DevOps工程师用Ansible和Docker编写剧本和脚本。测试通常是过程的自动化部分。
从本质上说,持续分析是持续交付软件开发模型的扩展。使用这个模型的目标是发现新的方法,将编写分析代码与安装大数据软件结合起来,最好是在一个能够自动测试软件的系统中。
受到不灵活的系统和低质量数据挑战的组织已经发现了DataOps作为解决方案。DataOps包括促进更快、更可靠的数据分析的工具和过程。虽然没有一个单一的方法来实现一个DataOps程序,一些基本步骤是:
-
数据民主化:缺乏数据访问/信息是做出更好决策的障碍。业务利益相关者、首席执行官、数据科学家、IT和通用管理人员都应该能够访问组织的数据。自助服务数据访问程序和支持它的基础设施是必不可少的。深度学习和机器学习应用程序需要不断的新数据流来学习和改进。
-
应用平台和开源工具:DataOps程序中必须包含数据科学平台,以及对框架和语言的支持。用于数据移动、集成、编排和性能的平台也很重要。当开放源码工具可用时,没有必要重新发明轮子。
-
自动化,自动化,自动化:为了更快地完成数据密集型项目,自动化是绝对必要的。它消除了耗时的手工工作,如数据分析、管道监控和质量保证测试。微服务促进了自给自足,让数据科学家可以自由地以api的形式构建和部署模型。这使得工程师可以根据需要集成代码,而无需重构。总的来说,这会提高生产力。
-
小心管理:警告:在建立成功蓝图之前(解决工具、流程、优先级、基础设施和数据科学团队需要的关键性能指标),要谨慎地做出影响业务长期发展的决策。
-
粉碎筒仓:协作是一个成功的DataOps项目的必要条件。数据竖井(除了少数人之外,所有人都无法访问数据)应该被消除。实施DataOps计划所使用的平台和工具应该支持一个更大的目标,即让人们更有效地使用数据。