`
猫耳呀
  • 浏览: 170552 次
社区版块
存档分类
最新评论

崔立强:Dev无感Ops,如何做到高效软件交付

 
阅读更多

在2018第二届研发效能嘉年华上,阿里巴巴云效技术专家崔力强带来了如何做到高效软件交付的精彩演讲,首先介绍了阿里巴巴在近几年在交付平台上的技术经验,以及目前云上工具平台交易的趋势,其次分享了阿里巴巴内部交付平台如何帮助我们统一步调、并行工作,最后详细讲述了Dev无感Ops可以解决DevOps遇到的一些问题。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!
视频观看请点这
PPT下载请点这
以下为精彩视频内容整理:

阻碍开发者前进的问题
对于一个普通的工程师而言,第一要务是完成需求交付,我们的最终诉求是保障编码、测试、部署的高效。但实际发现我们在交付的过程中并不顺畅,研发流程的混乱经常出现代码错合,漏和,丢代码的现象;质量化下降最主要是代码有bug,线上环境交付不稳定,会有严重问题出现,测试环境不稳定指的是在做集成测试时需有一套环境,若环境不稳定,开发测试工作会被block;团队之间沟通不畅,开发和开发之间,开发和测试之间,没有统一规则或流程约定;一堆开源工具攒出来的开发工具链,不但提高了学习成本,还导致过程数据无法统一存储。几年前,几乎都使用开源工具模式做持续交付,后续发现存在许多问题,于是开始做自建平台过程。

上图为知名公司的一份统计数据,统计持续交付是否能帮助我们提升研发效率,分别是瀑布模式、敏捷模式和持续交付模式,可以看出在持续交付模式下,开发在设计、测试、部署上的时间比重大大减少,在真正做开发上的时间达到了80%。也即是说我们更专注,更高效的在进行开发,从Waterfall到Agile的模式在研发阶段效率高,主要是因为有更少的时间做设计、coding,而coding时产生核心价值的一个环节;从2-3饼图开发时间更长,是因为我们把交付时间压缩。

如何做到持续交付有以下五点:
 1.需求的小批量流转,通过拆分让价值可以快速的交付,减少集成成本,一般单个需求我们不会超过1周。
 2.自动化一切,不单是测试和部署,运维也需要自动化。
 3.内建质量,尽早的测试可以显著降低测试成本,保障交付流水线通畅,增强环境稳定性。
 4.每个人都为交付过程负责,不单单编码完成交给测试就ok了,要负责代码上线,并且各项功能数据都正常才算完成。
 5.研发过程数据,用户反馈数据,对我们有非常大的价值,可以看到目前还有哪些坑阻碍着我们前进。

团队不同阶段面临的问题 
最初我们团队只有1-7人时,是在最敏捷的状态,类似Jeff Bezos所说的two pizza team。按照目前微服务化的规模,应该有2-3个应用。这样的团队首先应该具备基本的CI能力和质量保障,确保自己的代码在一定质量下持续迭代。至于发布、运维并不一定是马上需要面对的问题,一些纸面上的流程和脚本,足够应付一阵子。

团队成长到7-20人时,我们应该有了一个比较大的产品,有复杂的架构和持续成长的业务。10多个应用之间互相影响,互相阻塞会导致我们线下开发和线上SLA面临挑战。此时一个统一的研发流程可以帮助我们规范开发行为,再加上统一的质量标准,不会让我们集成环境和线上环境面临较大风险。随着应用增多,我们也需要一些契约测试来确保服务兼容性。

团队成长到20-100人时,已经是一个相当大的规模,我们掌握着一个企业核心的产品,业务压力和稳定性压力像两个小人不断PK。如何在质量和效率上达到最佳平衡,是我们要考虑的核心问题。应用规模达到了几十个,已经不是简单研发自动化能解决的了,此时需要一个统一的研发平台,帮助解决从CI到CD的全链路问题,甚至包含全自动化的运维工具。产品、开发、测试、运维等角色可以在一个平台上高效协作。在2017年,已经有83%的企业开始使用云计算来解决企业基础设施问题和软件交付问题。相比2016年出现爆发式增长,不难理解利用现成的经过验证的可靠方案,可以大大缩短企业达成高效率目标的路径。帮助企业在市场竞争中获得先发优势。

统一步调、并行工作
阿里巴巴内部端到端的研发平台包括项目协作、持续交付、应用运维、测试度量以下几方面。用云效首先可以获得研发模式的标准化,我们将其命名为AoneFlow,这是目前应用最广最适合阿里巴巴的分支管理模式,不但具有高度自由,快速迭代的特性,还可以与CD流水线结合,让整个公司具有统一的软件交付规范。

上图为研发模式标准化-AoneFlow,将分支管理模式落地到产品层面,开发只要通过平台新建特性分支,checkout push代码,后续合并上线全过程全部由平台接管,不但可以让开发者协作变的非常简单,高效,永不出错,而且在研发流程中可以加入自由配置的预设规则,比如什么时候合并代码,需要达到什么样的标准,codereview 安全是否通过,发布分支怎么处理,等等像乐高积木一般定义自己的研发流程。

将繁琐的易出错的事情留给平台,实现研发模式全自动化。真正的做到了研发过程全上平台,所有数据可追踪,并且彻底杜绝了漏发、错合、管理混乱的情况。让开发专心价值交付,是云效首先要解决的问题。
持续交付核心是快速交付价值,给与开发最大自由度,负责开发和运维全部过程。在监控、故障防控工具,功能开关的配合下,可以在保障用户体验和快速交付价值之间找到平衡点。

Dev无感Ops
Ops自身复杂由繁杂重复性的工作,Dev可以很轻易做Ops,是Dev感觉不到Ops的存在,Ops真正出现问题时,平台会通知Dev处理问题,最后帮助团队做度量。首先介绍阿里巴巴内部是以应用为中心DevOps理念使用来应用串联整个DevOps工具链、开发定义应用,同时定义运维、开发为应用全生命周期负责、系统自动完成应用运维配置。

因此我们一直在推动标准化,智能化,无感的Ops体系建设。目前在研发端我们的三个实践第一个是无人值守发布,众做周知绝大部分的故障来自于变更,变更的绝大部分又来自于发布,如何保障每次发布都是对用户无影响的,如何用系统代替人来关注庞杂繁琐的运维指标。去年我们应用运维产品推出了无人值守发布功能,它使用人工智能的方法,计算发布过程中监控指标、日志数据、用户数据等等多重维度的变化,预判可能出现的风险,警告用户或者触发回滚,保障发布过程无人参与。最终避免了90%的发布故障。第二个是应用健康检查,同样我们用大数据,人工智能的办法,获取多重运维数据,来帮助开发同学发现目前应用存在的风险,进行一键修复,有点类似大家电脑里的360管家。不需要有多少经验,人人都可以成为运维专家。最后是应用自愈,我们将运维工具和经验沉淀到了这个产品,对一些场景和问题进行自动修复和调整,达到无人参与的目的。这就是我们无感Ops的目标。

截图来自阿里云云效研发的某过程
上图为全云端构建,加速研发过程,云效完全自研的全云化构建调度系统,已经可以支持所有语言构建,拥有经过阿里云安全团队认可的安全加固机制。并且根据不同技术栈提供了自适应的构建缓存策略,避免依赖的重复下载,大大节约构建时间,提高开发过程效率。开发在使用云效只需要选择他的技术栈和构建命令,其他都可以交给平台自动化完成。

云效目前支持阿里云容器服务、edas、ecs三种部署方式,对每个应用的每个环境都可单独定义它的部署方式,并且实现任意切换。比如我们生产环境使用edas保障稳定,测试环境使用ecs混合部署节省资源都是可以实现的,非常方便。

在我们做运维栈转型升级的时候,可以通过修改部署配置进行平滑升级,如果有问题,我们还可以实现一键回滚。云效保存着历史所有软件发布升级的基线数据随时可查,随时可rollback,这些都是阿里巴巴内部多年经验的积累实践。

在运维方面,我们支持了通过ECS模板快速扩容,并且在云市场也上线了云效推荐镜像,直接可以获得和阿里巴巴一致的运维标准。最后是基于特性分支的测试环境管理功能,支持环境隔离能力,具有生命周期管理功能,让每个开发都可以享受到独立的研发环境,并行工作,高效交付。以上功能都可以在阿里云云效帮助中获得详细操作指南。

原文链接

分享到:
评论

相关推荐

    YOLOv12:以注意力为中心的实时目标检测器.pdf

    YOLOv12:以注意力为中心的实时目标检测器

    GO语言基础语法指令教程

    GO语言基础语法指令教程

    MATLAB代码实现:分布式电源接入对配电网运行影响深度分析与评估,MATLAB代码分析:分布式电源接入对配电网运行影响评估,MATLAB代码:分布式电源接入对配电网影响分析 关键词:分布式电源 配电

    MATLAB代码实现:分布式电源接入对配电网运行影响深度分析与评估,MATLAB代码分析:分布式电源接入对配电网运行影响评估,MATLAB代码:分布式电源接入对配电网影响分析 关键词:分布式电源 配电网 评估 参考文档:《自写文档,联系我看》参考选址定容模型部分; 仿真平台:MATLAB 主要内容:代码主要做的是分布式电源接入场景下对配电网运行影响的分析,其中,可以自己设置分布式电源接入配电网的位置,接入配电网的有功功率以及无功功率的大小,通过牛顿拉夫逊法求解分布式电源接入后的电网潮流,从而评价分布式电源接入前后的电压、线路潮流等参数是否发生变化,评估配电网的运行方式。 代码非常精品,是研究含分布式电源接入的电网潮流计算的必备程序 ,分布式电源; 配电网; 接入影响分析; 潮流计算; 牛顿拉夫逊法; 电压评估; 必备程序。,基于MATLAB的分布式电源对配电网影响评估系统

    三相光伏并网逆变器:Mppt最大功率跟踪与800V中间母线电压的电力转换技术,三相光伏并网逆变器:实现最大功率跟踪与800V中间母线电压的优化处理,三相光伏并网逆变器 输入光伏Mppt 最大功率跟踪

    三相光伏并网逆变器:Mppt最大功率跟踪与800V中间母线电压的电力转换技术,三相光伏并网逆变器:实现最大功率跟踪与800V中间母线电压的优化处理,三相光伏并网逆变器 输入光伏Mppt 最大功率跟踪中间母线电压800V 后级三相光伏并网逆变器 ,三相光伏并网逆变器; 输入光伏Mppt; 最大功率跟踪; 中间母线电压800V; 后级逆变器,三相光伏并网逆变器:MPPT最大功率跟踪800V母线电压

    基于SSM的车位销售平台设计与实现.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    西门子博途三部十层电梯程序案例解析:基于Wincc RT Professional V14及更高版本的应用探索,西门子博途三部十层电梯程序案例解析:基于Wincc RT Professional画面与

    西门子博途三部十层电梯程序案例解析:基于Wincc RT Professional V14及更高版本的应用探索,西门子博途三部十层电梯程序案例解析:基于Wincc RT Professional画面与V14及以上版本技术参考,西门子1200博途三部十层电梯程序案例,加Wincc RT Professional画面三部十层电梯程序,版本V14及以上。 程序仅限于参考资料使用。 ,西门子;1200博途;三部十层电梯程序案例;Wincc RT Professional;V14以上程序版本。,西门子V14+博途三部十层电梯程序案例:Wincc RT Pro专业画面技术解析

    基于舆情数据的知识图谱推荐可视化系统论文,全原创,免费分享

    基于舆情数据的知识图谱推荐可视化系统论文,全原创,免费分享

    基于Vivado源码的AM包络检调制解调与FIR滤波器设计在FPGA上的实现,基于Zynq-7000和Artix-7系列的AM包络检调制解调源码及Vivado环境下的实现,AM包络检调制解调,Viva

    基于Vivado源码的AM包络检调制解调与FIR滤波器设计在FPGA上的实现,基于Zynq-7000和Artix-7系列的AM包络检调制解调源码及Vivado环境下的实现,AM包络检调制解调,Vivado源码 FPGA的AM调制解调源码,其中FIR滤波器根据MATLAB设计。 【AM_jietiao】文件是基于zynq-7000系列,但没有涉及AD与DA,只是单纯的仿真。 【AM包络检调制解调_Vivado源码】文件基于Artix-7系列,从AD读入信号后,进行AM调制,并解调DA输出。 ,AM包络检调制解调;Vivado源码;FPGA;AM调制解调源码;FIR滤波器;MATLAB设计;Zynq-7000系列;Artix-7系列;AD读入信号;DA输出,AM包络调制解调源码:Zynq-7000与Artix-7 FPGA的不同实现

    rdtyfv、ijij

    yugy

    2025山东大学:DeepSeek应用与部署(部署方案大全+API调用+业务应用)-80页.pptx

    2025山东大学:DeepSeek应用与部署(部署方案大全+API调用+业务应用)-80页.pptx

    chromedriver-mac-x64-135.0.7023.0(Dev).zip

    chromedriver-mac-x64-135.0.7023.0(Dev).zip

    基于单片机protues仿真的433MHz无线模块编解码收发通信测试(仿真图、源代码)

    基于单片机protues仿真的433MHz无线模块编解码收发通信测试(仿真图、源代码) 该设计为单片机protues仿真的433MHz无线模块收发通信测试; 1、433M超再生收发模块; 2、在仿真图中是把发射MCU的P2_7腿直接输入到接收MCU的INT0实现编码解码的; 3、通过433MHz无线模块实现无线通信的编解码功能; 4、按键控制指令; 5、液晶屏显示收发状态和信息;

    车机安卓版好用的应用管理app

    资源说说明; 自带文件管理 adb操作以及应用管理等等的功能。 操作性对比其他应用较好。 参阅博文: https://blog.csdn.net/mg668/article/details/145689511?spm=1001.2014.3001.5352

    软件工程课程设计前端.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    智慧图书管理系统(源码+数据库+论文)java开发springboot框架javaweb,可做计算机毕业设计或课程设计

    智慧图书管理系统(源码+数据库+论文)java开发springboot框架javaweb,可做计算机毕业设计或课程设计 【功能需求】 本系统分为读者、管理员2个角色 读者可以进行注册登录、浏览图书以及留言、图书借阅、图书归还、图书续借、个人中心、论坛交流、等功能 管理员可以进行读者管理、图书管理、论坛论坛回复管理、图书借阅管理(下架、库存管理、修改、删除)、轮播图管理 【环境需要】 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.数据库:MySql 5.7/8.0等版本均可; 【购买须知】 本源码项目经过严格的调试,项目已确保无误,可直接用于课程实训或毕业设计提交。里面都有配套的运行环境软件,讲解视频,部署视频教程,一应俱全,可以自己按照教程导入运行。附有论文参考,使学习者能够快速掌握系统设计和实现的核心技术。

    三相APFC电路与单相Boost PFC电路仿真模型:电压外环电流内环双闭环控制研究,三相电路仿真模型:探索APFC电路、单相PFC电路及BoostPFC电路的动态特性与双闭环控制策略,APFC电路

    三相APFC电路与单相Boost PFC电路仿真模型:电压外环电流内环双闭环控制研究,三相电路仿真模型:探索APFC电路、单相PFC电路及BoostPFC电路的动态特性与双闭环控制策略,APFC电路,单相PFC电路,单相BoostPFC电路仿真模型。 网侧220V 50Hz,输出电压设置为50Hz。 电压外环电流内环双闭环控制仿真模型 ,APFC电路; 单相PFC电路; 单相BoostPFC电路仿真模型; 网侧电压; 220V 50Hz; 输出电压50Hz; 电压外环电流内环双闭环控制仿真模型。,基于APFC电路的单相Boost PFC仿真模型:网侧电压220V/50Hz下电压电流双闭环控制的研究与应用

    MATLAB环境下ADMM算法在分布式调度中的应用:比较并行与串行算法(Jocobi与Gaussian Seidel)的优化效果与实现细节-基于YALMIP和GUROBI的仿真平台复刻参考文档的研究

    MATLAB环境下ADMM算法在分布式调度中的应用:比较并行与串行算法(Jocobi与Gaussian Seidel)的优化效果与实现细节——基于YALMIP和GUROBI的仿真平台复刻参考文档的研究结果。,MATLAB下ADMM算法在分布式调度中的并行与串行算法应用:基于YALMIP与GUROBI的仿真研究,MATLAB代码:ADMM算法在分布式调度中的应用 关键词:并行算法(Jocobi)和串行算法(Gaussian Seidel, GS) 参考文档:《主动配电网分布式无功优化控制方法》《基于串行和并行ADMM算法的电-气能量流分布式协同优化》 仿真平台:MATLAB YALMIP GUROBI 主要内容:ADMM算法在分布式调度中的应用 复刻参考文档 ,关键词:ADMM算法; 分布式调度; 并行算法(Jocobi); 串行算法(Gaussian Seidel, GS); MATLAB代码; YALMIP; GUROBI; 主动配电网; 无功优化控制方法; 能量流分布式协同优化。,MATLAB实现:ADMM算法在分布式调度中的并行与串行优化应用

    “考虑P2G、碳捕集与碳交易机制的综合能源系统优化调度模型研究”,考虑电转气P2G与碳捕集设备的热电联供综合能源系统优化调度模型研究(含碳交易机制与四种算例场景分析),考虑P2G和碳捕集设备的热电联供

    “考虑P2G、碳捕集与碳交易机制的综合能源系统优化调度模型研究”,考虑电转气P2G与碳捕集设备的热电联供综合能源系统优化调度模型研究(含碳交易机制与四种算例场景分析),考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型 摘要:代码主要做的是一个考虑电转气P2G和碳捕集设备的热电联供综合能源系统优化调度模型,模型耦合CHP热电联产单元、电转气单元以及碳捕集单元,并重点考虑了碳交易机制,建立了综合能源系统运行优化模型,与目前市面上的代码不同,本代码完全复现了文档中所提出的四种算例场景,没有对比算例,买过去也没有任何意义,四种算例主要包括: 1)t不包括P2G、CCS、以及碳交易 2)t包括P2G,但是不包括CCS以及碳交易 3)t包括P2G和CCS,但是不包括碳交易 4)t包括P2G、CCS以及碳交易 且最终的实现效果与文档进行对比后,虽然数值无法100%一致,但是结果以及数值曲线,几乎完全一样,此版本为目前市面上最好的园区综合能源调度代码,没有之一 ,考虑电转气(P2G); 碳捕集设备; 热电联供综合能源系统; 优化调度模型; 碳交易机制; CHP热电联产单元; 耦合模型; 算

    FS-LDM培训材料(DAY_2)_NCR数据仓库事业部.ppt

    FS-LDM培训材料(DAY_2)_NCR数据仓库事业部.ppt

    专题 平面向量的数量积(学生版)20250222.pdf

    专题 平面向量的数量积(学生版)20250222.pdf

Global site tag (gtag.js) - Google Analytics