近日,亚马逊云科技宣布Amazon Proton正式可用。该应用的交付服务能帮助客户更轻松地供给、部署和监控以现代化容器和无服务器应用为基础的微服务,对此亚马逊云科技计算服务副总裁Deepak Singh表示,“Amazon Proton将客户的基础设施以代码、CI/CD流水线和可观察工具整合至一个单一界面中,这样开发人员可以快速地从回购的代码转向生产应用。开发人员无需成为每个底层服务的专家,可以依靠Amazon Proton的自助服务功能快速、安全地部署代码,而核心基础设施团队可以确保开发人员使用Amazon Proton开发的应用满足其为业务设定的标准。仅试用阶段,亚马逊的CareerBuilder、Grabyo和Rackspace等客户和合作伙伴就对Amazon Proton的便捷性表示认可和肯定。

Amazon Proton运用的逻辑框架DevOps,数年前就以其独有的开发模式打破了开发和运维工作界限,并且,容器技术的帮助使得这一过程以更高效的方式呈现众人眼前。DevOps一方面具有灵活性、目标明确,另一方面,又依赖于不同开发者间流畅协作和IT团队高效管理,为微服务充分提供了实践环境。

其实,2013年末Docker容器引擎开源起,容器编排工具K8s就开始逐步获得市场认可,通过容器镜像对应用程序进行标准化的封装和编排也成为软件研发行业新一代的主流架构。这一发展为DevOps的发展打下了技术基础,容器和微服务架构的天然契合加速对传统架构的颠覆运转,软件内部架构的解耦也使得践行DevOps方法和流程成为可能。但当下由于环境、企业传统文化、实施难度等原因,DevOps仍未成为IT领域普遍认可并投入的广泛应用。

据此,朋湖网对艾瑞咨询出品的「2020年中国DevOps应用发展研究--艾瑞云原生系列报告(二)」展开分析,并从DevOps定义、企业DevOps落地五步走、DevOps未来发展趋势三个方向对DevOps领域发展潜力提出构想。

01

什么是DevOps?

报告中显示,直至现在DevOps仍未拥有统一明确的定义。但在亚马逊、微软、IBM、谷歌给出的定义中我们看出,DevOps在基本效用上不存在太大差距,核心功能就是为人员、组织、流程、文化等企业核心构成起降本增效作用。

图表来源:艾瑞云原生系列报告(二)

随着软件开发产业的不断完善,企业中工作效率常常需要依赖IT部门中不同人员、团队、企业间的通力合作来完成。并且,企业IT部门还将面对传统IT系统内开发和运维架构固有缺陷所带来的低效能,以及加速适应快速变化的客户需求和外部环境。

在信息技术人才紧缺的大环境下,为满足与日俱增的种种需求,DevOps诞生。

DevOps一出现,其敏捷性就极大程度的颠覆了以往“瀑布流”式软件开发流程下的强耦合开发流程。“瀑布流”式软件开发流程体系下,软件从提出需求到产品上线需要经历计划—研发—测试—部署四个阶段,虽工作有序但灵活欠佳,不能实时对需求变化做出反应,尤其是在应对电商、互联网金融等敏态需求场景时极显笨重。

DevOps的延展性和灵活性,使得企业能够更好的应对瞬息万变的用户需求,达成提升市场竞争力的作用。并且,其增添的测试程序持续部署生产环节,将运营核心转变为对用户需求的持续反馈和升级,实现了企业对于提高初次开发的整体效率及在发布颗粒度的同时处理初次部署上线后的功能添加和缺陷修复的能力。

图表来源:艾瑞云原生系列报告(二)

企业自动化水平决定其固定时间内集成、发布、测试的次数,也反映出团队对外部环境变化的敏捷程度。DevOps有效帮助开发人员在产品部署上线后借助应用容器化条件下统一运行环境对检测系统和软件故障状况进行实时监测。

DevOps具备的种种优势,为其奠定了企业内部结构、合作、管理关键助手的地位。尽管如此,现阶段只有不足20%的企业具备智能化检测和决策能力,未来仍具很大市场可发展空间。那么,是什么原因导致国内企业普及程度低的情况?

02

DevOps落地操作五步走

我国企业数字化转型的不断深入带领IT部门的职能同步发生转变,业务赋能和信息技术产生的社会价值和企业价值使得IT部门人力成本不断提升。此外,IT部门天然技术壁垒与开发及运维部门在工作目标上产生的分歧、传统“瀑布流”式的软件开发流程僵化,也为领导层管理造成困难。在无法急速改变人才市场现状和IT人员素质的前提下,提升内部运行效率成为亟待解决的首要问题。

