ChatGPT大火的现状,告诉我们这个世界正在加速向AI时代演进。智能时代是数字世界,软件将无处不在。“软件定义”是新一轮科技革命和产业变革的新特征和新标志, 已成为驱动未来发展的重要力量。
“工欲善其事,必先利其器”。当软件变得越来越重要,做软件的工具也在愈发凸显其重要性。
「 No.1 」
效率&质量,CodeArts Release解决软件发布痛点
一个软件从创意到发布,中间会有很多个环节,每一个环节都不容出错。
比如软件的上线发布,将代码从开发环境转换到生产环境的过程中,即使前期经过了严格的测试,都有可能会在进入实际应用时出现各种各样的问题。
在传统的发布中,往往都是“全量发布”,在凌晨先停止全部服务,再进行全部服务升级,最后启动全部服务的发布方式,所有用户都同时使用新版本。这样做虽然成本低,但是服务会中断,影响用户体验,而且一旦软件有问题,会导致所有用户都受到影响。举个例子:一款炒股软件发布,万一有了BUG,可能会导致数以万计的股民受到影响。
企业需要一种平滑渐进式的发布模式,以降低软件发布的风险,特别是在高频发布、大规模应用等情况下,发布管理尤为迫切。发布管理服务就是通过将软件发布过程规范化,实现提升软件发布的效率和质量的目标。
通过分析传统发布模式的痛点,我们可以发现部署和发布应该充分解耦,并且有颗粒度更细的策略控制。比如将开发环境和生产环境资源分层管理,将风险阻断;借助云原生负载均衡技术,可做到24小时随时发布,发布过程业务零中断,用户无感知;针对不同的业务场景,采用不同的灰度发布策略,确保稳定、安全升级等等。
前不久,华为云全新推出的CodeArts Release发布管理服务,就可以解决用户的痛点,满足当下的需求。整体来看,CodeArts Release有四大特征:
- 【特征一】微服务环境模型,助力企业DevOps发布治理
通过规范化企业组织树模型、模型标准化、环境分层管理等标准化的微服务环境,将企业DevOps治理模型从研发态延伸到发布态,通过微服务流水线串联软件开发、测试、发布全流程,使研发过程、发布过程、变更内容、变更对象全流程可追溯。
- 【特征二】云原生灰度发布,流程规范可视化
提供模板化管理,支持蓝绿发布、金丝雀发布、滚升发布等多种灰度策略编排,将一次发布任务分解为多个步骤通过发布流程控制降低发布风险,并且发布的过程可视化全程掌控进展。通过这些手段,达到发布效率和质量之间的平衡。
- 【特征三】环境变量管理,一次构建全网发布
“一次构建,多次部署“是软件开发和持续交付的基本原则,避免了测试阶段重复性构建,从而提升软件发布效率。所以,华为云CodeArts Release多套环境可以使用一次构建出包降低构建时间和构建成本,一次构建可以保证所有环境都运行完全相同的代码,软件部署与特性发布解耦渐进向用户推出新功能。
- 【特征四】开发者联调环境,秒级发放一键部署
如何以更优的成本让开发人员能保证充足的联调测试环境?华为云CodeArts Release首先打造了开箱即用的联调环境,为开发者提供高效协同的联调能力;其次,提供基于模板的环境管理能力,支持环境快速复制;最后,通过资源和调度策略管理,最大化资源利用效率,降低企业资源使用成本。
综上,华为云CodeArts Release可以帮助企业建设敏捷的、高质量的DevOps发布系统,并通过发布管理与流水线相结合,持续规范企业DevOps发布流程。最终达成的目标有二:一是提升发布效率,二是保障发布质量。
「 No.2 」
从创意到应用,CodeArts全流程助力软件研发
发布,只是软件全流程中的一个环节。一个软件的开发,都需经历从创意到需求分解、设计、编码、测试、发布、调整等诸多环节,特别是现在的软件需求越来越复杂,对每一个环节的挑战都非常大。
我们以华为汽车BU的软件需求为例。一个车的需求,会横跨网络、无线、芯片以及其它很多终端产品线的协同,才能把一个车的需求做好。整个需求的卷积过程和协作的模块都非常多,这其中要是某一个环节出现了误差,就有可能导致整个解决方案或者整个产品无法向前去推进。此外,软件需求为源头,与设计、仿真、测试、制造,各个环节去打通,鉴于汽车软件的复杂度,所以整个需求的追溯过程也是非常难的。
华为汽车BU在成立之初就直接启用了华为云的需求管理系统——即CodeArts Req这个工具,端到端的去帮助华为的车载业务落地。这个过程中发现,华为云原有的能力还不够,又做了很多增强、优化。最终,华为汽车BU在华为端到端的需求管理平台的帮助下,高效地拉通了上下游的环节,以及内外部客户的需求,精准地捕捉了市场趋势,为华为汽车BU的整个业务高速发展奠定基础。
华为汽车BU的故事,只是华为软件开发的一个缩影。华为作为中国最大的软件企业之一,在过去三十年中遇到了很多问题,这些问题都转化为经验,研发能力不断提升。
同时,汽车BU的需求,也代表了现在很多企业的需求,业务要快速创新,快速上线,快速迭代,才能保持行业竞争力。华为十万研发团队凝练出来的能力和经验外溢,开放出来与行业共享,这就是华为云CodeArts。你可以说它是软件开发工具,也可以说这就是一条最先进的、高效的软件生产线。
在懂懂看来,这套华为历经三十年、从十万人研发团队中凝结出来的方法论,有几个明显的优势:
- 第一,前沿的研发理念。比如华为很早就引入了IPD 流程体系,在需求管理上一直强调要管住源头,要以管理投资的视角来管理开发。这套 IPD 需求管理模板最终内置在需求管理服务 CodeArts Req 中,特别适合于跨项目、跨团队、多地域的大规模复杂场景,一方面能够提供常见的敏捷需求管理,让小颗粒的服务开发健步如飞;另一方面能够在大规模协作和契约化交付的产品级需求管理中游刃有余。
- 第二,先进的性能。一些国际巨头也做软件开发工具,但是华为云CodeArts目前已经达到或超越国际同行水平。比如,测试管理服务 CodeArts TestPlan 自然也沉淀了华为多年高质量测试工程方法与实践,并发展出了启发式测试策略与设计、亿级测试资产管理、内置 IPD 测试流程与规范、全方位测试质量评估、测试双向追溯这五大特性。
- 第三,丰富度和完整度高。从丰富度来看,是一个全面的软件开发工具链,可以打通设计、开发、测试、运维等上下游部门或不同角色的异步协作,无缝集成 DevOps 工作流,更快更高效地交付产品,以帮助企业研发管理效率提升和业务快速发展扩张。从完整度看,覆盖多业务场景,在内部已经广泛应用于华为终端、网络、云计算、芯片、汽车等全业务场景,在外部互联网、政务、金融、交通、教育等行业都有涉及。
- 第四,也是最重要的一点:CodeArts独一无二的竞争优势,就是融入了华为30多年大规模研发实践的经验,并且所有工具在对外发布之前,都已经在华为内部经过验证。比如截至 2022 年年底,CodeArts TestPlan 已经高效支撑华为超过 4 万测试人员的测试作业,测试用例月执行超过 2 亿次,月 API 调用量超过 12 亿次,累计管理超过 10 亿测试用例,覆盖华为终端、网络、云计算、芯片、汽车等大规模复杂业务场景。代码检查工具 CodeArts Check 则支撑了华为 15 万研发人员、日均扫描逾 500 亿行的代码检查工作,支撑华为产品和解决方案在 170 多个国家和地区持续安全稳定运行。
除了华为内部的验证与认可,CodeArts也吸引了来自政府、金融、教育、物流、软件等十多个行业百万级使用者,持续服务四大核心应用场景:互联网/SaaS服务商、软件及解决方案提供商、软件及解决方案提供商、高校/培训机构。
可见,从创意到应用,CodeArts可以全流程助力多场景的软件研发,堪称一条“现代化“的软件生产线。
「 No.3 」
根深枝叶茂,CodeArts助力程序员释放创造力
软件定义一切的时代,软件的繁荣,决定社会的进步速度,决定经济发展的进程。软件如此重要,软件怎么高效、高质量地生产出来?
随着云计算、AI的应用,今天做软件的形式跟以前完全不同。以前的软件产品,是做盒子的封闭思路。现在是基于云,在一个完全开放的生态中做软件,此时不再是看一个一个单独的产品,也不是孤立的工具,生态建设变得尤为重要。
如果软件产业是一个生态,那么生态发展有两个关键要素:一是根茎强壮发达,才能更好地向生态输送能量;二是物种丰富,生态才更有活力。
在新时代、新发展、新格局下,软件的规模化、复杂化程度也在不断提升,基础软件开发亟需迎来新一轮纵深化发展。以前我们都知道,操作系统、数据库是基础软件,是软件生态的根,其实软件开发工具也是根,属于基础软件范畴。
因为,没有软件开发工具,操作系统上的应用就“长“不出来,这样的操作系统是不可能成功的。所以,软件开发工具与操作系统、数据库并重,都是生态的基础,是底座。
根深才能叶茂,按照华为的一贯作法,向下扎到根,向上捅破天,所有的根(基础)技术都要做好,这就相当于给生态打好地基。华为将能力外溢,推出CodeArts,就是要让生态的根基更深、更厚、更肥沃。
今天,大家都在说AI会把所有的产业都重新做一遍,无论2C还是2B。人们的生活方式可能会被改变,每一个产业的运作模式也都面临颠覆性的升级。站在AI时代的新起点,未来可以想象的空间巨大,每一个开发者在AI时代,都有机会创造一个奇迹。而软件开发工具,可以激发开发者的热情和创造力,帮助他们更好地在云上实现自己的梦想,创造更多的新应用、新模式。
生态为什么重要?还有一个不得不说的原因,就是自主可控。我们从两个维度来看:
- 一方面,未来汽车、可穿戴设备等关系到人的生命安全,涉及个人隐私,自主可控是更加安全的保障。
- 另一方面,过去三十年,中国的科技产业相对落后,一直处于追随、模仿、学习的过程。
这么多年积累下来,已经在很多关键技术上有所突破,比如操作系统和数据库。在此基础上如果要快速繁荣生态,先进的生产工具必不可少。特别是一些中国高科技企业被加入实体清单之后,我们发现全链条的自主可控尤为迫切。
好了,回到Code Arts的初衷,从这个品牌的名字,就可以看出华为云是希望程序员能像艺术家一样去创造,助力他们的创造力得以极大地发挥,去实现自己的梦想,而不是以前大家认为的“码农“。当每一个开发者的能量被极大释放,生态的物种也将更丰富。多样性,就是生态繁荣的标志。
【结束语】
数字时代,是软件定义一切的时代,软件将是未来企业的竞争力所在,进而也是一个国家的竞争力所在。
与此同时,软件越来越复杂,更新越来越快,这对开发的效率和质量提出了全新的挑战。华为CodeArts,全流程提升开发效率,保证软件质量,让程序员的创造力得以绽放,同时助力生态伙伴在软件时代先人一步、快人一步。