更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群
本文依据 ArchSummit 寰球架构师峰会(深圳站)来自抖音数据研发负责人王洋的现场分享实录整顿而成(有删减),本次分享次要蕴含字节跳动数据研发的模式与挑战、DataOps 理念在字节的具象、DataOps 产品化及落地、最佳实际、将来瞻望五个局部,分享内容皆来自于字节跳动业务实践经验。
字节跳动数据研发的模式与挑战
中台工具 + 数据 BP 模式
字节在落地 DataOps 的过程当中,与咱们数据反对所采纳的中台工具 + 数据 BP 的组织模式相结合,由中台工具团队负责打造性能的基座,实现了数据开发的各项根底能力并提供开放平台,对数据 BP 团队提供贴身的技术支持,同时也将这些能力通过火山引擎以内外一体的模式输入。所谓的内外一体是指字节的各类数据工具如 DataLeap 在面向内外部用户应用上实现了一致性。
对于数据 BP 团队来说,在落地 DataOps 的过程中,重点做了三件事件:第一件事是标准的制订,在字节外部长期实践过程中,咱们认为实际团队才是标准的最佳发源地;第二件事是基于中台工具的开放平台实现插件的开发,数据 BP 并不是一个纯数仓团队,其中也蕴含了局部工程团队,与数仓一体的工程团队能够将数仓日常的痛点以插件的模式实现并落地,不同数据 BP 团队能够依据本人的特点开发不同插件;最初一件事是收益评估,DataOps 推广完了之后,也是放在 BP 来评估,而不是放在平台来评估,中台工具团队就能够专一于能力自身,开发数据 BP 团队专一于整个标准跟价值。最初内部客户能够同时享受到咱们的平台能力,以及积淀下来的 BP 模式,这就是字节整个团队在 DataOps 上落地的合作模式。
数据 BP 的外围指标:0987
数据 BP 团队做的好坏与否如何来评估,咱们用了一套浅显易懂的指标 0987 来评估
0 指不要出数据事变,这里的事变包含了时效、品质等问题,因为咱们反对了较多线上和资损场景,事变在咱们的评估体系中是生命线;
9 指需要满足率,咱们承接了来自多方的数据需要,心愿能达成 90% 以上的需要咱们都能按期交付的指标;
8 指剖析覆盖率,这个指标指内部团队基于数仓的查问能 80% 应用到通过咱们建设和汇聚的表,而非原始表;
7 指 NPS 指标,咱们每个季度会面向所有提需用户和数据应用用户发放问卷,收集对应的反馈信息,70% 意味着大部分的同学对咱们持正向评估且负向评估趋近于 0;
来自品质挑战
在字节数据团队以后的反对模式下,因为反对模式多种多样,笼罩了各类外围决策及线上场景,咱们遇到的首要挑战是来自数据品质的:
- 链路简单:最长工作全链路节点数量上千个,单个工作的的上游数量最大也达到了千级别
- 变更频繁:每周仅直播数据团队数据链路变更次数就能达到上千次,波及危险场景上百次
- 事变易发:质量事故时有发生,22 年全年数据研发事变波及到研发标准的占比 56%
来自硬件老本的挑战
在降本增效大背景下硬件老本也逐渐变成数据团队的一个外围挑战,在过来咱们管制老本与大多数公司统一,次要基于估算,先测算出一个全年计算和存储资源指标,而后基于估算发展治理动作,清理有效工作或升高 TTL;然而当初须要朝着需要的精细化管制方向后退,须要进一步看清楚我做这个需要须要多少硬件老本,从而将硬件老本的管控精细化到需要层面
来自人效的挑战
除去硬件老本外,咱们的另一个老本大头就是人力老本,我当初带一个数据研发团队,在每次进行 HC 盘点的时候我都会遇到两个灵魂发问:
- 如何证实团队以后的状态是高效的?
- 如何用更少的人员发明更大的业务价值?
这其实是一个很事实的挑战,咱们如何证实一个数据团队它的价值是什么?
DataOps 理念在字节的具象
既然面临着这么多的挑战,咱们就要去思考如何可能冲破这些挑战,从业内取经,咱们发现 DataOps 就是一种可能无效帮忙咱们解决上述问题的计划
信通院对于 DataOps 的定义
数据研发经营一体化(DataOps):是数据开发的新范式,将麻利、精益等理念融入数据开发过程,通过对数据相干人员、工具和流程的从新组织,突破合作壁垒,构建集开发、治理、经营于一体的自动化数据流水线,一直进步数据产品交付效率与品质,实现高质量数字化倒退。
咱们的了解
DataOps 是作用于人 + 流程 + 工具的一套方法论,指标是进步数据品质和开发效率,次要通过麻利合作、自动化 / 智能化、以及清晰的度量监测,让数据流水线达到继续集成、部署、交付(CI/CD),在 DataLeap 体系内,DataOps 次要以标准研发流程为目标,涵盖对标准研发流程的“已有能力集成”,造成一站式研发体验,同时也包含标准研发流程所需要害的“新能力建设 + 集成”,除此以外的数据开发根底能力迭代不作为 DataOps 的一部分
咱们认为 DataOps 的外围包含以下局部
第一个是链接,所谓的链接是要买通从需要、开发、资产、用户整个数据全链条的绑定关系。从性能上来讲它比较简单,解决了需要与代码的关系问题,业务研发侧早就曾经实现了这个能力,研发人员提交的每一段代码,都能晓得是哪个需要。然而在数据开发这件事件上,过来不足关注,所以首先须要做的事件是连贯需要跟数据全环节。
第二个是标准,过来数据研发整个全流程较为不足标准的产品化,次要通过团队外部的文档要求来承载,包含提需评审、模型开发测试、上线验收这些环节,咱们认为 DataOps 在标准下面最首要的事件是要把所有数据研发过程中的这些散落的标准产品化并嵌入到日常的开发链路中
DataOps 产品化及落地 -DataLeap
这张图展示的是字节数据开发的 dataleap 套件能力,涵盖了计算引擎、全链路开发、全域治理、资产等工具,这样的一站式大数据开发套件,可能帮忙用户疾速实现数据集成、开发、运维、治理、资产、平安等全套数据研发工作,帮忙数据团队无效的升高工作老本和数据保护老本、开掘数据价值、为企业决策提供数据撑持。DataLeap 不是一个产品,是一个套件(Suite)。形象的类比就是相似 Office,多个产品相互配合,解决同一个大的问题或者叫解决方案,产品之间是相互合作辅助的关系。
DataOps 麻利标准研发平台
这是字节整个 DataOps 的产品化的整体框架图,外围提供的一套 DataOps 麻利标准研发平台。以前有一种模式是平台团队本人全包,把这些所有的标准全副给制订好,由平台团队推给数据开发团队,但这种模式不太适宜咱们,因为平台团队离业务远。
咱们认为在这种状况下平台应该抉择优先提供凋谢的能力,这里的凋谢能力包含凋谢数据与接口、凋谢流程等等,有了这套凋谢能力,意味着所有的数据开发团队能够本人去编排流程,去做本人的规定标准。
另外咱们发现开发团队做好之后,这套 DataOps 麻利标准研发平台在所有的数据开发团队都通用,举个例子,测试的能力在字节不是在平台做的,有专门的数据 BP 团队,实时这块有非凡诉求:公布完了之后数据要做盯盘,盯住实时数据的变动。依靠开放平台提供的数据反对,在直播场景下会提供给到主播一些实时的数据,去辅助他们做及时的决策。这些实时数据包含用户的数据、用户的画像等等,主播能够基于这些用户的画像去调整话术。基于开放平台,数据 BP 团队做工作的整个公布能力,之后咱们发现这套能力能够通用。
需要治理
简略的给大家看一下字节当初曾经上线的外部版本的性能,包含了需要治理的各个维度,当然需要治理这里其实外围的思路是让需要可能进入到数据研发的全流程当中,大家能够看到咱们会做需要的准入要求,以及跟开发过程以及交付绑定,而后需要的进度追踪、价值评估等相干的一些事件,这是一个规范需要流水线,是字节需要治理平台上的一套流程,就是从需要开始,初评、详评、排期、研发验收、价值反馈完结。
这是需要绑定页面,在做工作开发的时候须要对以后的一些需要做绑定,当然这只是提供了需要绑定开发环节的一个图,咱们也会有包,比如说资产环节以及工作环节等各种批改环节都会跟需要做绑定。这个性能很简略,然而需要的全链路串联为字节带来的收益十分大,解决了第一个是可度量所有全流程的问题。
流水线治理
第二个是流水线治理,字节的流水线治理包含测试流水线、公布、离线、实时工作治理、工作优先级治理等相干的能力,这是当初线上跑的一个工作,跑完的流水线的状态,就发布会做注销、检测、查看、review,而后定时公布工作、盯盘等确认等相干的动作。
重点讲一下这里的公布跟测试环节,这两块在很多公司其实是有测试环境的,然而在数据量特地大的场景和数据,或者较为简单的场景下测试环境是没数据的。测试环境跟业务研发相比,没方法涵盖各种各样的问题,比如说银行场景下测试环境和生产环境必定是隔离的,然而在字节这种互联网场景下咱们的抉择是不拆散,咱们的公布和测试其实是基于的是同一套数据,同一套环境,那如何做测试跟生产的一个隔离?外围点在于咱们要求所有没有通过公布流水线的工作是不能写生产的表的,读任何生产的表,然而不能写任何生产的表。这样带来的益处是咱们的测试和生产是完全一致的,同时也能保障测试完了之后间接推到生产下来,这样下来前面的测试、QA 染指的老本是极其低的,这是字节采纳的一种形式。
最佳实际
推广经营:如何在公司范畴内大规模落地 DataOps?
做了这些工具之后要如何去推广?这也是今年初字节面临的问题,就是如何在公司内大范畴去落地 DataOps 的能力。最早开始推得很辛苦,也遭逢了很多挑战,不过也总结了一些教训。
鲶鱼效应
第一个叫做鲶鱼效应,所谓的鲶鱼效应因为是数据 BP 在主导这件事件,所以主导团队能够先推起来。比如说在直播场景下先试用拿到十分多的指标,总结经验,咱们能够带着这些指标和教训去和其余团队沟通,以进步人效的角度切入,在这种状况之下,有的团队就会违心来学习试用。
拆箱即用
第二个是拆箱即用,咱们向其余 BP 团队提供的时候,其余 BP 团队不须要多做任何其余的事件,只须要关上他的流程开关就 OK 了,切换门路老本是非常低的。
自顶向下
第三个是自顶向下,相似的像 DataOps 这种工具跟能力,肯定是须要先拿到自顶向上,或者是来自于业务侧更高层的认可之后,才可能继续一直地往下推,相似标准的事件,不是一个自下往上能推得起来的。
指标牵引
一个研发 leader 必定会关注研发效力问题,这里给大家分享一套字节基于研发效力的指标牵引体系,该体系有四个维度的度量指标,包含效率、品质、资源投入、收益等相干的一些指标。这些指标是咱们参照业务研发来造成了一套数据研发指标体系,咱们会去关注数据需要的交付周期、定容率、交付数、缺点修复时长、线上事变、业务研发的配比。最初是重点专项相干的一些事件。这外面除了最初一个是须要人工去干涉的,其余的当初都能做到线上化的统计,这是十分不便的。
管理者视角
所谓管理者视角是围绕数据开发团队的价值和将来,通过凋谢让数据团队有可输入的业余价值。对于数据团队来讲有两类价值,一类叫做业务价值,一类叫做业余价值。业务价值很好讲,是我为业务做了多少个需要,其中哪些重点项目重点参加了,最初是为业务带来了多少效率上的晋升,通过某些数据的伎俩让业务拿到了多少收益。其次是专业性的价值,这个事件对于很多数据团队来讲是一个很困扰的难题,数据团队到底在业界、在公司外部有哪些是不可代替的?有哪些是专业性的货色?这里咱们在做 Datops 实际的时候,发现通过凋谢让数据团队本人有可输入的专业性价值,这十分要害,这能让数据团队很充沛地来参加到这件事件当中来。
开发者视角
在开发者视角层面,外围的事件是如何取得工作当中的成就感,这一点是留住人的要害:
- 认可 & 执行:标准自身是反兽性的,在团队内落地 DataOps 须要充沛沟通,联合团队调整与集体倒退,讲清为什么,防止粗犷落地
-
参加 & 奉献:构建人人可参加的开发环境,让数据开发能够深度的参加到流程制订与落地的过程中来,促成集体影响力的晋升
收益度量
落地 DataOps 的收益次要蕴含标准、品质、效率三局部,具体来看:
- 标准:在不同方向上标准制订与复用,保障流程 100% 落地
- 品质:系统性的解决危险场景上的研发流程问题,因研发流程导致的数据质量事故数归 0
-
效率:通过更牢靠的交付防止返工,同时叠加提效能力,预计可晋升研发在业务需要满足中的开发效率 10%+
将来瞻望
业务价值
最初是对于数据研发将来的瞻望,首先想谈谈业务价值:
- 数据需要价值度量规范
-
基于需要价值最大化的调度策略
数据需要的价值度量绝对性能需要而言更为简单,所以下一阶段咱们是心愿可能度量分明数据需要的具体价值,而后实现基于需要价值最大化的调度策略,从而达成咱们对于人效和老本的控制目标。品质与效率关
于品质与效率,将来咱们会次要关注以下三点:
- 基于大模型的需要对接能力
- 基于大模型辅助开发的能力
-
低成本的数据测试及验证能力
最近大模型特地火,咱们认为大模型参加数据研发是十分具备现实意义且具备挑战的事件,不管从需要对接还是辅助开发视角上,大模型都能为咱们提供更多自动化计划应答过来须要依赖教训积淀能力解决的问题;同时咱们发现在字节的数据规模下数据测试的老本是十分高的,将来也心愿摸索低成本的数据测试的验证计划。对外开放
DataOps 理念在字节落地的成绩后续也会通过火山引擎 DataLeap 对外输入。火山引擎 DataLeap 是一站式数据中台套件,可能帮忙用户疾速实现数据集成、开发、运维、治理、资产、平安等全套数据中台建设,帮忙数据团队无效的升高工作老本和数据保护老本、开掘数据价值、为企业决策提供数据撑持。
点击跳转 火山引擎 DataLeap理解更多