云原生时代,软件交付有何不同 | 研发效能提升36计

简介:从今天起,我们将开启一个新的专栏:《研发效能提升36计_持续交付篇》。专栏将通过10-20篇文章,系统分享云原生时代,企业如何落地持续交付。

编者按:从今天起,我们将开启一个新的专栏:《研发效能提升36计_持续交付篇》。专栏将通过10-20篇文章,系统分享云原生时代,企业如何落地持续交付,本文是该专栏的开篇。

Dora在2018年DevOps年度报告中对软件交付效能提出了一组度量指标,以衡量一个企业的软件交付水平。

  • 部署频率。指应用将变更部署到生产环境的频率。如每天都有部署,一天能部署十次,还是一天部署一次,或者一个月才部署一次。
  • 变更前置时长。指从代码提交到部署上线并在生产环境运行起来的时长。
  • 服务恢复时间。是服务中断之后到下一次服务能够恢复以继续服务的时长。
  • 变更失败率。是指对生产环境的变更失败的比率,总共变更了多少次,其中有多少次是失败的。

可以看到,“精英”团队的部署频率基本上是按需——只要想发布,就可以随时发布上去。我们将“低效能”和“精英”之间一比较,再对照一下自己的团队,就可以看到自己是属于哪一个象限里,是属于精英、低效能、高效能,还是中等效能。

当然,对于变更失败率一项,有些同学会说:“我每次发布都成功了,我是百分百的。”其实不然,一次完成发布过程,且中间没有任何的干预,也没有事后的修复、回滚是很难的。

在跟很多业务团队、包括外面公司的同学交流时,我们发现,无论是CTO、CIO、还是一线的研发人员,大家都面临一个问题:“我想改变”、“我想做得好”、“我想成为精英”,但是实际做到却很难。为什么?

因为:

1.管理成本越来越高。 人越来越多,管理成本越来越大,协作复杂度也越来越高,开会的时间比干活的时间还多。

2.技术债务也越来越高。 实际生产中,业务往往不会给你很多时间去在一开始就做得很好。于是便有了“我不管怎么样先把业务它跑起来。”但是可能过了一年或者两年之后,你会发现它跑不动了。这种情形在互联网创业里头叫糙快猛。技术债务越来越高之后,要再去做一些事情,就要连本带息要一起还了。

3.新技术引入非常困难。 有一些比较好的技术因为人员的成本的问题,找不到非常优秀的人。另外,有一些技术的门槛较高,需要的技能也纷繁复杂。

不仅如此,软件交付形态的变化也对软件交付效能提出了挑战。

1.持续的产品交付对软件研发模式要求更高

以前的软件交付是有里程碑的,但是现在不一样了,我们希望每天都有新的东西出来,而不是去完成几个里程碑、或者是三个月、一两年后再出一个东西。我们希望软件的交付是持续地、增量发生的。

以电信设备为例,电信设备的交付,开发环境和生产环境网络是不通的,换而言之,去做一次发布和实施的成本特别高。

这时候,持续的交付就对软件的研发模式提出了更高的要求。不可能再有很长时间的plan,然后等到半年后或者两年后做一个集成来交付实施。它要求你每个迭代都有东西出来。

2.持续升级的服务对可用性提出了更高的要求

当软件可以做到持续发布、升级了,软件的可用性也会相应地被提出更高的要求,不能动不动就断了。对客户来讲,他看到的就是你的一个服务,他对你提供的服务是有感的,因此你的服务需要非常高的可用性。

3.持续的交付需要能高效保证产品质量

质量对持续交付是非常重要的。当产品发布上线,如果有质量问题就很容易导致故障,甚至导致需要公司出面来去做公关。近几年也有很多这样的例子。

俗话说,有挑战就一定有机遇。具体来看,云原生时代,我们面临着2大机遇,可以帮助我们提升软件交付效能。

机遇1:技术发展推动应用架构及部署架构的演进

(1)应用架构的演进

我们会发现,技术的发展实际上在推动我们的应用架构和部署架构的演进。从资源的角度来说,以前我们应用云托管,而后发展为云优化,再到现在的云原生。我们会发现资源发生了一些变化,而应用架构的也同样发生了变化——从单体应用逐渐发展为了Severless。也就是说从原来挨得越来越近,到慢慢地分得越来越开、拆得越来越小。

(2)部署架构的演进

从部署架构的角度来说,我们也可以看到一些变化,从原来的物理机到现在的BaaS/FaaS。

这样的演进也让我们的整个交付变得更灵活、更解耦,可以做到想发就发,甚至让工程师更多的关注在业务逻辑上。

机遇2:云基础设施和云原生技术的兴起

 (1)云基础设施的层次越来越高

