Redian新闻
>
解决研发数据分析瓶颈,开源项目DevLake加入Apache软件基金会孵化器 | InfoQ专访

解决研发数据分析瓶颈,开源项目DevLake加入Apache软件基金会孵化器 | InfoQ专访

科技

作者 | 蔡芳芳

近日,研发数据平台开源项目 DevLake 顺利通过投票,正式成为 Apache 软件基金会(ASF)的孵化项目。这意味着 DevLake 社区协作将朝着更加开放、规范以及国际化的方向演进。借此机会,InfoQ 专访了 DevLake 项目主创团队,进一步了解 DevLake 的开发背景、目标和未来规划。

为什么加入 Apache 软件基金会?

Apache 生态内数据类开源项目非常丰富且活跃,而 DevLake 项目致力于打造可扩展、可定制、灵活而健壮的研发效能数据分析平台。作为第一个专注研发数据这一垂直领域的数据平台,DevLake 项目团队一方面希望向 Apache 生态其他项目学习,密切交流、共同成长,另一方面也希望为 Apache 生态带来一些新的视角。

据介绍,DevLake 选择加入 Apache 软件基金会主要出于两方面考虑:首先,项目团队希望能够建立一个具有包容性、多元化和崇尚知识的社区,而 The Apache way,比如“开放”,“社区高于代码”等,能帮助 DevLake 更好地成长和持续发展;其次,DevLake 项目方向与 Apache 软件基金会的关注点高度契合,进入 Apache 生态能让项目近距离地向 Apache 的导师和其他数据类项目学习。

在进入 Apache 软件基金会孵化器前,DevLake 项目团队主要做了以下准备:学习和了解了 Apache 基金会的运作方式和对孵化器项目的要求,深刻理解 The Apache Way,明确未来 DevLake 在 Apache 生态的定位、方向和发展;对既有的代码仓库进行开源合规性扫描,替换和 Apache license 不兼容的依赖,确保代码库合规;搭建项目官网,汇总了 DevLake 所有的项目信息 (技术文档、博客等),为开发者加入社区提供统一入口。

研发效能数据平台的痛点

当前,研发效能数据平台方向仍存在诸多问题和挑战。

首先,研发工具种类繁多,工具组合更多,集成非常困难。如果一个 PMO 或者技术 Leader 想看项目、代码、测试、构建的数据,需要在不同工具之间频繁切换,还必须记住各种访问地址、用户名、密码等,非常麻烦。

其次,研发工具间无法互通。比如项目管理工具 Jira、代码托管平台 GitLab、 CI/CD 工具 Jenkins,以及 IM 和文档工具飞书之间都是无法互通的。如果管理人员想要了解修复每个 Bug 用了多少代码,或者在功能、Bug、基建等方面的代码投入比例,或者分析不同产品(应用)的构建频率、成果率和时长等,就需要花费颇多功夫将工具关联起来。

再次,研发过程数据非标准化,导致难以直接进行研发效能度量。如果管理人员使用单纯的数据集成工具,虽然可以快速集成数据,但数据形式往往是原始的 API 请求结果(以 json 格式为主),没法直接用来分析。如果能够提供便捷的数据转换,使用户能通过标准 SQL 分析,体验就会好很多。

最后,业内缺少研发数据平台的基础框架,无法满足一些用户的定制化分析需求。虽然市面上已有一些研发效能分析工具,但基本都聚焦于数据收集、转换、指标可视化等。这种做法的好处是用户可以很快上手,但不足的地方在于“只能集成这些工具支持的数据源”、“指标计算方式不透明”且“无法定义新的指标”。

而 DevLake 就是为了解决上述问题而生的。以解决定制化分析需求为例:

  • 从数据源支持的角度,DevLake 提供了一套简明的插件编写范例和说明文档,帮助大家快速开发插件。如果 DevLake 暂不支持某个 DevOps 工具 X,用户可以很方便地实现插件 X 并贡献给社区;

  • 从指标透明度和灵活性的角度,不同用户在不同场景下,可能会需要不同的效能指标计算方法。以“测试覆盖率”为例,有的团队会使用基于“代码行”的覆盖率,有的会使用基于“函数”或者“逻辑分支”的覆盖率。现在工具往往只能支持固定的指标计算方式,而 DevLake 作为研发数据平台,在数据的应用上给予用户更大的自由度,用户可以方便地自定义指标,或调整计算方式,如果缺乏指标计算所需的原始数据,用户也可以使用 DBT 自定义数据模型来实现数据转换。

总体而言,DevLake 的目标是帮助研发团队更好地理解开发过程,挖掘关键瓶颈与提效机会。

  1. DevLake 可以帮助研发团队汇集并分析散落、非标准的研发过程数据,快速建设研发数据分析能力,从数据中发现研发过程的短板,有针对性地提升软件质量和开发效率;

  2. 对于开发者而言,如果开发者需要为团队搭建研发数据分析平台,那么 DevLake 已经搭建好了基础设施,能够帮助开发者节省很多造轮子的工作;如果开发者做的是其他垂直领域的数据分析平台,也能从 DevLake 中获得一些数据集成、处理的经验。

