DevOps 是 development 和 operations 两个单词的组合,是一组过程、方法与系统的统称,用于促进开发、运维和测试部门之间的沟通、协作与整合,覆盖开发、构建、测试、部署和交付反馈等阶段。
可以说,DevOps 是软件开发生命周期从瀑布式到敏捷,再到精益的演化。瀑布模型的特征是,在进入下一阶段之前,每个阶段目标必须100%地完成。相对于瀑布开发模式,敏捷开发过程的一个基本原则就是,以更快的频率交付最小化可用的软件。在敏捷的目标里,最明显的是在每个Sprint的迭代周期末尾,都具备可以交付的能力。DevOps 是敏捷开发的延续,它与敏捷相辅相成,因为它拓展和完善了持续集成和发布流程,因此可以确保代码是生产上可用的,并且确实能给客户带来价值。
企业在应用了 DevOps 之后,往往可以得到以下几个方面的业务优势:一是产品快速推向市场,缩短开发周期和更高的部署频率;二是提高质量,提高可用性,提高变更成功率,减少故障;三是提高组织的有效性,将时间花在价值增加活动中,减少浪费,同时交付更多的价值至客户手中。
DevOps 在中国发展滞后
自 2008 年 Petrick Debois 在多伦多敏捷会议上提出“ DevOps ”一词以来,DevOps 理念在全球越来越深入人心。近期,Transposit 公司发布了一项针对 415 位 CIO 及 CTO 的调查。数据显示,88% 的受访者已经开始了 DevOps 理念的实践;83.4% 的人认为 DevOps 对公司的数字化转型具有至关重要的作用;几乎所有的受访者表示将进一步深入实践 DevOps ;更有 83% 的人已经制定了计划并着手实施。
而我国 DevOps 发展起步较晚,整体发展水平存在明显滞后。刘博涵等人于 2019 发表的《 DevOps 中国调查研究》从更多维度探讨了 2016 年至 2018 年期间 DevOps 在我国的发展情况。目前,国际上对于高性能团队的定义是部署频率为一天多次,交付周期和平均修复时长在 1 小时以内,团队变更失败比例在 0~15% 。如果按照此标准衡量,在国内受访团队中,2016 年无一能达到该标准,2018 年仅有 6%可以达到这一标准。这虽然在一定程度上说明了部分国内团队在IT性能上有了明显的进步,但总体来看,国内与国际水平还存在明显的差距。
《 DevOps 中国调查研究》的调查还发现,23.3% 的准高性能团队受访者表示其和团队都害怕代码部署,而准低性能团队表示害怕的仅为 8.8% ,这与 Puppet Labs 面向全球调查后得出的“高性能的团队得益于自动化实践的充分开展,面对部署,比低性能团队感到更轻松”的结果正好相反。因此他们认为,这是我国 DevOps 标准逐渐与国际接轨,而生产力却发展滞后的体现。
此外,Puppet 发布的《 2021 年度 DevOps 状况调查报告》指出,83% 的 IT 决策者表明他们的组织正在实施 DevOps 实践。而中国信通院发布的《中国 DevOps 现状调查报告( 2021 年)》显示,引入了 DevSecOps 的企业占比仅为 53% 。
症结就在于员工素质不高和人才紧缺
正是因为 DevOps 不是一种实实在在的技术,而是一种思想理念,一种方法论,所以每个软件开发组织都可以根据自身的实际情况将 DevOps 理念落地,指导组织内的开发与运维工作 。不过仍有一个共识就是,通过自动化的方法实现持续集成与持续交付,是 DevOps 实践的一条基础性准则。如今,除却各种开发、运维自动化工具,微服务、容器等其他领域技术也同样支撑着 DevOps 的变革。
比如,在云计算、微服务大力发展的背景下,出现了以 Docker 为代表的容器技术,以 Kubernetes 为代表的容器集群技术将容器技术进一步提高到了生产级别,同时出现了 Maven 、Gradle 、Webpack 等构建工具,以 Git 、 SVN 为代表的代码版本控制工具,使得自动化的持续集成与交付变为可能。
然而现在的局面是,不同的平台与工具被不同的部门使用,尽管交付效率提升了,但不同部门之间仍然像信息孤岛,不同系统之间的信息流转仍偏向手动方式。
飞算云智总裁陈定玮认为,互联网技术是非常庞杂的,并且发展日新月异,开发与运维之间的技术鸿沟真实存在并且日益加深。对国内大部分IT企业来说,依靠 DevOps 的理念并不能弥补这种鸿沟。因为 DevOps 的实施对人才的依赖性强,以及对人员的基本素质要求非常高。这也是很多 IT 公司在实践 DevOps 时不得不以失败告终的原因。如果没有一个更加有效的平台让它落地,那么 DevOps 这一出色的工程理念和工程技术便无法在中国得到进一步推广。
《 DevOps 中国调查研究》的调查数据也证实了这一点。我国 DevOps 的发展起步晚是不争的事实,但人的因素是 DevOps 发展的最大障碍。阻碍 DevOps 推行的前五大因素依次是组织行业的限制、不同部门的目标不一致、员工不理解 DevOps 的概念、组织缺少具备 DevOps 经验的专家、缺乏配置和使用相关工具的专业知识和人才,其中与“人”相关的因素高达 80% 。该研究总结道,国内 DevOps 滞后、过程成熟度不高的症结就在于员工素质不够高和人才紧缺。
可视化全自动开发打破技术鸿沟
那么,有没有一种工具,可以摆脱软件开发对员工素质和人才的依赖,弥补开发与运维之间的技术鸿沟,实现真正的高效协同工作呢?飞算科技用新一代 Java 开发工具—— 飞算SoFlu 全自动软件工程平台给出了答案。陈定玮说,飞算SoFlu 可以将原来开发工程师才看得懂的代码可视化,让业务人员也看得懂,从而降低准入门槛。
据了解,飞算SoFlu 采用通用的技术功能模块,支持循环、条件判断、函数调用等组件,通过拖拽方式以及参数配置,实现实际上就等同于编写复杂代码的业务逻辑。只要技术人员了解基础的业务逻辑,就能实现软件开发。而且,平台统一了代码规范,不依赖人工编码、审码,因此可以从源头上保证代码高质量。
总而言之, 飞算SoFlu 通过可视化编程的方式满足低门槛开发需求,输入流程图即可实现自动开发。毫无疑问, 飞算SoFlu 与 DevOps 理念是一致的。
陈定玮曾表示:“飞算 SoFlu 的出发点是想让 DevOps 真正的落地。而实现‘落地’首先重点要解决的就是开发的问题, 包括开发的品质、安全和效率等,再逐步解决测试和运维问题。”
近期,随着飞算SoFlu全自动化测试平台的上线,陈定玮要解决开发、测试、运维问题的目标已经完成了三分之二。据了解,该平台能够以自动化的方式实现测试生命周期管理、测试用例自动生成、测试数据管理、精准回归测试等一系列功能,不仅降低了测试门槛,让初学者轻松上手,还可以减少测试对资源的占用,提高执行效率,自如应对企业数字化转型背景下软件测试面临的人工测试耗时长、测试跟踪管理难、测试成本高、Bug发现和解决成本高等挑战。
此外,在该平台上,用户可以对程序流程图中任何节点配置跳过节点,或模拟节点数据,或正常执行,方便用户测试任意部分的业务逻辑,即使只开发了部分业务逻辑也可进行测试,极大地提高了测试效率。
我们也要看到,全球绝大多数组织仍然停留在 DevOps 演变的中期阶段。企业在落地 DevOps 实践时,仍面临许多挑战,比如 DevOps 文化构建、部门沟通成本、开发工具分散、DevOps 实践成本等 ,期待能有更多、更好的工具或平台能解决上诉问题,以此促进 DevOps 的发展。