在Gartner 2018年发布的数据管理成熟度曲线(图1)中,首次出现了一个新名词:DataOps。DataOps看上去和DevOps名字很相似,他们两者有什么样的关系,又有什么样的区别呢。网络上关于DataOps的介绍并不多,本文简要讲述了什么是DataOps,DataOps的特点以及实践案例,并提出笔者对这项全新技术趋势的一些期望。
什么是DataOps
DataOps(数据操作运营),可以认为是从另一个更为有名的概念“DevOps”衍生而来。 DevOps作为一个IT方法论,出现已经有好些年,其目的是整合软件的开发和运营工作,提高应用程序构建和部署过程中的自动化水平。实施DevOps实践的企业认为,如果软件开发人员和操作运营人员工作中紧密合作,那么,应用程序的构建和部署工作将会速度更快,成本更低,软件灵活性更高,交付时间更短。
许多年过去了,DevOps曾经的承诺都实现了吗,一个不容回避的现实是:DevOps方法似乎对大数据考虑不足。大数据和人工智能已经成为当前大型企业采用的发展战略重要组成,考虑如何管理和部署基于大数据的应用系统则成为企业IT部门的重点工作。相对于DevOps方法论重点关注应用程序和软件工程,DataOps的提出,则把对数据的考虑放在的最重要位置上。
维基百科上对DataOps的定义是,DataOps是一种面向流程的自动化方法,由分析和数据团队使用,旨在提高质量并缩短数据分析的周期。对于DevOps,维基百科上的定义是,DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
从定义上可以看出,DataOps的目标是提高数据分析的质量,缩短数据分析周期。而DevOps的目标是按时交付软件产品和服务,让开发和运营工作紧密结合。可见,DataOps关注数据和分析,DevOps更重视产品和服务。
DataOps的特点
与DevOps不同的是,在DataOps实践中,数据分析师或数据科学家成为了重要角色,并和软件开发、运营人员一起合作,完成以数据为中心的应用系统或程序的开发和部署。DataOps可以认为是DevOps的升级版,目标是在IT实践中提高系统或应用构建的可重复性、灵活性、自动化,同时提高数据分析的质量。
企业运用DevOps实践,会有效降低应用程序发布的风险。与传统的瀑布式开发模型相比,采用敏捷或迭代式开发意味着更频繁的发布和部署,每次发布的程序包变化更小,有问题更容易回滚到上一个正确版本。除了继承以上优势外,相比DevOps,DataOps方法更重视基于大数据的数据分析工作。以数据为中心的应用程序一个最典型特征就是对机器学习技术的应用,DataOps实践则需要充分考虑对机器学习类应用需求的支持。
DevOps重视开发与运营人员的协作,使开发工作与业务目标更加一致,并且利用一些自动化部署工具来确保交付工作的高效率和可管理性。它更强调具有一个跨职能团队,能够跨越技能领域如运营、软件工程、架构、规划以及产品管理等。而DataOps将数据科学家和数据分析师角色增加进来,让应用开发人员、运营人员和数据专家之间的协作和沟通更顺畅。
DataOps应用实践
DataOps作为一个新生概念,网络上该方面应用案例还很少。2018年5月第九届中国数据库技术大会(DTCC)上,阿里公司专家介绍了其海量大数据平台的运维智能化实践,他将DataOps归为DevOps和AIOps中间的一个阶段,认为DataOps中最核心的过程就是运维感知、决策和执行,而终极的AIOps则是无人运维。
在案例中,阿里对DataOps的定义是:把所有系统的运维数据全部采集起来、真正打通,深度挖掘这些数据的价值,为运维提供数据决策基础和依赖。从系统“稳定性、成本、效率、安全”多个维度去驱动自动化、智能化的运维运营,从而助力实现真正的AIOps。
阿里案例中的DataOps实践,更侧重于运维阶段工作,目标是用数据驱动运维工作,相比于传统运维,此处所讲的DataOps主要是指将传统使用命令、人工决策的运维过程转变成数据加算法的自动化运维模式。
对DataOps的期望
DataOps概念提出时间并不长,但已经引起一些行业关注,既然企业运用DataOps实践的目的在于提高数据分析质量,缩短数据分析周期。 因此,我们提出以下一些对DataOps的期望。
一是支持大数据应用快速部署。包括底层基础数据平台和上层应用程序,部署新的系统或功能模块都应该保持类似DevOps方法论中的敏捷性。在工程实现阶段,应该能快速将训练好的算法模型部署到应用程序中。此外,基于大数据的各类基础设施和算法框架应能支持整合到系统中,为上层数据分析和智能化应用程序提供算力和算法支持。
二是实现用数据驱动运维工作。从数据中可以挖掘出大量有价值信息,在DevOps阶段里,只是实现了手工运维和自动化运维,在新的DataOps阶段,基于大量数据,完全有能力通过对数据的挖掘分析,用数据来驱动运维工作的自动化、智能化执行。在下一个阶段,也许真正能实现以AI驱动的人工智能运维,即AIOps。
三是数据安全和质量可控。对数据给予极大关注是DataOps最典型区别于DevOps之处,在DataOps实践中,数据应当得到有效的治理,数据的安全性,质量和完整性应该得以保障,所有数据都能够在安全环境下以受控的方式进行管理。毕竟,掌握高质量和安全可控的数据才是开展大数据分析的前提。
简而言之,我们期望通过DataOps实践,在应用开发、数据分析到生产环境部署全流程中,开发、运营、质量、数据分析人员通力协作,实现快速部署交付的目标,同时在这个过程中,能够实现基于数据驱动的运维自动化,数据质量和安全性得到有效管控。
结语
数字化转型大潮下,挖掘数据价值越发重要,大数据成为企业的宝藏,DataOps作为一种新的数据管理趋势,还属于没有任何标准或框架的新概念,唯一明确的是,它更侧重于对数据的关注。与DevOps相似,DataOps不应该是一种教条的理论,而应该是一种基于原则的实践。不久的将来,业界成熟的DataOps实践,可能会成为企业在制定信息化战略过程中的重要参考。
来源:中国信息产业网