DevLake 技术特性和用户案例

据介绍,DevLake 当前具备以下技术特性:

  1. Extensible(可拓展性):DevLake 基于 Golang plugin 系统设计了灵活的插件系统,支持用户独立开发接入任意数据源(包括自研工具),并可通过 dbt 插件运行用户自定义的数据转换 / 分析任务;

  2. Transparent(透明性): DevLake 会将收集来的数据清洗转换到自己的 domain model schema,并基于此来生成后续的分析指标,对用户来说简单易懂;用户也可以基于 domain model schema 自定义指标或调整指标计算方式;

  3. Minimal(架构简洁):框架简练,同时最大化地共用了插件的重复逻辑,尽量用最少的代码做最多的事情;同时数据收集、分析任务的编排方式参照 GitLab pipeline 设计,简单易懂,用户和开发者能够轻松地理解并操作;

  4. Customizable(定制性): DevLake 采用模块化设计, 底层存储可根据用户数据规模进行替换,适用于不同规模的开发团队;

  5. Robust(鲁棒性): DevLake 的数据收集模块能在数据源 rate limit 范围内高效收集数据,并且有良好的错误恢复能力;

DevLake 架构图

目前 DevLake 已经被用于为一些开源项目提供基于版本和模块的质量和贡献数据分析,如 PingCAP 的 TiDB、TiKV 以及 Clickhouse 等。

以 PingCAP 的 TiDB 项目为例,目前 PingCAP 有相当多的开源项目,需要了解各个版本的用户使用体验,以指导测试资源分配,并为架构演进方向决策提供参考。

但要达成这个目标还存在很多挑战,比如:

  • 缺乏工具来快速收集和转化 GitHub 数据进行分析,只能通过一个个独立的脚本获取数据,但数据是散乱的、非结构化的;

  • Issue 和 PR 上的标签不全,导致无法搞清楚一个 bug 是哪个版本发现的;

  • 缺乏更准确的指标,原来使用的基于代码行的“测试覆盖率”无法反应真实情况。

针对以上问题,DevLake 提供了一套更好的解决方案:

  • 基于 DevLake 研发数据平台,统一汇集并处理来自 GitHub 的研发数据,保障数据有效性,使其能够直接用于分析;

  • 通过分析各版本间解决 bug 的数量、严重等级等数据,预估版本的稳定程度,以更好地评估使用体验;

  • 通过分析模块间的 bug 数量、严重等级分布、代码变更频率等,发现质量缺陷密度高的模块,从而投入更多的测试和重构资源;

  • 通过函数 / 逻辑分支等替代基于行的“测试覆盖率”,通过计算覆盖率与最终 bug 数量的相关性,调整覆盖率算法,使其能更准确地反映真实的缺陷密度。

面向开源项目的版本 / 模块质量分析 Dashboard 截图

未来规划

后续在技术与产品层面,DevLake 计划集成更多数据源,覆盖整个软件开发生命周期 (SDLC);提供更丰富的研发数据分析场景,与用户共建 Dashboard,实现更进一步的开箱即用;提升灵活性,用户能够根据自身业务需求,轻松地自定义数据模型和指标;优化用户体验,降低安装、配置、收集的成本,使用户专注数据分析;增强系统可伸缩性, 提升大规模数据场景下的系统性能。

在社区生态层面,加入 Apache 软件基金会孵化器后,DevLake 将遵循 Apache 之道,进一步提升 DevLake 在开源社区的知名度和友好度,打造活跃的开源技术生态和社区,包括:

  1. 组织多种多样的社区活动,积极进行线上和线下技术布道,以 “码” 会友,通过 Meetup、Hackathon 等活动吸引开发者和开源爱好者参与到 DevLake 的社区中来;

  2. 打造开放、友好的交流环境,完善和丰富 DevLake 相关内容体系,完善用户文档和贡献指南,提供邮件列表、微信群、Slack 等多种沟通工具和更及时的响应,降低用户使用和参与门槛,积极与用户互动,解决用户问题并进一步促进项目迭代;

  3. 积极与其他开源项目和社区展开合作,让越来越多的生态合作伙伴了解和参与到 DevLake 的社区,共建繁荣的数据生态。

项目导师介绍和寄语

姜宁:HugeGraph Champion、ASF Member,同时也是今年当选的 Apache 董事

“非常高兴能够成为 DevLake 的开源孵化领路人,帮助 DevLake 加入 ASF 孵化器。DevLake 着力于解决软件研发领域数据收集,以及研发瓶颈分析的痛点问题。欢迎对提升软件研发效率感兴趣的小伙伴参与到 DevLake 的使用和开发中来,一同构建繁荣发展的社区生态。”

张亮:SphereEx 公司创始人 & CEO,ASF Member 、Apache ShardingSphere 创始人 & PMC Chair