图表来源:艾瑞云原生系列报告(二)

DevOps的特质能够帮助企业打破开发运维工作界限,把软件开发与运维工作紧密衔接,形成无限闭环,最终实现为企业提供更加简单高效解决方式的最终目的。

DevOps流程实践三阶段

DevOps的核心是由开发人员和测试人员主导的敏捷开发和持续测试阶段。通过Scrum(迭代式增量软件开发,常用于敏捷软件开发)或Kanban等工作流方法的指引和一系列持续构建、集成、测试、发布工具,让IT团队把庞大的程序模块进行拆解,提升工作关注度,并持续与用户对接、实时把控各模块的研发质量和成果。

待软件部署上线后,开发人员也可以利用应用容器化封装的统一环境之便,与运维人员一同对软件运行质量进行监控、为用户提供支持,并根据市场需求进行版本更迭的进一步开发。

一般来说,企业实现DevOps的落地经历五个阶段。

企业落地阶段图

在落地实施时,企业整体可从文化需要面向DevOps的流程进行调整与适应,逐步对IT部门的开发、运维进程进行逐步改造升级。

需要注意的是,团队规模将会为应用落地产生显著的影响。报告表示,在实践阶段,10-20人的团队能够更好的发挥DevOps降本增效的作用,而团队是否属于外包、地理位置集中与否都不会对DevOps实践产生关键性影响,毕竟DevOps就是为解决这些团队摩擦而产生的。

从另个角度来看,DevOps实践给企业带来最显著的收益包括提高开发和运维工作效率、提高软件产品质量、用户满意度并且提高部门工作负载能力。如果企业没有敏捷开发需求,或现阶段运用的开发方法足够满足企业业务需求,其开展DevOps的转型耗费资产和管理投入性价比较低。

图表来源:艾瑞云原生系列报告(二)

近来,我国数字化转型进程不断推进,在线办公等企业级软件服务、电子商务等消费级软件服务市场规模不断扩大,我国百强软件企业软件业务收入从2012年的3667亿元攀升至2018年的8212元,CAGR达到近15%。

图表来源:艾瑞云原生系列报告(二)

在云计算、AI等科技力提升下,软件行业也将带来大幅增长机会。软件开发作为上游基础,其未来增长力度也不容小觑。

03

DevOps未来发展趋势

由于软件开发和运营并非属于传统行业主营业务,因而整体缺乏响应人才和软硬件基础设施,所以这类企业和机构的数字化水平整体较低。

现下,处于数字化转型大趋势中,找准转型道路就意味着企业在未来市场竞争中获得一处立足点。DevOps为科技行业、电商行业、通讯行业带来的优势有目共睹,并且伴随云计算的发展和云平台上产品生态的不断丰富,大量企业开始选择从公有云厂商采购其提供的DevOps云平台。而代码安全和保密性以及定制化要求较高的企业则倾向于以私有化建设的模式向私有云厂商购买DevOps咨询和平台搭建服务也成为固有趋势。

依上述条件分析后我们得知,现阶段企业构建DevOps平台的主要途径有四,即外采/公有云、外采/私有云、定制化低成本构建、自研。

由于DevOps自研流水线难度较低,并且国内企业更习惯目前企业流程和工具,导致“云平台+开源软件”成为现阶段国内DevOps框架构建最主流的方法。不过,DevOps作为一种协作文化和企业管理的理念和思路,它的应用框架绝不是一成不变的,它将会随着信息技术和软件工具的发展而不断革新、不断适应新的软件开发环境和市场需求环境。

未来DevOps应用发展呈现出自动化、数据化、一体化、智能化四大趋势,分别对应目前软件开发和运维领域人工参与较多、量化指标不够清晰、开发运维链条有待完善和智能化程度尚待提高等主要问题,以期达到为最大限度的减少人工对无意义、重复工作的参与并提高软件开发和运维工作的有效性的最终目的。

并且,各式技术与DevOps的有机结合也使之呈现出1+1>2的效果。Serverless与DevOps结合能够充分结合两者优势,将技术设备运营负担从用户手中分流加强运维职能划分和自动响应来减少IT部门的运维成本。

“AIops”(AI+DevOps),颠覆原本传统监控模式,起到更具针对性的运营规则,提高问题识别精准度。

Security+DevOps,将安全防护流程有机融合近传统DevOps流程,通过自动化、智能化方式使其成为软件开发和运维的内生部分,以统一流程兼顾安全防护。

由此可见,DevOps其便捷性、包容性能够与大范围领域有效合作,提供更优性能体验,预计未来进驻企业并持续发展将成为必然。