什么是DataOps?
DataOps数据操作(全称:Data Operations),是一种用于开发和交付分析,灵活且面向过程的方法。
它将DevOps团队、数据工程师和数据科学家聚集在一起,提供工具、流程和组织结构来支持以数据为中心的企业。
Forrester副总裁兼首席分析师Michele Goetz将DataOps定义为”跨从基础设施到体验的所有技术层中实现解决方案、开发数据产品和激活数据,来实现商业价值的能力。”
DataOps目标
根据Dataversity的说法,DataOps的目标是基于数据和数据分析来简化应用程序的设计、开发和维护。它寻求改进数据管理和产品创建的方式,并将这些改进与业务目标相协调。
DataOps与DevOps
DevOps是一种软件开发的方法,通过将开发团队和运营团队合并为一个负责产品或服务的部门,为系统开发生命周期带来持续性的交付。
DataOps在这个概念的基础上增加了数据专家(包括数据分析师、数据开发人员、数据工程师或数据科学家),专注于数据流的协作开发和整个企业内数据的持续使用。
HPE MapR的CTO 及《机器学习物流:现实世界中的模型管理》的合著者Ted Dunning说:“DevOps具有现代化的发展趋势,越来越多人将某种数据科学能力注入到开发和系统中,所以DevOps的团队中需要一个有数据框架思维的人。”
DataOps原则
与DevOps一样,DataOps借鉴了灵活的方法,以满足客户为主要目标,重视有关分析的持续性交付。
根据DataOps声明称,DataOps团队重视有效的分析,通过他们提供的见解来衡量数据分析的性能。DataOps团队接受变革的同时,不断地了解那些不断变化的客户需求。他们围绕着目标进行自我组织,并寻求减少“英雄主义”,转而支持可持续和可扩展的团队和流程。
DataOps团队还试图从头到尾地编排数据、工具、代码和环境,目的是提供可重现的结果。团队倾向于将分析管道看似于精益生产线,并定期反映客户、团队成员和运营统计数据所提供的反馈。
DataOps的适用范围
当今企业越来越多地将机器学习注入到大量的产品和服务中,而DataOps是一种在支持机器学习端到端需求的方法。
“例如,这种风格使数据科学家更容易获得软件工程的支持,以便在部署过程中将模型移交给运营部门时提供所需的支持,”Dunning和HPE首席技术专家、合著者Ellen Friedman写道。
“DataOps方法不仅限于机器学习。”他们补充道,“这种组织方式对于任何面向数据的工作来说都是有用的,从而可以更容易地利用构建全球数据结构所带来的好处。”
他们还指出,DataOps很适合微服务架构。
实践中的DataOps
Dunning和Friedman认为,为了充分利用DataOps,企业必须改进其数据管理策略,以处理大规模的数据,并在实际事件发生时对其作出响应。
他们写道:“传统上各自为政的角色可能过于僵化和缓慢,无法很好地适应正在经历数字化转型的大数据企业。这正是DataOps可以提供到帮助的地方。”
由于DataOps建立在DevOps之上,因此跨职能团队(如运营、软件工程、架构和规划、产品管理、数据分析、数据开发和数据工程)是必不可少的。DataOps团队的管理方式应确保开发人员、运营专家和数据专家之间加强彼此的协作和沟通。
据Dunning称,数据科学家可能是DataOps团队的关键成员。他说:“我认为,最重要的是不坚持传统的象牙塔组织,即数据科学家与开发团队分开居住。你可以采取的最重要一步是将数据科学家融入到DevOps团队中。当他们住在同一个房间里,吃着相同的菜肴,听着同样的抱怨时,自然会变得一致。”
但Dunning也指出,数据科学家可能不需要永久性地被安排进DataOps团队中。
“通常情况下,团队中会有一位数据科学家。”Dunning说,“当他们的能力和敏感性开始减弱后,团队中的某个人将担当起数据工程师和低成本数据科学家的角色。然后,古董团队中实际的数据科学家也将继续被融入,从而会形成一个不稳定的局面。”
如何组建DataOps团队
Friedman说,大多数基于DevOps的企业已经掌握了DataOps团队的核心。一旦确定需要数据密集型开发的项目,只需向团队中加入一位受过数据培训的数据工程师即可。
通常情况下,团队将由技能重叠的人员组成,或者根据专业知识在DataOps团队中担任多个角色。
Dunningg和Friedman在他们的书中写道:“在大型项目中,一个特定的DataOps角色可能不止由一个人担任,有些人会担任多个角色也很常见。”
操作和软件工程技能可能重叠;具有软件工程经验的团队成员也可能是位合格的数据工程师。通常,数据科学家具有数据工程技能。然而,很少能看到数据科学和操作之间存在重叠。”
据Forrester的Goetz称,DataOps团队的一些关键专业知识领域包括:
● 数据库
● 集成
● 数据流程编排
● 数据策略部署
● 数据和模型集成
● 数据安全和隐私控制
无论DataOps团队的组成如何,必须有一个共同的目标是:他们支持数据驱动的需求服务。
“有了工程团队,优秀的工程师,你需要做的是你需要设定好目标,”Dunning说:“一旦有了一个共同的目标,即解决问题,那么团队就会被组织起来解决这个问题。当不同的人看到问题的不同方面时,困难就来了。
操作人员会担心可靠性,数据科学的人倾向于关注答案的准确性。但当他们试图解决同样的问题,并愿意在如何解决问题上做出妥协时,我认为这是一个相当容易被建立起来的社会结构。”
DataOps角色
据Goetz的说法,DataOps团队成员包括:
● 数据专家,支持数据环境和开发最佳实践
● 数据工程师,为BI、分析和业务应用程序提供特别和系统支持
● 首席数据工程师,负责产品和面向客户可交付成果的开发人员
联系客服