DevOps正成为主流技术趋势,很多企业都在极力拥抱这一理念,希望借助新的思维模式来处理开发和运维问题。尤其在企业数字化转型阶段,DevOps能极大地提升软件应用质量,提高软件开发速度,进而带来直接的业务价值。然而,什么是DevOps?
理解DevOps的“正确姿势”
其实,DevOps并不是一个新词。大概从2009年开始,企业就在寻求开发和运维人员的非常好的协作模式,试图通过自动化流程使得软件在构建、测试、发布以及运维等各个环节变得更高效、快捷。但是,在传统开发和运维模式下,DevOps只能是“水中月”、“镜中花”,直到云计算、大数据等颠覆式技术出现,DevOps才真正有了能施展技艺的空间。
如今,在强调以云为先、应用驱动的新一轮技术变革中,一些头部企业已勇敢迈出了第一步,通过DevOps战略助力企业业务增值。以某大型企业为例,之所以要构建DevOps平台,主要是解决两大难题:第一,提升自动化开发和测试管控能力;第二、构建资源统一规划、统一分配、统一视图等高效运行模式。其实开发、测试管理与运行管理是是一个有机体,三者是相辅相成的关系。如果开发和测试存在问题,那么后期运行管理也会受到阻碍。所以,要想让DevOps成功落地,首先要解决的是研发过程管控能力不足的问题,比如:研发过程无法清晰度量、查看和分析,流程规范不标准,各项目小组各自为政等等。最重要的是,因为缺少统一的研发管理支撑工具,已有的流程规范无法有效落实。由于管控能力不足,直接导致开发效率低、版本质量差,到最后出现业务环境交付慢的现象。
大型DevOps平台构建从底层架构开始
那么,DevOps具体该如何落地?相信,对于大多数企业而言,依然处于无从下手的状态!因为从组织架构、文化、流程到工具、规范等,DevOps要想成功实施,涉及太多复杂因素。但是,如果找到真确的方式方法,打通各种工具链,就会发现DevOps之旅原来可以如此轻松、简单。
▲BoCloud博云产品副总裁赵安全
至于,大型DevOps平台到底是怎样一种形态,具体包括哪些功能?BoCloud博云产品副总裁赵安全,从底层架构开始进行了详细介绍。
“DevOps的底层是各种工具链的集合体,包括自研的、开源的和商业版工具,这些工具通过统一的平台和门户串联到一起,然后实现固化、自动化以及可视化这么一个过程。最终,所有资源都通过统一的资源平台管好整个业务环境。” 赵安全强调,整个方案的核心应用场景,从需求端发起,然后涉及任务分解和计划、代码提交、持续集成、自测、多环境管理、上线发布及运维等各个环节。其中,几个重要的关注点,要实施并行制。比如,需求管理如何去规划、分解?业内有很多方式方法,部分企业会采用代码分支管理。仔细梳理,整个过程无非涉及两大要素:一个是工具链,另一个就是流水线。除了工具本身,规范标准也同样重要,只有采用过程管理和度量分析,最后所有的事情才能落地,才会实现过程可控、快速交付、可持续演进等目标。
而从落地结果来看,整个过程会包括几个重要内容。首先,是落地流程的设计,要根据公司的业务现状分为几个重要阶段,在不同阶段要实现不同的目标,每个人的职责也要界定好。一般这个过程会花很多时间,因为从现有流程的了解到把更多人的经验纳入进来,然后最后确定,是一个长期工作。其次,是组织架构设计,要设立专门的架构委员会,并且架构要凌驾于研发和运维之上,目的是把两个部门连接在一起,进行整合。
需要重点注意的是,在整个流程规划设计中,每个人的角色一定要规划好,什么阶段做什么事,遵守哪些规范,甚至要结合各种考核指标和度量数据,这是DevOps落地的关键点。并且,尽可能让所有的规范都能用平台去固化,通过专人去管控。
选择专业的平台型解决方案
要想快速进入DevOps之旅,省去中间所有的复杂流程,选择专业的平台型解决方案可能是大多数企业的上上策。
以博云(博纳讯动软件有限公司)的BeyondDevOps平台为例,除了灵活性、可用性和功能更强大,还能给用户带来更多附加体验。比如:可以自定义工作流,让用户的工作流实现标准化管理,让所有流程清晰、好用,并且可以后台直接匹配。另外,兼容性更强。对于很多开发团队来说,不止在做一个应用,可能会因为一个项目,做很多微服务,也可能要通过一个服务为20多个项目提供支撑,如何从各种项目、应用、服务的视角进行全面整合,这是博云的BeyondDevOps平台区别于其他平台的最大优势之一。就像一棵“服务树”,通过核心视图功能,用户可以从代码开始,把各种资源进行对接。
赵安全认为,除了又快又好,DevOps有三个特别重要的价值:
第一,研发进度管理可视化、数字化。从管理者的角度来看,希望整个研发管理过程是可视化、随时可以更新状态,是一个数字化过程。举例来说,当一个重要项目要发布,管理者希望看到今天的版本发布时间,比如:现在的进度已经达到51%了,还有12天就可以发布了。
第二,研发管理流程标准化、规范化。只有经过标准化和规范化,我们才能保证今天能做到A,明天也能做到A。
第三,需求比较明确,整个开发测试环境自动生成,高效管理和运营。这部分内容之前很多人可能会忽略,但现在已变成一个非常重要的事情,并且有很多解决方案。
总之,DevOps理念要想真正深入企业内部,让企业的开发和运维高效协作,我们在部署DevOps战略或者选择相关解决方案的时候,不仅要关注软件开发的快速交付,还要关心很多隐性因素,比如:全程可控、可视化的能力,以及整个研发的质量和效率的稳定性等等。
目前面向企业级用户的私有云市场上,能够将DevOps从解决方案层面落地到产品层面的并不多,能做到功能强,易上手的产品级DevOps就更少了。
市场研究显示,虽然近些年国内的数字化发展速度愈发加快,但企业在利用DevOps这一先进技术提升企业IT研发效率方面,与欧美企业相比还要落后一到两年的距离。新冠疫情对企业经营的冲击,也使得DevOps这样可以帮助企业IT团队实现远程协作开发的工具受到了企业的广泛关注。
博云旗下的BeyondDevOps产品能够做到向用户开放试用,证明了其产品的成熟度,这对于帮助企业快速实现自身的DevOps落地,缩短项目建设周期,具有非常大的意义。