现在云基础设施的抽象层次越来越高了。其实在13年的时候,我们当时对于云基础设施的理解都是“infrastructure”。但随着容器的兴起,我们逐渐看到了容器平台,而后我们又有了PaaS,我们不需要再去关心消息队列、存储、监控等。而今,我们拥有了Serverless,几乎是可以不用写后端,整个的应用后端全部在云上。要做的就是写业务逻辑,而且几乎是前端的业务逻辑。后端服务我只需要按照使用量付费就可以了。

(2)K8S成为事实标准,云原生成为趋势

从K8S到现在的CNCF,我们会发现目前K8S已经是一个事实上的标准。大家不会再去讨论要不要去做云原生,现在的问题是怎么做。

(3)微服务化背景下,服务治理的诉求越来越大

大家都在谈微服务,但微服务会带来很多之前没有的问题。其中一个比较典型的问题就是服务治理。服务太多,怎么进行服务治理、服务发现怎么做、负载均衡、容量调度等等,各种问题都来了。所以大家对服务治理的诉求就变得越来越大。

与此同时,服务的数量越多,复杂性就越高。比如,若一个服务的可用性是99.9%,10个9服务累加便是99.9%的10次方。另外,它本身的复杂性也会越来越高。好比说两个人之间交流很简单的,但三个人交流的时候,我的链路就多了一些。再加上分布式服务间的网络通信,各种各样的异常情况都会出现。这些都是非常现实的问题,也会给我们带来很大的成本。

总结来看,如今我们的软件交付与以前有了非常大的不同。

云原生时代,我们需要持续交付的模式,以实现更快、更高质量的软件交付。

然而,大多数时候概念十分美好,落地却有各种各样的痛苦。

云原生时代,我们该如何落地持续交付?接下来,我们将通过系列文章,与大家一起梳理云原生时代持续交付的系列实践,敬请期待。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 获取字符串完整拼音,PHP 获取中文字符串的首字符拼音字母

