什么是 DevOps 可见度?

2022-04-01 10:00:00
陆沉
转贴:
公众号
629
摘要:简单来说, DevOps Visibility 就是跟踪并获取 DevOps 整个流程中每一步的价值,并且连接成价值流。

一、概览

DevOps Visibility 是什么

Our approach to DevOps is leveraging the tools and technology that are already in place and then tracking value as it moves through those tools and technologies without interrupting the DevOps tool stack, This provides visibility to all stakeholders all the way through to the production deployment.[0]


最近总在谈提效。DevOps Visibility 认为,虽然你采取了 DevOps,但如果这些好处没有被看到,你就无从感知 (DevOps adoption comes with a number of benefits, but you won't know them if you can't see within.).


那么简单来说, DevOps Visibility 就是跟踪并获取 DevOps 整个流程中每一步的价值,并且连接成价值流。


2019 年,SmartDraw 对市面上的 DevOps Visibility 报表做了调查。结果很惊人:几乎所有的公司都在寻找提高 DevOps 可见度的方法,84%的受访者认为这对他们的公司极其重要[1]。

 DevOps Visibility

问题:More Release, More Problems.

因为发布越来越频繁,性能和可用性问题其实更多了,Ops 经常花费更多的时间进行故障排除。比如 ssh 上服务器看 log,使用正则表达式查问题等[2]。总结就是:


  1. 没有一致性

  2. 没有集中化

  3. 没有可见性


前两个问题很重要,但不是这里探讨的重点。DevOps Visibility - Monitor, Track, Troubleshoot 这篇文章认为,没有可见性意味着这些问题:


  • 高价值的数据被埋在海量(PB)级别的数据中。
  • 有意义的观点很难组合。
  • 没有实时的 DevOps 可见性。
  • 庞大的 log 无法分析利用。


而 IBM 认为,DevOps 工具的碎片状态和他们之间的松散集成导致了他们的这些问题 [5]:


  • 工具可见性较差。
  • 风险评估能力有限:风险评估基于信息与经验,而不是数据。
  • 操作复杂。DevOps 组织必须评估、选型、实施和集成各种工具链。


二、手段

Workflow Visibility

|Show others what you do

  1. type – 正在进行什么工作。

  2. volume – 进行多少了。

  3. assignment – 谁在干嘛。

  4. rhythm – 节奏。这个事情进行多久了,后面排期的有什么。


Pipeline Visibility

大白话,不翻译了。频繁提的几个点。


  • Deployment frequency: Companies with DevOps cultures deploy code more frequently.

  • Change lead time: How quickly teams make change is a great way to measure their agility. High-performing DevOps teams average less than one hour between code commits and deploys, while traditional teams take between one to six months.

  • Mean time to recover (MTTR): Every organization has failures. Modern teams recover in minutes, not hours. Having precise measurements of MTTR helps IT managers monitor the people, processes, and technology that enable rapid recovery and head off problems before they result in significant downtime.


System Visibility

|Monitoring

系统可见性,大白话讲就是监控。在 Visibility in DevOps[3] 这个 Slider(这个 Slider 可以算是一个为 logicMonitor 打的广告),DevOps 的监控应当有这样一些特性:


  • 对所有环境监控,而不单单是线上。

Monitoring

  • 建立基线。代码的效率和资源利用率应当根据一个基线去度量。
  • 指标驱动的测试。
  • 自动发现


三、解决方案

IBM Cloud DevOps Insights

Teams strive for improvements in productivity, efficiencies, and time-to-market. But the fragmented state of DevOps tools and poor integration between them results in the inability to use data from these tools to easily measure success or improve the quality of their code. DevOps processes, like any other business process, must be data-driven.


IBM 针对  “数据驱动的” DevOps 提出了 Cloud DevOps Insights 的解决方案。主要以这三个手段解决问题:


  • 速度:一个大盘集成所有分析。

  • 质量:使用门控部署(Gated Deployment Policies,俗称卡点控制)来降低风险。例如如果存在代码覆盖率卡点,DevOps Insights 始终卡掉不在规定覆盖率范围内的代码。

  • 控制:度量团队采取 DevOps 后的长时间趋势。帮助团队管理他们的 DevOps 实践。


基于分支的应用大盘:

devops-3


构建报告

devops-4


New Relic

New Relic is a web application performance service designed to work in a real time with your live web app


New Relic 分三层提供 DevOps Visibility 的解决方案,完全属于解决 System Visibility 这一趴。


  • Prepare your DevOps team(针对 SLO )
  • Activate well-defined processes (针对创建和监控指标、仪表盘等手段,把度量与迭代关联、集成)

    devops-5

  • Optimize your team, process, and enterprise
    • 主要是服务地图,对服务依赖进行关系化并且进行风险识别。服务地图会自动显示应用程序的连接和依赖关系,包括应用程序,数据库,主机,服务器和外部服务。运行状况指示器和性能指标显示架构的每个部分的当前运行状态。比如下图就打通了从 WebApp 到后端服务的依赖识别
devops-6.5

devops-6


Logic Monitor

SaaS-based Performance Monitoring for Modern IT Infrastructure


Logic Monitor 提供了 DevOps 监控的 saas 解决方案:


  • Hosted SaaS Solutions: Spend your time fixing problems,not implementing monitoring.
    即用户应该去解决问题,而不是搭建监控。
  • Automated Discovery: 不要监控那些你已经很了解的事情。应当监控那些你不知道的东西。
  • Low performance overhead: 避免通过代理的解决方案。
  • Clear Dashboards: 让用户快速获得见解。

    devops-7


四、建议与细节

在 Four Ways to Improve DevOps Visibility 这篇文章中,提出了 4 个提高 DevOps Visibility 效率的建议 [1]:


  • 避免在电子表格中实现 DevOps Visibility.
  • 以易于理解的形式展现 DevOps Visibility.
  • 以 Low-Code 或 No-Code 的解决方案呈现 DevOps Visibility.
  • 允许工程师在不向工程中提交变更的情况下更新 DevOps Visibility Report.


其他的细节

  • New Relic 中,把度量与迭代关联在一起。

    devops-8


References

[0] Dennis Ehle. (2016, Nov 24). Dennis Ehle on Visibility into the DevOps Value Chain. Retrieved from  https://www.infoq.com/articles/agile2016-visibility-devops/

[1] Joshua Platt. (2019, Apr 19). Four Ways to Improve DevOps Visibility. Retrieved from https://dzone.com/articles/four-ways-to-improve-devops-visibility

[2] Michael Floyd. (2016, Jan 11). DevOps Visibility - Monitor, Track, Troubleshoot. Retrieved from https://www.sumologic.com/blog/devops-visibility/

[3] ????lmtour-151119210346-lva1-app6892.pdf

[4] New Relic https://docs.newrelic.com/

[5] IBM Cloud DevOps Insights https://www.ibm.com/cloud/blog/devops-insights-is-live

DevOps文章
联系我们
联系人: 阿道
电话: 17762006160
地址: 青岛市黄岛区井冈山路157号中南金石国际广场A座3202室