2019可信云大会 | 车昕:2019年中国DevOps现状调查报告解读

2019年7月3日10:03:00 发表评论 7 浏览

大家下午好,我是来自云大所部的车昕,今天给大家介绍下2019年中国DevOps现状调查报告。

2019可信云大会 | 车昕:2019年中国DevOps现状调查报告解读

先简单描述下本次调查的背景。根据信通院的研发运营一体化DevOps评估结果可以看出,目前DevOps已经在互联网、金融、运营商、制造业广泛落地实践了,所以为了了解中国DevOps落地实践的现状以及未来发展趋势,我们今年首次开展了中国DevOps的现状调查。本次调查数据的收集和报告编写是由中国信息通信研究院、云计算开源产业联盟、华为和南京大学联合发起的。本次调查一共收到1549份有效问卷,在此我也对参与问卷调查的每位朋友给予最衷心的感谢。

首先看一下本次调查企业的行业分布。参与本次调查的企业来自于互联网、科技、电信、制造等十多个行业,其中互联网和科技占据了半壁江山,从行业的分布可以看出,DevOps已经逐步在各个行业落地实践了。参与调查的企业人员规模为500人以上的占比约为20%,100-500人的占比为15%,100人以下占比超过6成,这是本次调查的主力军。参与本次调查的受访者,来自研发部门的比例近8成,运维部门的受访者占了近10%左右,仅有1%来自安全部门,可以看出研发人员和安全人员比例的悬殊。个人DevOps经验少于一年的比例占据了70%左右,一年到两年的大约是14%,三年以上是大约是11%。

我们认为敏捷开发管理、持续交付、技术运营、应用设计、安全管理以及系统和工具覆盖了软件开发生命周期全流程,本次调查从这六个维度开展。根据企业推行DevOps取得的效果,分为初始级、基础级、全面级、优秀级和卓越级。

下面看一下企业转型现状的调查结果。企业希望DevOps能够带来更高效的交付效率,提升客户满意度,创造更多商业价值,但是我们发现成功实践DevOps依然是个难题。有3成企业认为自己的DevOps实践是成功的,28.22%企业认为DevOps实践是不成功的,有超过40%的企业不知道如何判断DevOps是否成功。DevOps实践不仅仅是从文化上反复畅谈,更应该考虑实践DevOps能为企业带来什么样的效益。调查发现,企业认为更希望DevOps能够带来产品质量的提升、软件的按时交付、客户满意度的增加以及研发效率的提升,这是企业最希望从DevOps实践中得到的好处。

接下来是对DevOps应用现状调查的综合结果。可以看出DevOps已经在国内逐步落地实践,DevOps经验位于基础级和初始级的企业占比超过七成,有18.07%的企业处于全面级,10.41%的企业认为自己已经达到优秀级,卓越级的企业占比为0.74%。

这是我们对敏捷开发管理的调查结果,可以看出来,敏捷开发管理目前在企业应用广泛,绝大多数企业敏捷开发成熟度位于基础级和全面级,这部分比例占比70%。对敏捷开发方法和敏捷开发技术的调查中发现,企业选择最多的敏捷开发方法是Scrum,占比为45.41%;其次是看板方法和自定义混合模式,分别占比41.23%和31.46%。对开发技术的选择可以看到,企业选择最多的是每日站会,其次是对迭代的选择。根据调查结果可以看出一个企业普遍存在的一个现象,大家都知道一个完整的迭代包括迭代计划、一到四周的短迭代周期、迭代结束以后的回顾会议和评审会议,调查发现有四成企业选择了迭代计划会议,但是仅仅有三成企业选择了迭代结束以后的评审会议和回顾会议。可以看出现在企业普遍存在的问题,那就是研发管理流程严谨性不足。

在对敏捷工程实践的调查中发现企业最喜欢使用编码规范、单元测试、持续集成、自动构建、持续部署和重构。这个也跟我们进行的DevOps持续交付成熟度评估获取的结果相吻合。如果企业在组织内大规模推行敏捷开发的时候,就会用到大规模敏捷开发方法,我们发现企业用的最多的大规模敏捷开发方法是Scrum of Scrums,其次是组织自创的方法。

接下来看下我们对持续交付实践的调查结果。持续交付是指持续地将各类变更安全、快速、高效 地 交付到用户手中的能力,同时也是 DevOps的核心工程实践 。持续交付提倡的版本控制、持续集成、持续部署、主干开发、集成安全机制、自动化测试、自动化部署等都对软件开发产生正面的影响。调查发现有80%以上企业目前采用持续交付实践,并获得研发效率的提升,其中4成左右企业目前持续交付成熟度处于基础级,有33.95%的企业持续交付成熟度属于全面级,有10.17%的企业持续交付成熟度位于优秀级,甚至有1%的企业可以达到了卓越级。

