摘要:华为云全新推出CodeArts Release发布管理服务,旨在将华为多年形成的发布实践外溢,帮助企业提升软件发布质量和效率,降低生产环境的发布风险。
本文分享自华为云社区《高效联调,可靠发布!华为云推出CodeArts Release发布管理服务》,作者:华为云头条。
在项目研发迭代的过程中,为了提升产品的竞争力,应用的部署上线尤为频繁。但如此高频的发布特性,不仅是对产品的质量考验,也对发布的颗粒度、范围等策略控制提出了更高要求。
软件开发中的发布管理,是通过一定的计划和策略设置,将软件从开发环境转移到生产环境的过程,在发布过程中根据可视化的现网流量观测,进行动态策略调整,将软件逐步的、平滑的交付给用户。其目的是将软件发布过程规范化,提升软件发布的效率和质量。
通常情况下,某些企业会采用“全量发布”的模式,即对所有用户都同时使用新版本,部署和发布便没有明显的界限。但是随着软件规模、集群规模以及用户规模的扩大,企业迫切需要一种平滑渐进式的发布模式来降低软件发布风险,部署和发布的解耦势在必行。
华为公司在软件开发领域具有30多年的经验,对软件发布管理有着深度的积累与实践。我们认为一款好的软件发布管理系统应具备如下功能:
- 环境分层管理
开发环境和生产环境资源分层,权限分级管控,提前发现质量风险,减少缺陷流转到下游的可能;
- 24小时在线
借助云原生负载均衡技术,可做到24小时随时发布,发布过程业务零中断,用户无感知;
- 灰度发布
针对不同的业务场景,提供Ring环、蓝绿/金丝雀、滚动升级等多种升级策略,让流量逐步开放给用户;
- 浸泡和拨测
在软件发布到生产环境的过程中,进行一段时间“浸泡”和“拨测”,逐步完成全网多个局点的软件升级;
- 特性开关
通过变量一键开关特性,避免因缺陷导致重复构建出包;
- 与生产环境高度一致的联调环境
完全仿照生产环境复制的联调环境,仿真生产环境联调测试;
- 智能发布
通过智能数据分析,对发布风险提前预警,减少人工操作与管理缺漏,使发布过程更加自动化、智能化,结合现网监控数据,实现发布过程无人值守。
近日,华为云全新推出CodeArts Release发布管理服务,旨在将华为多年形成的发布实践外溢,帮助企业提升软件发布质量和效率,降低生产环境的发布风险。华为云CodeArts Release具有以下四大特性:
▶特性一:微服务环境模型,助力企业DevOps发布治理
标准化的微服务环境,将企业DevOps治理模型从研发态延伸到发布态,通过微服务流水线串联软件开发、测试、发布全流程,使研发过程、发布过程、变更内容、变更对象全流程可追溯。
华为云CodeArts Release提供的微服务环境模型特性,其优势在于:
- 规范化企业组织树模型
基于企业、项目、微服务的企业管理组织树模型,规范化项目运作;
- 模型标准化
集成环境变量、策略编排及发布资源,打造标准化环境模型,精细化管控企业的研发资源,提高软件的可运维性;
- 环境分层管理
微服务资源相互隔离,测试环境与生产环境按不同角色进行权限区分,角色权限控制独立,杜绝越权非法操作。
▶特性二:云原生灰度发布,流程规范可视化
灰度发布,即先小范围分批平滑发布,然后逐渐扩大范围至整个生产环境。通过控制影响范围,降低发布风险,从而达到发布效率和质量之间的平衡。灰度发布是一种正确、规范、安全的发布过程。
华为云CodeArts Release此次重磅推出了云原生灰度发布特性,优势在于:
- 模板化管理
可将发布流程预置为模板,提升发布编排效率,规范发布流程;
- 多场景灰度发布模式
支持蓝绿发布、金丝雀发布、滚升发布等多种灰度策略编排;
- 发布流程控制
将一次发布任务分解为多个步骤,发布与测试同步,通过监控浸泡进行步骤流转,降低发布风险;
- 发布过程可视化
通过发布单实时观测微服务的健康情况,异常情况可一键回滚至旧版本。
▶特性三:环境变量管理,一次构建全网发布
Build once, deploy everywhere(一次构建,多次部署)是软件开发和持续交付的基本原则,旨在避免测试阶段重复性构建,提升软件发布效率。
华为云CodeArts Release提供的环境变量管理特性,其优势在于:
- 降低构建时间和构建成本
多套环境可以使用一次构建出包,缩短构建时长,同时降低企业构建资源成本;
- 代码一致性
一次构建可以保证所有环境都运行完全相同的代码;
- 软件部署与特性发布解耦
基于环境变量开关特性,减少代码部署的回滚次数,渐进向用户推出新功能,将软件发布风险最小化。
▶特性四:开发者联调环境,秒级发放一键部署
华为对内部多个产品线研发团队进行调研,收集开发人员在个人调测过程中遇到的环境相关诉求,主要问题集中在:
- 环境数量不充足,不能保证每个开发者拥有自己的调测环境;
- 环境申请流程长,等待环节多;
- 环境配置复杂,需大量手工配置管理;
- 缺少有效环境管理手段,导致大量的研发环境浪费。
如何让开发人员能保证充足的联调测试环境,同时又能有效降低开发资源成本?这不仅是华为当前面临的问题,也是业界亟待解决的课题。
华为云CodeArts Release此次发布的开发者联调特性,优势在于:
- 联调环境开箱即用
研发环境秒级发放、一键部署,为开发者提供高效协同的联调能力;
- 联调环境模板
提供基于模板的环境管理能力,支持环境快速复制;
- 资源和调度策略管理
调测环境按需发放和回收,最大化资源利用效率,降低企业资源使用成本。
基于以上四大特性,华为云CodeArts Release可以帮助企业建设敏捷的、高质量的DevOps发布系统,并通过发布管理与流水线相结合,持续规范企业DevOps发布流程。
未来,华为云CodeArts Release将继续外溢更多华为DevOps发布实践,并针对传统行业发布模式,提供版本编排、版本基线、版本发布等IPD发布模型,助力企业提质增效,打造卓越的数字化体验。
点击关注,第一时间了解华为云新鲜技术~