class"php"><?php header(Content-Type: text/html; charsetutf-8);$str"阅谁问君诵&#xff0c;水落清香浮";echo getFirstCharCode($str);function getFirstCharCode($str){$str iconv("UTF-8","gb2312", $str);$targetChar*…

IT人的年夜饭,也太香了吧

简介&#xff1a; 平时的IT人&#xff0c;奋战在修复bug前线&#xff0c;起早与贪黑齐飞&#xff0c;调休共假期待定。到了新春佳节&#xff0c;对于IT人来说&#xff0c;没有什么是比一顿年夜饭更让人熨贴肺腑的了。为了让废寝忘食编程序、闻机起早保运维的IT人过一个安稳的好…

小红书消息中间件的运维实践与治理之路

简介&#xff1a;近年来&#xff0c;消息领域的全面云原生化逐渐走向深入&#xff0c;比如 RocketMQ 5.0 版本的存算分离设计和 raft 模式&#xff0c;再比如 Kafka3.0 引入了分层设计的方式&#xff08;tiered storage&#xff09;和 raft 模式&#xff0c;以及近年来新崛起的…

爆测一周,22年必看最细致代码托管工具测评

简介&#xff1a;网上代码托管选型的文章不少&#xff0c;不过大多内容有点久远&#xff0c;很多最新的平台没有包括进来&#xff0c;个人花了大概一个星期的时间&#xff0c;把目前市面上比较火的代码托管平台&#xff08;开源托管平台&#xff1a;Github、Gitee&#xff1b;企…

read 文件一个字节实际会发生多大的磁盘IO?

作者 | 张彦飞allen来源 | 开发内功修炼在日常开发中一些看似司空见惯的问题上&#xff0c;我觉得可能大多数人其实并没有真正理解&#xff0c;或者理解的不够透彻。不信我们来看以下一段简单的读取文件的代码&#xff1a;上图中的代码仅仅只是对某个文件读取了一个字节&#x…

【指标需求思考】如何做好指标类需求建设

简介&#xff1a;大家一直所说的【需求】究竟有哪些&#xff1f;用户需求、业务需求、系统需求...... 但是今天我要给大家介绍一种我自认为一种别出心裁的需求&#xff01;【指标类需求】在庞大的需求体系里&#xff0c;一个完整的系统设计流程是非常必要的&#xff0c;好则效率…

oracle 12c 低版本,oracle高版本迁移数据到低版本(12c至11g)方法

1.12c版本信息&#xff1a;2.11g版本信息&#xff1a;3.查看12c的字符集编码&#xff1a;select userenv(language) from dual;要迁移的两个数据库字符集编码要保持一致。如果不一致请手工修改&#xff0c;修改方法另行百度。4.查看11g数据库字符集编码&#xff1a;5.查看12c数…

构建信创产业生态,移动云立足全栈自主创新连放大招

信创&#xff0c;即信息技术应用创新&#xff0c;它是数据安全、网络安全的基础&#xff0c;也是“新基建”的重要内容。在国际信息安全形势严峻、国家安全需要和数智时代新要求三重因素作用下&#xff0c;信创生态应运而生。进入2022年&#xff0c;云计算将成为信创主要落地方…

游戏行业搜索实践

简介&#xff1a;本文通过游戏行业客户案例带大家了解游戏内容&#xff0c;游戏论坛等场景搜索特性&#xff0c;以及如何通过开放搜索游戏增强版解决方案轻松快速接入,实现高质量搜索效果,提升业务指标和用户体验。 客户背景 国内知名的文化社区和视频平台&#xff0c;其游戏…

序列特征在推荐算法中的应用

简介&#xff1a;行为序列特征在推荐&#xff0c;广告等领域中有着广泛应用&#xff0c;最近几年涌现了很多有关行为序列的研究论文&#xff0c;讲解如何将行为序列应用到实际场景中。但是论文中的实际思想距离落地还有一段距离&#xff0c;因此本文先介绍一些论文中的序列特征…

BlackBerry 软件全球现已部署超过2.15亿辆汽车

BlackBerry近日宣布&#xff0c;据知名独立调研公司Strategy Analytics统计&#xff0c;目前全球已有超过2.15亿辆汽车搭载BlackBerry QNX软件&#xff0c;较2021年增加了2,000万辆。 作为获得安全认证的嵌入式汽车软件市场领导者&#xff0c;BlackBerry深受众多业内汽车制造商…

从托管到原生,MPP架构数据仓库的云原生实践

简介&#xff1a;本文介绍了云原生数据仓库产品AnalyticDB PostgreSQL从Cloud-Hosted到Cloud-Native的演进探索&#xff0c;探讨为了实现真正的资源池化和灵活售卖的底层设计和思考&#xff0c;涵盖内容包括产品的架构设计&#xff0c;关键技术&#xff0c;性能结果&#xff0c…

做到这4点,才是真正的持续交付| 研发效能提升36计

简介&#xff1a;全线专栏《研发效能提升36计_持续交付篇》上线啦&#xff01;本专栏将通过10-20篇文章&#xff0c;系统分享云原生时代&#xff0c;企业如何落地持续交付。本文是该专栏的第2篇。 什么是真正的持续交付&#xff1f; 编者按&#xff1a;全线专栏《研发效能提升…

oracle打patch,Oracle初学者入门指南-How to get Oracle Patch?

Oracle初学者入门指南-How to get Oracle Patch?怎样获得/找到Oracle的Patch&#xff0c;这是一个朋友在Itpub上问到的问题。他还举了一个生动的例子:比如我要使用oracle的全文检索功能&#xff0c;但是这个全文检索在9201里不支持中文&#xff0c;中文的无法检索&#xff0c;…

e签宝:借助钉钉宜搭变革传统项目管理模式,交付效率显著提升

简介&#xff1a;通过钉钉宜搭&#xff0c;e签宝在半个月内搭建了项目交付管理平台&#xff0c;提升了项目管理的效率和质量&#xff0c;推进了团队核心业务的信息化建设。e签宝在有效梳理了各环节的工作进度、质量、成本、职权后&#xff0c;通过宜搭平台保障了内外通畅&#…

24 张图一次性说清楚 TCP

来源 | 杰哥的IT之旅做IT相关的工作&#xff0c;肯定都离不开网络&#xff0c;网络中最重要的协议是TCP。无论是实际工作还是笔试面试&#xff0c;你看哪里能少得了TCP?我看过RFC中与TCP相关的文档&#xff0c;也看过linux中TCP相关的源码&#xff0c;也看过不少框架中的TCP相…

php 实例化模型出错,实例化model出错了

我是按照老师所说的做的。在function user 中写入了这些<?php namespace Home\Controller;use Think\Controller;class IndexController extends Controller {public function index(){//省略了}public function user(){//其实新版的url应该这么写&#xff1a;http://www.t…

作业帮基于 DeltaLake 的数据湖建设实践

简介&#xff1a;作业帮是一家以科技为载体的在线教育公司&#xff0c;其大数据中台作为基础系统中台&#xff0c;主要负责建设公司级数仓&#xff0c;向各个产品线提供面向业务主题的数据信息。本文主要分享了作业帮基于 DeltaLake 的数据湖建设最佳实践。 作者&#xff1a; 刘…

iLogtail 与Filebeat 性能对比

简介&#xff1a;前段时间, iLogtail 阿里千万实例可观测采集器开源&#xff0c;其中介绍了iLogtail采集性能可以达到单核100MB/s&#xff0c;相比开源采集Agent有5-10倍性能优势。很多小伙伴好奇iLogtail具体的性能数据和资源消耗如何&#xff0c;本文将针对目前业界使用度较高…

如何快速开发 Serverless Devs Package ?

简介&#xff1a;目前&#xff0c;开发者开发 Serverless Package 的流程相对来说是比较简单的。因为在 Serverless Devs 开发者工具中&#xff0c;已经提供了相对完整的脚手架能力&#xff0c;一文了解详情~ 作者 | 江昱&#xff08;阿里云 Serverless 产品经理&#xff09; …