阿里云林小平:如何实现应用的持续发布?

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 脚本化、版本化、可重放、可反馈

摘要:2022年7月25日,云上自动化运维CloudOps系列沙龙_第二弹正式开启!阿里云弹性计算技术专家林小平带来的主题分享是《如何实现应用的持续发布》,以下是她的演讲内容整理,本篇内容主要分为四个部分:

1.    持续发布总结

2.    持续发布建设路径

3.    云上持续发布实践

4.    应用持续发布


01 持续发布总结


图片1.png


在发布过程中,大家经常会遇到很多问题:


1.  在手工部署时,由于发布时间过长,会频繁出错,需要手工修正发布问题;


2.  当环境脱钩时,由于各环境差异较大,没有类生产环境,导致环境问题凸显。由于环境的不稳定,在第一次部署时,无法判断线上的情况;


3.  在集群发布时,由于各个环境的配置不同,需要手工修改。此时配置节点的情况几乎是不可控的。如果直接修改生产环境配置,其风险相对较大;


4.  当发布时出现多个开发协作,频繁更新,会出现互相阻塞的情况。此时,运维、开发、测试的协作成本非常高。

图片2.png


希望在持续发布的过程中,可以实现多人开发,简单部署,环境稳定,持续自动化验证,功能快速迭代,支持设置发布模式,保障功能稳定。当发布时出现问题,能够快速回滚到稳定版本,并快速反馈问题。

图片3.png


度量往往会直接影响团队行为。如果选择代码行数,作为开发人员的指标,开发人员为了业绩,不会将代码写的很精简。这种现象被称为霍桑效应。


在交付的过程中,可以选择周期时间作为度量。周期时间是指从开始开发,到最后交付的时间。


比如在资源准备时,从环境资源开始准备,到环境完全可用的时间段,就是资源准备的周期时间。如今在云上,大家申请预算之后,可以在线上直接购买,大幅缩短了资源采购周期。


发布效能,是从功能开发验证,准备发布到交付客户的时间段。包括发布的准备时间,发布环境的配置时间,灰度时间,发布反馈问题的速度等等。


02 持续发布建设路径

图片4.png



为了缩短周期时间,需要实现全流程的自动化。从构建、部署、测试、发布等各个环节,将环境,软件包,网络配置、基础设施、外部服务等功能,全部纳入版本管理。


在发布应用时,需要准备软件所需要运行环境,配置所需的基础设施,外部服务依赖等。将软件运行至安装环境,同时配置所需的数据和状态,就能完成软件交付。

在版本管理方面,包括需求文档、测试脚本、自动化用例、网络配置、数据库的创建、升级、初始化、回滚等等,都需要进行版本管理。


除此之外,团队需要达成共识。在持续发布的过程中,团队要遵循发布规范,持续改进整个流程,确保风险可控


03 云上持续发布实践


图片5.png


接下来,讲一讲持续发布的相关步骤。在环境准备方面,进行模版输入,使用已有模版或自定义模版描述云上环境。任何输入参数,执行自动化部署。最后,查看各资源部署完成情况,并进行后续管理。


该资源准备过程,适用企业快速上云,按需批量部署,应用需要资源快速复制,使用已有资源快速构建应用。

图片6.png


在持续构建方面,需要把提供服务的代码包,打包上传到OSS。用户通过输入相关的环境参数,拉取对应的软件包。然后,通过运维编排,拉取对应包信息到ECS上。云助手通过执行对应的部署脚本,启动应用,对外提供服务。


当业务不断扩展,机器无法支撑服务时,可以通过弹性伸缩,快速提供机器的扩缩容,从而实现自动化部署

图片7.png


在持续发布方面,主要基于弹性伸缩的滚动升级。首先,关闭扩缩容活动,然后对实例进行分组,让实例进入备用状态。对应的实例在发布的过程中,不会对外提供服务。完成发布后,实例退出备用模式,对外提供服务。


滚动升级适合金丝雀发布、蓝绿发布、分批发布等能力。在运维编排中创建软件包,已创建伸缩组并添加ECS实例,执行滚动升级任务即可。


04 应用持续发布

图片8.png


接下来,讲一讲在持续发布过程中的发布原则。应用发布是一个低风险、频繁、低成本、迅速且是可预见的过程。


在这个过程中,需要做到脚本化、版本化、可重放、可反馈。在自动化方面,要实现自动化部署、自动化测试和自动化反馈。


在管理方面,要完善版本管理、依赖管理、环境管理以及配置管理。实现快速回滚、快速重复发布、可追溯。当出现问题时,能够持续改进,频繁迭代,快速反馈,缩短生产周期。


提高生命周期交付的可追溯性和可观测性,能够让发布变得更有效。

图片9.png


如上图所示,持续发布的相关服务,主要包括上云、环境准备、代码构建、自动部署、持续发布。


在环境准备方面,可以通过ros、terraform、ecs、acs、oss等云资源产品,进行准备。在代码构建时,可以通过acms、erdc云效,进行应用配置管理。


在自动部署方面,可以通过edas或者OSS,进行部署构建。在持续发布方面,可以通过rdc云效自定义部署流水线,通过autoscaling进行持续发布。


Q&A环节,用户问答


Q1 霍桑效应是由于,研究对象意识到自己正在被研究,而带来人为效应。请问在云上自动化以后,能不能完全的避免这种情况?

答:需要要判断在持续发布时,哪种度量方式比较好。假设度量指标是一个错误指标,霍桑效应会导致结果出现偏差。如果度量指标是可信的,霍桑效应会让指标变得越来越好。


Q2 由于流水线部署涉及到的资源相关、数据相关、控制相关等关联问题。如何高效解决,可能遇到的问题?

答:流水线部署一般在应用里部署。在设置应用时,需要设置资源数据权限。除此之外,还可以利用云上的访问控制能力进行加强。


近期活动预告


高效能 才经济 | 云上自动化运维CloudOps系列沙龙_第三弹!即将开启!


资源效能与研发效能是企业运营过程中必须关注的话题,高效能甚至能成为一家企业的核心竞争力。充分利用云的弹性和自服务工具,企业将能大幅度地优化成本、提升资源与研发效能。因此,阿里云弹性计算云上自动化运维CloudOps系列沙龙,将以“效能提升与成本优化”作为第三弹的主题,分享相关思考与实践。


本次系列沙龙第三弹正在火热进行中!预告开启!明日分享提前Get!

图片10.jpg


8月17日19:00 阿里云弹性计算技术专家-林小平 | 《如何实现资源高效运维与云上成本分析》


现在扫描下方海报中的二维码即可进入“CloudOps系列沙龙”交流群,获取最新鲜的沙龙资讯,还可以第一时间获得讲师的“干货资料”哦!


沙龙小Tips:观看直播期间提问,被讲师抽中并回答问题的同学和填写问卷并被抽中的同学,均可获得精美礼品哦!免费邮寄到你手中!


最新鲜的讲师资料,超多的精美礼品等你获取!立刻扫码/点击链接进群报名吧!


点击这里,了解沙龙活动更多详情。

图片11.jpg

相关文章
|
26天前
|
弹性计算 人工智能 安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
418 0
|
1月前
|
监控 机器人 数据处理
5 天学会阿里云 RPA:教育行业应用
在数字化时代,教育行业也在迅速发展和创新。为了提高教育管理效率、优化教学过程和提升学生体验,越来越多的教育机构开始采用智能自动化技术。阿里云 RPA(机器人流程自动化)作为一种先进的技术手段,正逐渐在教育行业中得到广泛应用。
|
1月前
|
安全 机器人 数据安全/隐私保护
5 天学会阿里云 RPA:医疗保健行业应用
医疗保健行业一直在寻求创新的方法来提高效率、减少错误并提供更好的患者护理。阿里云 RPA(机器人流程自动化)的出现为医疗保健行业带来了新的机遇,使其能够实现工作流程的自动化,提升服务质量。
|
1月前
|
监控 算法 机器人
5 天学会阿里云 RPA:金融行业应用
金融行业一直处于技术创新的前沿,以提高运营效率、降低风险和提供更好的客户体验。阿里云 RPA(机器人流程自动化)的出现为金融机构带来了全新的智能自动化解决方案,帮助他们在竞争激烈的市场中保持领先地位。
|
26天前
|
弹性计算 安全 网络安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
463 0
|
1月前
|
监控 Java 测试技术
阿里云推出 3.x Java 探针,解锁应用观测与治理的全新姿势
阿里云推出 3.x Java 探针,解锁应用观测与治理的全新姿势
174211 4
|
2月前
|
存储 人工智能 弹性计算
阿里云第八代云服务器g8i实例介绍,可适用于在线音视频及AI相关应用
近日,阿里云第八代云服务器ECS g8i实例已经完成全新升级,g8i实例采用CIPU+飞天技术架构,搭载最新的Intel 第五代至强可扩展处理器(代号EMR),性能进一步大幅提升,同时拥有AMX加持的AI能力增强,并在全球范围率先支持TDX机密虚拟机能力,实现了AI增强和全面安全防护的两大特色优势,可适用于在线音视频及AI相关应用。本文对g8i实例做个介绍。
阿里云第八代云服务器g8i实例介绍,可适用于在线音视频及AI相关应用
|
16小时前
|
弹性计算 人工智能 物联网
挖掘阿里云ECS的潜力:创意应用和未来可能性
在云厂商中,我觉得开发者更信赖阿里云的云产品,而且随着阿里云最近宣布云产品降价的消息,会有更多的开发者和企业选择阿里云的云产品。这里拿阿里云的云服务器来做说明,阿里云的云服务器ECS为用户提供了强大的计算资源和灵活的扩展性,使其成为搭建各种有趣和创意应用的理想平台。除了已知的小游戏、小程序和个人网盘等应用案例之外,本文还会进一步探讨ECS在特定场景下的实践经验,并挖掘其在其他领域的潜力,为大家带来更多创意和启发。
53 3
挖掘阿里云ECS的潜力:创意应用和未来可能性
|
1天前
|
缓存 运维 监控
应用研发平台EMAS 问题之用华为的推送界面阿里云收不到如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
9 2
|
12天前
|
消息中间件 编解码 运维
阿里云 Serverless 异步任务处理系统在数据分析领域的应用
本文主要介绍异步任务处理系统中的数据分析,函数计算异步任务最佳实践-Kafka ETL,函数计算异步任务最佳实践-音视频处理等。
66103 55

相关产品

  • 云服务器 ECS
  • 轻量应用服务器
  • 弹性容器实例