2020年12月,中国DevOps社区峰会在北京举办。DevOps大咖齐聚一堂,其中华为云DevCloud首席技术布道师姚冬受邀分享《华为云DevCloud如何构建高效可信的持续交付能力》。
近日,华为云提出,云原生2.0是企业智能升级新阶段,企业云化从“ON Cloud”走向“IN Cloud”,成为“新云原生企业”,新生能力与既有能力立而不破、有机协同,实现资源高效、应用敏捷、业务智能、安全可信。
华为云还发布云原生2.0全景图,其中,应用敏捷层将云原生的全栈能力赋能给客户,帮助客户应用敏捷、业务智能,安全可信,面向未来持续演进。
在云原生2.0时代,享受架构解耦与云端弹性带来便利的同时,云原生对软件研发与交付模式提出了更高的要求。持续集成、持续测试、持续交付、持续部署与发布,这些诸多实践背后的理念,在实际企业规模化应用中,在可信与质量的要求下,应该如何结合与取舍?
持续且快速,交付客户高质量有价值的软件
软件工程的目的是什么?总结下来就是一句话:持续且快速,交付客户高质量有价值的软件。所有的关键字都高亮了,前半句是实现方式,后半句是结果,所以持续交付、快速开发等,都是为了达成客户所需高质量有价值的产品目标。
从整个软件研发的生命周期来看,前半段是创新和开发阶段,创意、想法、需求、代码等,这些都是该阶段的工作产物,对于最终交付的产品,是增值且追求效果的。而后半段,是我们经常接触到的CI持续集成、CD持续部署、持续运维等,这些阶段所做的事情,对于产品本身是不增加任何新的价值。
例如测试,本身不会增加产品的价值,部署和发布只是确保产品价值得以体现,但本身也并不增值。所以后半段是非增值的活动,我们就需要高效、可重复、并且保持一致性的完成,这个阶段追求的是效率,也就是我们经常讲的研发效能。
华为云DevCloud软件开发平台覆盖软件研发的全生命周期,不仅能在前半段有效管理创意及需求,并在后端总结持续交付的核心实践,有效提升研发效能,包括做快速闭环、高速的交付自动化,尽可能地自动化所有的事情。自动化的前提是版本化,自动化的部署,缩短单点的耗时,好比整个交付是一个管道,我们需要了解瓶颈点在什么地方,才能打造高度标准化的环境。
可信:结果和过程的双重可信的高质量
除此之外,安全也是一个必不可少的维度,DevSevOps是这几年兴起的概念,但安全的活动却早已有之,并且需要贯穿整个研发流程。华为的软件工程实践,在上述业界的实践基础之上,又增加了可信,这个是大家看到华为研发流程所独有的,并且也是很多实践设计的基本出发点。
华为软件工程的建设历程,从1987年华为公司成立至今,吸收兼容并蓄了业界很多优秀实践,例如自动化测试、持续集成、持续交付、云原生、DevSecOps等,可信,一直都是重点。
可信工程,分为过程可信和结果可信,前者是手段,后者是目的。其中结果可信以六个维度来衡量:韧性Resilience、安全Security、隐私Privacy、安全Safety、可靠性Reliability、可用性Availability。而整个过程是通过可信的软件定义、可信的产品设计、可信的软件实现、可信产品使用与生命周期管理来达成。再之下是可信的治理与持续改进、人员能力的提升、可信与软件的文化、可信Built-in流程、IT与工具链。
华为云DevCloud是沉淀华为30年研发思考和实践的一站式软件开发平台,承载精益、敏捷、DevOps最佳实践,不仅对外部客户提供云上的服务,同时也承担内部8万多研发员工的可信研发工具链的交付,对华为可信工具链、研发作业效率和体验结果所负责。
根据客户的场景需求,华为云DevCloud将持续把华为内部对于敏捷、DevOps乃至可信的变革通过云服务的方式提供给外部客户,与客户共同迎接云原生2.0时代的机遇与挑战。