“欢迎 Apache 孵化器的新成员 DevLake。它将使工程效能领域的发展更加开放和繁荣,进而推动整个领域的标准化进程。欢迎更多的贡献者参与 ASF 社区,望 DevLake 早日毕业!”

代立冬:ASF Member、Apache DolphinScheduler PMC Chair

“很高兴看到 DevLake 加入到 Apache 孵化器,DevLake 是一个专为开发团队分析和提高工程生产力的平台,欢迎广大的开发伙伴们一起参与让 DevLake 社区更加繁荣、早日成为顶级项目!”

郭斯杰:ASF Member, PMC on Apache Pulsar,StreamNative 创始人 & CEO

“祝贺 DevLake 进入 Apache 软件基金会孵化器,这是 DevLake 走向世界的一大步,期待有更多技术爱好者和用户加入,共建繁荣。祝社区快速成长成为顶级项目,成为研发数据平台的中流砥柱。”

Felix Cheung:ASF Member,Apache Zeppelin、Spark、SuperSet、YuniKorn、Pinot 等项目 PMC,SafeGraph 技术高级副总裁

Jean-Baptiste Onofré:ASF Member,Karaf PMC Chair,ActiveMQ、Archiva、Aries、Beam、Brooklyn、Camel、Carbondata、Felix 等项目 PMC

相关链接:

Devlake 代码仓库:https://github.com/apache/incubator-devlake/

DevLake 官网:https://devlake.apache.org/

每一位开源参与者、每一个开源项目都可以成为舞台上的主角。

新的一波开源浪潮正在席卷中国,【开源聚光灯】(https://www.infoq.cn/theme/opensource)是 InfoQ 重点打造的开源主题栏目,旨在通过新闻、系列访谈、用户调查、迷你书、视频等形式深入观察开源运动,围绕开源的价值和开源开发模式,与投身开源的每一个个体共同探讨开源发展现状,照亮每一个开源舞台上的参与者。

如果你有开源故事或对开源的深刻观点想要分享、或开源项目想要寻求报道,欢迎联系微信 caifangfang842852(请注明姓名和来由)。
今日好文推荐

独家专访字节跳动开源委员会:定位“资源中台”,不会为开源设立强KPI

让企业胆战心惊的GPL官司:新裁决是开源许可历史上的重要转折点

我在产品上线前不小心删除了7 TB的视频

英伟达终于开源GPU内核模块代码,网友:难以置信

点个在看少个 bug 👇

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Apache Kyuubi:一个有趣的大数据开源项目上一个说“丼”不读jǐng的人,已经被我骂哭了ESI 集团同 ENSAM 合作,开源其 Inpsector 软件 | Linux 中国老年医学SCI论文选刊及大数据分析(2022)多条业务线大裁撤,字节教育回到孵化状态|焦点分析义与利,公与私微软加入开放 3D 基金会,参与开源 3D 开发 | Linux 中国宾利女事件基本清楚了:这就是一起普通的车位纠纷软件包分析项目实时检查开源仓库中的包 | Linux 中国墨西哥Riviera Maya玛雅海滨之旅(七)Bahia Principe 海上日出有研究表明,推特能够推动开源项目的普及 | Linux 中国数据分析师面试问题:如何证明你具备这份工作所需的技能?独家专访字节跳动开源委员会:定位“资源中台”,不会为开源设立强KPI"百元限购令"惊现!发生了什么?这类基金产品成爆品,新发数为去年同期五倍多硬核观察 #657 开源固件基金会发布公开信要求英特尔开源 FSPOpenInfra 基金会启动“定向资助”以支持开源项目 | Linux 中国“想一想,再行动”,数据分析师到底都得会点啥?婚姻的自信文档并不是开源项目开发的附属品 | Linux 中国采访了定义开源的那个人,他说:RMS有自闭症,开源不能单一仓库帮策划形成数据思维:如何低成本打造游戏数据分析工具?E-prime软件菜单栏消失了,如何恢复?自由软件基金会为什么不认为 Debian 是一种自由发行版? | Linux 中国PG&E加强火灾高危区电力安全设置求职讲座:如何备战Apple软件类岗位面试?企业如何突破瓶颈,找寻变局中的创新发展之道?在美国49. 必须这样干!因果学习将开启下一代AI浪潮?九章云极DataCanvas正式发布YLearn因果学习开源项目【玻利维亚】(9)回到拉巴斯[时尚] Travis Scott x Nike Air Max 1 “Baroque Brown”开箱Chase加航Aeroplan信用卡一些不为人知的福利介绍Copilot免费时代结束!正式版67元/月,学生党和热门开源项目维护者可白嫖美容离不开肩颈,养生首当肩颈,让您青春永驻StarRocks叶谦:新一代MPP数据库助力企业打造“极速统一”数据分析新范式 | 甲子引力一块英伟达3090单挑180亿参数大模型,国产开源项目这回杀疯了
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。