通过对DevOps的概念、理念、发展轨迹、特点、总体架构与流程,以及实践过程中的工具链框架的打造和实践原则的描述,最终锚定DevOps的价值。随着DevOps原生理念的延伸,DevOps的价值变得更为丰富,无论是IT组织的各能力子域、IT组织自身,还是企业,均获得相应的收益。对于企业,产品的创新和市场占有率都需要IT组织的支撑能力和创新能力的提高。对于IT组织,IT能力决定了业务开展的深度和广度,自身的能力输出需要匹配甚至超越企业的业务发展。在IT组织内部的各能力子域,需要对IT能力输出负责,研发体系的敏捷,信息系统的安全、稳定和可靠,产品需求的精准,以及项目管理的完善和严谨都是必备条件。因此,在本章中,针对DevOps,我们将从多个维度对价值进行论述,对实践和落地过程提供锚定的指引。
1.7.1 提升IT组织中研发管理的价值
在IT组织中,研发是主干,也是利润和价值输出的“主力军”,因此,对研发进行有效管理,就实现了非常大的效能和质量提升。
1)通过DevOps实现软件的快速交付
根据《中国DevOps现状调查报告(2020年)》的描述,在采用DevOps的企业中,其中28.06%的企业在部分团队已经使用DevOps一段时间,目前处于优化阶段;15.72%的企业中已有一半以上的团队的敏捷开发实践在整个组织内处于比较高的水平;13.91%的企业中的所有团队已经熟练掌握敏捷开发,可根据情况调整、改善和创新实践,达到对敏捷开发的最佳实践。据数据统计,传统企业的占比为32%。由此可见,越来越多的企业选择通过DevOps来提升软件的快速交付能力。
传统企业在转型,其实互联网企业在快速交付的道路上已经走了很多年。经过考证,2011年,AWS平均12秒在生产环境中进行一次变更,Facebook每天进行两次生产环境代码交付,Google的很多服务每周可以进行多次发布。2012年,国内某大型企业需要上线一个需求,如果按照当时服务商交付的速度进行测算,Apple的交付时间是半个月~1个月,Google的交付时间是1个月~3个月,微软的交付时间是6个月~12个月。通过上述例子,我们可以思考是什么成就了AWS、Facebook、Google和Apple,又是什么导致了微软Windows Phone在市场竞争中的失败和产品的消亡。
下面以Visual Studio为例进行说明。微软的IT组织在2012年开始进行DevOps转型。在转型之前,微软每3年进行一次Visual Studio版本发布和产品更新,而现在可以建立3周的功能迭代计划,并实现应用上“云”,通过自动化工具实现了软件产品的持续交付。更重要的是,通过持续交付加强了用户的反馈,提高了产品的价值。
当然,在软件出现以后,研发模式不断进化,从无序到有序的管理演进,研发标准化,从敏捷开发发展到现在的DevOps研发。运维模式也在不断迭代,从最初的人工运维到工具化运维,再到一体化运维,最终发展到目前的研发与运营一体化。因此,通过DevOps提升软件的快速交付能力是IT组织中的基本价值。
图1-17为软件交付效能的比较。从图1-17中可以得知,在部署频率、变更前置时间、服务恢复时间和变更失败率4个维度,各个层级的效能是相差很大的。
图1-17
2)通过DevOps提升敏捷的质量
在现代软件交付模型中,DevOps框架体系中的敏捷管理相比传统项目管理多了两个关键因素:价值和质量。从此,泛化的价值得到了统一,涵盖了成本、进度、范围、质量和价值。
在产品交付的前置阶段,因为需求方不能准确描述他们想要的东西,所以需要把业务系统以用户故事的方式呈现,或者将业务系统描述为具备一个或多个有特定业务价值的功能。通过快速迭代,快速交付这些用户故事,最终及时得到用户反馈。在高效且无障碍的沟通的基础上,最终交付用户真正想要的东西。
DevOps的原生理念主要体现在IT组织内部,可以简单地理解为将敏捷思想应用于软件开发、技术运营和质量保障,全面提升敏捷水平,更多地通过流程贯通研发、测试和运维。在引入DevOps后,在业务响应速度、质量、安全性保障、员工满意度和投入产出比等方面可以得到大幅提升。
根据相关数据的统计结果,图1-18中的精英DevOps团队在部署环节的速度提升了200倍,问题修复的速度提升了24倍,变更错误率降低到原来的1/3,线上问题修复时间或服务恢复时间降低到原来的1/2500,减少了22%不可预料的问题,减少了一半的安全和性能问题,同时,减少了低价值的重复性工作和不可服务时间,让IT组织成员有更多的时间投入更有意义的工作,如新功能开发和技术迭代。
3)通过DevOps构建新一代的技术架构
在企业的发展过程中,应用的技术架构随着业务的发展不断进行迭代。在业务爆发式发展的今天,IT技术需要优先于业务发展计划进行迭代。因此,DevOps要构建新一代的技术架构,提升IT组织的价值。
以微服务架构为例,微服务有助于研发团队提高变革的速度和敏捷性,但仅依靠新的架构还不够。负责应用架构的架构师必须在IT组织内部进行DevOps文化的普及,除此之外,还需要进行流程、组织和研发平台的变革,从而真正为企业创造效益。
微服务架构是一种将软件构建到可移植和半自动组件中的模式,具备敏捷的特性,但其成功完全依赖采用现代应用平台和技术的敏捷流程和实践,因此,微服务架构需要DevOps进行文化和流程的规整,同时需要DevOps在工具链的集成以进行技术体系的覆盖和融合。
在降低开发的复杂度的同时,微服务架构带来了系统运维和技术运营的复杂性,因此,DevOps的数据流转和数据分析能力,以及智能监控体系是支持新一代技术架构落地的基础和前置条件。
1.7.2 提升IT组织中服务输出的价值
1)DevOps能够给IT组织的各能力子域带来突破边界的能力
对于IT组织内部的各能力子域,文化和技术能力存在比较明显的差异,因此,在IT组织服务能力输出的框架下,这种差异会带来服务输出能力新的瓶颈。在企业的发展过程中,IT组织需要面对新系统的开发和旧系统的技术迭代等问题,从而需要进行人员扩张,同时需要具备更先进的IT管理能力。IT组织的各能力子域需要突破边界来支持IT组织的转型,从而快速地应对变化,更好地支撑业务发展。
在实际情况中,需要通过DevOps持续进行能力子域的敏捷和管理转型,通过能力子域的赋能来模糊边界,从而更好地支撑复杂的业务、场景和项目。在IT组织内部,边界的突破需要统一的管理,整体的研发效率的提升直接带来降本增效。而间接的价值在于团队能力、IT治理水平的提升更为显著,最终通过IT组织的价值和质量来快速应对业务的变化和管理服务交付的风险。
2)DevOps建立端到端的服务输出的能力
IT组织若想具备端到端的服务能力,需要采用更为先进的DevOps理念,通过DevOps工具的组链,形成流水线式的服务输出。我们可以将软件研发工具、基础资源池化技术和运营监控工具进行整合,解决研发过程中代码托管、代码分支、环境管理、架构管理和持续交付等突出难题,支持IT组织更快和更高质量地进行DevOps转型,在团队管理和持续服务能力输出上实现跨越式提升。
在DevOps端到端的服务能力框架中,具备以下能力:端到端的资源输出、端到端的交付输出和端到端的价值输出,贯穿IT组织内部的各能力子域。DevOps端到端的服务能力框架可以划分为软件交付和技术运营两大部分,分别使用不同的管理域和管理方法。而支撑这些管理的全链路价值交付流水线,通过流程和数据的双轨驱动,可以对软件交付的全过程和全生命周期进行管理。在开发的管理过程中,通过对流程进行梳理和知识的沉淀,形成有价值的数据仓库和知识库。全链路价值交付流水线整合了项目管理、需求管理、架构管理、研发管理、测试管理和运维管理等研发工具,集成了软件研发工具、基础资源池化技术和运营监控等技术运营工具。在基础设施层,通过云计算技术,实现了资源的弹性伸缩,具备“基础设施即代码”能力。借助DevOps方法构建研发与运营一体化能力体系,实现贯穿产品需求到产品交付全过程的流水线,建立端到端的全局服务能力。
1.7.3 助力企业进行产品转型和科技输出
随着IT组织的支撑能力逐渐转变成创新能力,IT支撑业务到IT助推业务的时代即将到来。纵观国内头部科技企业在抗击新冠肺炎疫情期间的表现,科技赋能的趋势越来越明显,因此,DevOps的价值在产品转型和科技输出中体现得淋漓尽致。
1)DevOps让IT组织全面提升企业各方面的业务能力
随着云计算、大数据、物联网、移动互联网和区块链等新兴技术的成熟和应用,很多企业开始探索科技赋能,用更先进的IT技术来提升业务能力。
例如,利用大数据和人工智能技术可以提高数据输出能力,把数据处理能力和智能算法嵌入运营体系,达到智慧运营的目的。利用云计算和移动互联技术可以更好地提升IT远程服务能力,提高跨组织和跨地域的软件交付能力。利用移动互联技术和人工智能技术可以更好地理解客户需求,并提高数字化营销能力。
在科技赋能的今天,企业要时刻拥抱新兴技术,用科技助推企业业务的发展,这就需要IT组织在文化、技术能力和信息系统方面适应新技术的要求,将技术和业务进行深度融合,通过DevOps的价值输出能力,全面整合到企业的内外部价值输出生态链,重塑基于科技赋能的商业模式和全面的IT服务输出能力。
2)DevOps赋能IT组织,支撑企业进行业务创新
在科技高速发展的今天,企业同时承受两种压力,一种是传统业务的压力,另一种是创新发展的压力,因此,企业压力也会传递至IT组织。Gartner在其最新的研究报告中提出“双模IT”概念。“双模IT”概念和DevOps的锚定价值是匹配的。双模IT具备两种IT模式:可靠IT和敏捷IT,在强调安全性和经济性的同时,还需要具备更快的交付速度和更高的灵活性。因此,IT组织不仅需要在传统业务模式下提供稳健、安全的服务,还需要助推业务进行新兴领域业务的创新。
在DevOps的实践和落地过程中,其价值输出是分阶段的,不同能力子域的能力输出和不同阶段的能力输出是可靠IT和敏捷IT不断融合的过程。在企业的业务创新过程中,这种有机结合的方式能够让企业的IT组织站在更高的位置进行科技赋能,对业务转型提供更好的支撑和帮助。