为什么应用发布的成功率会这么低?|学习笔记

简介: 快速学习为什么应用发布的成功率会这么低?

开发者学堂课程【ALPD 云架构师系列-云原生 DevOps36计为什么应用发布的成功率会这么低?】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/82/detail/1288


为什么应用发布的成功率会这么低?

 

一、做到安全可信的发布

C++工程实践基本分为三个部分,不可变基础设施,不可变制品,不可变环境,不可变的发布流水线的过程。本次内容是做到安全可靠的发布,质量是非常重要的一个点,当然安全等因素也很重要。

终态需要提供稳定、可预期的系统。可预期的系统,需要确保环境和软件制品(例:容器镜像)一致性。这是在终态提供服务的角度来看的,有的服务是这样的。但在整个软件协作的过程中,软件的协作是工程师围绕着代码协作的过程,在整个协作的过程中,制品、环境、发布过程都是定义在代码里的。软件交付能力的目标是发得容易,发得频繁。发得频繁属于增量,发得容易是因为每次发布时间比较少。下图的发布成功率达到30.63%,横轴代表时间,纵轴代表每次发布消耗的时长,越往上,发布所需时间越长,越往下就越短,红色的点代表发布失败,绿色的点代表发布成功。

看到这个图之后,能发现什么问题?首先是成功率只有百分之三十左右,发布成功率为什么这么低,有什么问题? 

 image.png

为什么发布的不频繁,也不容易,每次发布都需要那么长时间并且成功率也不高。在实际操作过程中,有很多的理由会导致发布成功率特别低,因为出现bug没有修复,因为有很多冲突,有等待会导致这样的问题。

除了上面这些之外,第一,无法按期交付、挤占需求开发时间。可能无法做到按期交付,不是开发组或测试组不愿意,而是在实际过程中,开发和测试可能占据大量的时间,让维护没有太多的时间,或本身软件质量特别差,有很多缺陷,需要修改相应的缺陷,需要响应一些故障,导致无法在前期做好工作,随着过程的推进,会发现花在维护上的时间特别多,导致没有多长时间做功能上的开发,从而形成恶性循环,会让维护的工作在后期堆得更多。在互联网行业里大家的做法都是操,快,猛,一开始为了响应业务,基本所有的时间都在做开发,但等到业务扩大,再继续开发就很难向前前进,这时绝大多数人都放在维护阶段,但维护的成本是很高的。基本没有太多时间开发新的项目,而且在一个非常脆弱的系统里,增加一个新的东西是很难的。

 image.png

第二点,问题发现的越晚,修复成本越高。随问题发现时间的延后,修复成本呈指数级上升。在电信行业,一旦问题留到客户那里,成本是非常非常高的。有一年在法国出现电信的故障,电信级别软件的交互与生产环境和开发环境是打不通的。一旦出现问题,要去生产环境中解决这个故障,意味着要派工程师从中国飞到法国,再做相应的调研,出相应的解决方案进行修补。在这个过程当中,对于电信设备来说,是无法提供正常工作的,如果这时出现紧急状况需要拨打电话,电话又打不通,这时就会产生很高的成本。站在商业的角度,运营商很容易提出要求赔偿,一小时赔付多少签,这时成本会越来越高。在互联网行业中,也是这样。上线之后,造成的成本,带来的疑情,带来的故障等导致的成本是很难的,称这个成本为交付质量成本,另外一个成本是在交付过程中产生的成本,也是问题发现的越晚,成本越高,研发团队的角色,职能就会越多,最终形成的道理就是问题发现的越晚,修复成本越高。

 image.png

基于上面两点,问题对交付效率和结果是有特别大的影响的,只有发布内容的质量得到了保证,才能做到发的容易、发得频繁。发布内容包括制品,发布的策略、环境、配置。可运行的系统就是待发布的内容,所以要保证待发布的系统的质量。要做到这一点会通过全方位的测试质量守护体系,保障交互质量。

image.png

相关文章
|
5月前
|
SQL 搜索推荐 Android开发
AB测试实战(一)
AB测试是一种数据驱动的产品优化方法,用于比较不同版本的网页、应用界面或营销策略的效果。
|
3月前
|
Java
软件交付质量问题之要提升发布成功率,如何实现
软件交付质量问题之要提升发布成功率,如何实现
|
5月前
|
测试技术 Python
AB测试实战(二)
AB测试是一种数据驱动的产品优化方法,用于比较不同版本的网页、应用界面或营销策略的效果。
|
6月前
|
存储 缓存 监控
微信团队分享:微信后端海量数据查询从1000ms降到100ms的技术实践
针对大数据量带来的查询性能问题,微信团队对数据层查询接口进行了针对性的优化,将平均查询速度从1000ms+优化到了100ms级别。本文为各位分享优化过程,希望对你有用!
83 2
|
6月前
|
设计模式 小程序 物联网
社区每周丨商家券开发接入流程描述优化及上周建议反馈(2.20-2.24)
社区每周丨商家券开发接入流程描述优化及上周建议反馈(2.20-2.24)
75 11
|
6月前
|
数据采集 Java
测试!芝麻代理效果怎么样?数据采集成功率?
多了不说,少了不要,直接1000个测试。
|
Dubbo Java 应用服务中间件
发布稳定性-优雅上线
之前的文章讲了优雅下线,今天讲优雅上线
149 0
发布稳定性-优雅上线
|
数据采集 存储 Java
支付宝客户端体验度量与诊断
支付宝客户端体验度量与诊断
421 0
|
Cloud Native 安全 架构师
为什么应用发布的成功率会这么低 | 学习笔记
快速学习为什么应用发布的成功率会这么低
为什么应用发布的成功率会这么低 | 学习笔记