是否采用版本控制系统与关键IT性能指标高度相关,是实现持续交付的基础。从版本控制系统熟练程度和企业持续交付成熟度的对比中发现,这两个比例是呈正比的关系。简单看一下。最左边初始级的持续交付成熟度,有60%左右源代码都是分散在本地管理;基础级的企业,有63.9%的企业使用了统一的版本控制系统,将全部源代码纳入统一版本系统管理;持续交付为全面级的企业,3成以上将源代码、配置文件、脚本、依赖项等都纳入版本管理系统。

随着持续交付成熟度的提高,自动化的比例也会越来越高,手工方式会逐渐降低,这是一个整体的结论。可以看出持续交付成熟度为初始级的企业没有采用自动化部署的方式;持续交付成熟度为基础级的企业有18%和12%的企业采取了自动化构建和自动化部署的方式;持续交付成熟度为全面级的企业,分别有73.68%和61.24%的比例采用了自动化构建和自动化部署的方式;如果是优秀级的企业,基本上有90%以上都采用了自动化部署和自动化构建。

缩短进入市场的时间是满足客户需求关键因素,部署频率和集成频率从侧面反映了企业快速响应市场需求,满足客户要求的能力。根据调查结果可以看出,部署频率和集成频率超过一个月的企业占比是分别为10.12%和20.12%;部署频率和集成频率控制在一个月内的企业占比分别为27.89%和29.45%;有21.14%和15.45%的企业可以将部署频率和集成频率控制在一周之内。DevOps提倡测试左移,增加自动化的代码级测试和接口级测试。调查结果显示,仅有五成企业选择了自动化接口测试,单元测试和性能测试,这些都是属于功能测试;对于稳定性测试、安全性测试、可靠性测试等非功能性测试而言,将这些测试转化为自动化的比例大约是不到20%。 在对持续交付工具的调查中发现,最受企业欢迎的持续交付工具是Maven和Jenkins。

接下来我们看下技术运营的调查结果,分别从监控管理、事件与变更管理及业务连续性管理进行了调查,大约六成左右的企业技术运营成熟度属于初始级和基础级,有22.86%的企业技术运营成熟度达到全面级,企业技术运营能力整体有待提升。

在研发运营一体化(DevOps)能力成熟度模型的整体框架中,应用设计属于横向支撑域,为了支撑敏捷开发管理、持续交付、技术运营等过程目标的实现。分别从应用系统的可拓展性设计、可测试性设计和可用性设计进行了调查。调查显示多数企业应用设计水平位于初始级和基础级,占比分别为28.81%和31.97%,整体有待提升。

将安全手段与DevOps相契合,使安全也能跟上持续交付的速度,并通过自动化的方式集成到持续交付中,是当下企业最应重视的问题。我们分别从企业实施安全管理的现状、添加自动化安全分析的阶段、专业安全团队的配比等方面进行了调查。结果显示,39.41%的企业安全管理的成熟度是初始级,35.87%的企业位于基础级,可以看出企业目前尚未给予安全足够的重视。在企业比较关注的安全问题和安全集成检测阶段的调查中可以看出,有7成以上的企业比较关心代码的安全性,但是仅有46%的企业在代码开发阶段添加了安全检测;有59%的企业关心设计是否符合安全规范,而在代码结构设计阶段添加安全检测的比例仅为35.87%,由此可以看出,企业对于安全问题从关注到落地还需要切实投入。

企业普遍认为需求频繁变更是导致软件被延迟交付的主要原因。而不同部门目标的不一致,是导致企业难以推行DevOps的主要原因,其次分别就是个人往往优先效忠于自己的部门,然后是自己的组织、行业限制、缺乏配置使用专业工具的专业知识或者是缺乏专业人才,这些因素都会造成企业难以推行DevOps。

在对未来DevOps投入趋势的调查中可以看出,超六成的企业有非常明确的计划对DevOps工具或者培训进行投入,目前仅有12%的企业不准备进行任何DevOps相关的投入。

企业对DevOps工具和技术的选择中发现,半数左右的企业选择了和单一云供应商;近5成企业选择了Spring Cloud和Spring Boot;易用性、可伸缩性和性能是最受企业欢迎的微服务架构特性。容器的出现使DevOps落地实践相对容易,Docker是最受企业欢迎的容器技术,而保持跨环境的一致性和灵活的可移植性是企业选择容器的主要因素。JIRA和Gitlab依然是最受企业欢迎的DevOps工具,高居榜首,占比分别为52.31%和46.13%;目前一共有36.03%企业选择研发运营开发一体化平台。

在企业对政策和资质的需求调查中发现,软件开发能力和DevOps能力成熟度方面的评估倍受企业用户重视。

2019可信云大会 | 车昕:2019年中国DevOps现状调查报告解读

最后附上本次DevOps现状调查报告下载的二维码,如果您对本次调查感兴趣的话,可以扫描这个二维码,下载完整版的调查报告,谢谢大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: