DevOps发展现状及趋势研究

上传人:I*** 文档编号:148804995 上传时间:2020-10-22 格式:DOCX 页数:10 大小:704.02KB
返回 下载 相关 举报
DevOps发展现状及趋势研究_第1页
第1页 / 共10页
DevOps发展现状及趋势研究_第2页
第2页 / 共10页
DevOps发展现状及趋势研究_第3页
第3页 / 共10页
DevOps发展现状及趋势研究_第4页
第4页 / 共10页
DevOps发展现状及趋势研究_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《DevOps发展现状及趋势研究》由会员分享,可在线阅读,更多相关《DevOps发展现状及趋势研究(10页珍藏版)》请在金锄头文库上搜索。

1、DevOps 发展现状及趋势研究摘要:近年来,DevOps作为新兴软件开发管理范型,得到了广泛关注。它通过整合开发和运维,实现了软件产品和服务的持续交付,从而 让企业提高效能,降低成本。本文先简述了DevOps概念及优势,其次从采用率、使用成效及工具几个方面研究了DevOps的发展现状,最后分 析了DevOps未来发展趋势。关键词: Devops ;开发与运维;持续交付;IT 工作流10目 录1.引言32.DevOps介绍32.1.DevOps概念32.2.DevOps优势43.DevOps的发展现状63.1.DevOps采用率63.2.DevOps使用成效73.3.DevOps工具84.De

2、vOps的发展趋势95.结语101. 引言随着互联网信息技术的快速发展,软件和服务的生命周期迭代间隔不断缩短,用户都期望能够在第一时间获得最新产品及服务, 也希望缺陷能够在最短时间内修复,快速交付能力成为企业的核心竞争力。DevOps提出将开发与运维结合,其持续部署、持续交付技术能够有效提高产品和服务交付能力,帮助企业提升效能,因而得到了广泛关注。随着这几年不断的探索与实践,DevOps已从最初的流行词转化为行业的焦点技术,DevOps正在给传统软件开发模式带来巨大的变革。2. DevOps介绍2.1. DevOps概念DevOps(英文Development 和Operations的组合)是

3、一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合,如图1。图1 DevOps 概念示意图DevOps概念最早在2009年的欧洲被提出,它的出现是由于软件行业逐渐清晰的认识到,当前主流的敏捷开发带来的是持续测试的能力,这种开发模式并未消除开发与运维之间的隔阂,将开发团队与运维团队独立开的传统方式,已成为提高交付速度的障碍。为了填补开发和运维之间的信息鸿沟, 改善团队之间的协作关系,DevOps应运而生,旨在促进开发和运维紧密合作,实现按时交付软件产品和服务的目标。2.2. DevOps优势在软件开发过程中,存在技术的价值流,它体

4、现在从需求提出到开发、测试、部署、发布、运营整个流动过程。技术价值流关注从提出商业需求,到把设想利用技术转化为服务,最终交付价值给客户。在技术价值流中,缩短每个环节的时间,确保流程高效和高质量流动,有助于提高价值与效能。而DevOps就是从软件交付的全局出发,构建的一个完整的IT工作流( 如图2 ) , 以I T 自动化及持续集成( C I , Continuous Integration)、持续交付、持续部署为基础,优化开发、测试、系统运维 等所有环节。DevOps的核心原则是快速流动、快速反馈与持续学习,其主要优势表现在以下几方面:(1)支持高效交付,缩短软件开发周期。传统的软件开发模式中

5、, 开发、测试、运营各部门分离,沟通较少,往往上游环节很大程度制约了下游环节的开展,造成开发流程推进缓慢,开发周期长问题。而DevOps开发管理模式中,开发、运维及质量部门紧密结合,通过利用完整的工具链实现最大程度自动化部署、测试,从而有效的缩短了开发周期,达到高效交付的目标。图2 DevOps 模式的IT工作流图3 DevOps 部门与行业比例示意图(2)快速获取反馈,提升软件质量及稳定性。在软件开发过程中, 出现问题是不可避免的,如何快速发现并解决问题是关键。传统的软件开发模式中,开发人员将产品开发完成后,交由测试部门人员进行部署测试,往往在工作周期的后期才发现问题,这种反馈是非常慢的。而

6、DevOps使用持续集成、测试与持续交付的方式,代码提交几分钟后就可以得到反馈,如有问题,可快速发现并解决。这大大降低了投产过程中产生问题的可能性。另外,由于在之前环节各部门已紧密沟通,因此即使投产中出现问题,也可以一起快速定位并处理问题,从而提升软件的质量与稳定性。(3)改善公司文化,促进持续学习与沟通。随着DevOps在各大组织的逐步实践,人们越发意识到DevOps不单单是一种模式,更是一种文化。DevOps成功与否在于公司组织是否善于协作沟通,这不仅仅指开发运维部门的协作,也是和最终产品相关的所有人的协作, 以及领导层的支持。也就是说,DevOps的成功需要整个组织的合作参与。这对传统的

7、公司文化是个巨大的变革,使用DevOps的公司已经采取了各种措施促进这种文化的建立,如建立共享平台,各部门员工可共享高质量和一致性的信息,促进知识复用与学习;开展全组织例会,加强员工之间的沟通,加快遇到问题时处理速度,提高工作效率等。协作的公司文化也有助于增加员工成就感和对工作的满足感,从而更好的投入工作。3. DevOps的发展现状3.1. DevOps采用率在过去的几年里,DevOps采用率逐步增长。在国外,很多全球知名的公司如Google、Facebook、Amazon、LinkedIn、Netflix等都在采用DevOps或提供相关支持产品。在近3年由Puppet与DevOps研 究与

8、评估协会组织的DevOps调查中发现,使用DevOps的部门比例 已从2014年的16%增长到2017年的27%,如图3。世界500强企业的DevOps员工比前三年更是增长了两倍之多。很多公司聘用专门的DevOps工程师协助团队使用超前的自动化工具做快速的交付。而 在De v O p s 使用行业分布方面, 也呈现出扩展趋势。几年前使用DevOps主要为科技行业,而现在DevOps已深入到包括金融、零售、 电信和教育等众多行业。调查中还发现,未使用DevOps的人也有32%表示将计划部署仅有20%的人表示无意采用DevOps。可见, DevOps的采用率可能将继续增长。目前,DevOps在国内

9、还不算流行,虽然部分知名企业,如腾 讯、华为、阿里巴巴等已经采用DevOps,但大部分传统行业还没有DevOps实践。在DevOps中国社区发布的DevOps中国.2017年度调查报告中显示,国内DevOps参与者主要集中在科技和互联网行业,其他行业对DevOps了解略显不足。另外,设立DevOps部门 的比例为1 3 % , 与全球水平有一定差距。通过对比来看, 目前DevOps在中国的发展还处于起步阶段,不过,有很多DevOps中国 社区成员及其他DevOps从业者也正在通过努力促进DevOps在中 国的认知和推广。3.2. DevOps使用成效DevOps旨在通过加强自动化,加快软件发布

10、和部署速度,降低系统出错频率,更快地消除宕机和错误的影响,从而提高效能,降低成本。我们一般可以用软件交付力和系统稳定性来衡量IT效能。2017年DevOps现状调查报告中显示,使用DevOps的组织现 已经可以按需每日进行多次部署,每年可高效部署1400次以上,部署频率比未使用DevOps的组织高46倍。变更周期时间指标上,使用DevOps的组织部署变更到生产环境的前置时间已少于1小时,而未使用DevOps的组织使用时间为一周到一个月。而在稳定性方面,使用DevOps时,故障恢复时间(MTTR)可以达到1小时之内,变更失败的概率平均值是7.5%;而未使用DevOps时,故障恢复时间为1天到 1

11、周,变更失败的概率为38.5%。可见,使用DevOps较大推动了工作流流动及反馈,提高了企业组织效率。众所周知,在IT行业竞争日益激烈的今天,延迟发布更新产品或停机所带来的损失是巨大的,有时会产生不可估量的影响。提高企业效能也意味着降低成本为企业带来收益。3.3. DevOps工具近几年DevOps的发展实践也得益于配套工具的技术发展,目 前DevOps的构建、部署、运维等各阶段都有多种不同的工具供支持。其中常用的构建工具有Ant、Maven、Rake、Gradle等,持续集成工具有Jenkins、TeamCity、Bamboo等,配置管理工具有Puppet、Chef、 Ansible等,日志

12、工具有Loggly、Graylog等,监控工具 有Nagios、 New Relic、Cacti等,如图4。每个公司可以根据自己的项目情况搭建适用于自己的DevOps工具链。据调查显示,Jenkins、Chef和Puppet依然是DevOps团队使用率最高的工具。随着容器技术的发展,Docker成为使用量增长最快的工具。而也有部分企业,在已有工具的基础上,开发使用适用于自己的自动化工具。图4 常用DevOps 工具4. DevOps的发展趋势(1)DevOps将出现在更多的行业领域。在当今瞬息万变、信息量巨大的时代,业务的灵活可靠高效是各企业追求的目标。DevOps实 践显示,DevOps给企

13、业的财务指标还有非财务指标都带来了价值。随着DevOps相关概念和技术不断的深入发展,更多行业领域将能 找到自己关注的特性。因此DevOps渗入到更多行业是必然趋势,各 行业都可以通过DevOps获取技术改进对组织效能的积极影响。(2)自动化流程标准化。DevOps最直观的一个价值就是自动化, 自动化构建、自动化测试、自动化部署等等。自动化的价值是清晰的,但目前自动化还处于各种工具、平台、语言相对独立的阶段。每个公司每个项目都在各自搭建自动化流程,这需要花费相当一部分时间与精力去配置、测试和管理。比如JAVA项目团队通过调研测试 制定了一套可以很好实现自动化流程的机制,但其他项目很可能不能直接

14、复用,还需重新构建自己的流程和规范,这就使自动化的价值没有发挥到最高。随着对DevOps不断的摸索反馈,未来一定会制定一套统一的自动化流程标准,让各项目更容易的去应用DevOps,从而释放更多时间精力去做更能产生价值的工作。(3)将安全融入到DevOps工作流。在传统的开发模式中, 开发人员通常在构建软件时认为功能需求优先于安全。虽然安全编码起着重要作用,但对于需赶在最后期限前构建应用的团队来讲,它往往被降到功能需求之后。但随着自动化安全在D e v O p s 实践中提出, 这种思维也逐渐发生改变。DevSecOps的新型理念将安全融入到DevOps工作流,通过在 软件周期中加入安全测试技术

15、,在持续整合平台中增加自动化安全分析等方式,来增强应用程序安全性,同时不拖累发布和部署周期。DevSecOps鼓励开发人员思考如何将应用程序的安全融入日常代码中,主动保证安全并打败攻击,这将对交付安全产生积极影响。(4)架构松耦合化。在DevOps的实践过程中,人们越来越感受到系统架构与持续交付和IT性能的紧密关联。经调查发现,松耦合的架构和团队能够提高实施持续交付的能力。松耦合架构,更易于在不依赖关联组件或服务的变更下修改独立的组件或服务。就组织而言,团队 也可以不依赖其他团队完成工作。但是如何更好的解耦也一直是实践的难点之一。随着近年新型应用设施方式的出现(如微服务架构),更多新的架构技术将与DevOps实践结合,实现架构松耦合化,更好的促进持续交付与性能。5. 结语DevOps作为一种新兴开发管理范型,实现了开发与运维的协同,它以一系列自动化为基础完成软件的持续交付与持续部署,从而提高产品和服务的交付效率与质量。近些年,凭借其优势,越来越多DevOps实践者从中受益。可以预见,随着DevOps的深入实践和技 术的不断完善, DevOps将得到更广泛的应用,给软件开发及组织模式带来更大的变革与影响。同时也期待DevOps技术带来的更多机遇与挑战。参考文献1邹筱菁,科林.基于DevOps的软件开发管理模式J.数字技术与应用,2016,(11):184-187.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 云计算/并行计算

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号