DevOps工程的数据可视化

2022-05-30 10:00:00
MarsRover
转贴:
公众号
560
摘要:对大多数公司来说,最有价值的资产就是数据。每家公司每天都会产生与其产品或服务相关的大量内部数据,这些分散在不同源头的数据对于公司战略决策、保持竞争优势、改善产品或服务交付的效率至关重要。
对大多数公司来说,最有价值的资产就是数据。每家公司每天都会产生与其产品或服务相关的大量内部数据,这些分散在不同源头的数据对于公司战略决策、保持竞争优势、改善产品或服务交付的效率至关重要。

这篇文章会介绍软件公司存在数据和可视化,以及基于数据如何优化并缩短软件开发周期。

1. 可以抓取哪些数据

1.1 源代码管理

  • Coding Time

从第一次 commit 到 提交一次 pull request 的时间窗间隔。

  • Pull Request Size
一次 pull request 涉及的平均代码变更规模(以代码行为单位)。
  • Review Depth
每个 pull request 平均评论数(review comments)。
  • Code Changes
代码变更是衡量团队或个人新增或更改代码的总行数指标。
  • Commits
代码 commit 指标是指在指定时间窗内,团队或个人向代码仓库中所有分支推送的commit 数量。

1.2 敏捷项目管理

腾讯TAPD、PingCode、ONES 等是国内敏捷项目管理比较常用的工具,每一个需求 (Feature) 或缺陷 (Bug) 都能够对应到敏捷项目管理中的 Story、Task、Issue 等对象。

敏捷项目团队可以为需求、任务或缺陷创建Story、Task 和 Issue,用于跟踪需求的进展。用户可以通过敏捷项目管理工具获取相关数据,如处于开发阶段的需求数量,未关闭的缺陷数量等。

1.3 CI/CD 工具

持续集成(CI)和持续部署(CD)的数据可视化可以汇集 CI 测试、CD 部署和pipeline 的结果数据,以及 CI/CD 的性能、趋势和可靠性数据。不仅可以让开发人员能过深入了解 CI 测试和 pipeline 执行失败的原因、监控测试集的实际耗时,同时也可以了解 CI/CD 工程本身的运行健康状况和性能。

1.4 应用的可观测性

生产环境中应用的可观测性数据包括监控指标、日志、链路跟踪,它们通常被称为“可观测性的三大支柱”。
  • 指标(Metric)
指标是连续时间下的系统的值的记录,基础指标通常用于描述两种数据类型,一种是计数(Count),一种是计量(Gauge)。
  • 日志(Log)
系统 / 应用输出的时间相关的记录,通常由系统 / 软件开发人员输出,方便定位系统的错误和状态。
  • 链路(Tracing)
基于有向无环图构建的软件各个模块直接的调用关系。

2. 数据可视化好处

DevOps 数据可视化有助于持续识别软件开发过程中的瓶颈,此外还可以帮助确定组织、项目、个人的基准数据,作为管理决策的输入。

以下列举了数据可视化带来的一些具体价值:
  • 来自不同源的数据可以持续的、自动化的被收集和存储,同时通过统计学的算法直观的呈现在数据看板上。
  • 洞察软件开发过程中的团队效能。
  • 实时了解代码的质量、迭代交付的周期,持续改进流程、产品与服务。
  • 有助于高层管理的决策和规划。 

3. 数据不是“银弹”

数据驱动的DevOps 工程化虽然有助于研发效能提升,但是真正研发效能的提升的核心还是在于研发团队工程技能的提升,比如需求分析技能、架构设计技能、编码技能等。所谓 DevOps 就是将人、流程和技术结合起来,持续为客户提供价值。
DevOps文章
联系我们
联系人: 阿道
电话: 17762006160
地址: 青岛市黄岛区井冈山路157号中南金石国际广场A座3202室