DevOps(详解devops是什么意思)

“DevOps(Development和Operations的组合词)是一组过程、办法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保证(QA)部分之间的交流、协作与整合。

它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间交流合作的文明、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件可以愈加地快捷、频频和牢靠。

它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维作业必须紧密合作。”

优势:根据继续部署于继续交付,是部分之间协作的一组流程和办法,提升功率,提高员工参与感。

《全球DevSecOps现状陈述》在4300份样本中,开发人员占比41.67%,SRE/DevOps占比为10.25%

《中国DevOps陈述》在1862份样本中,开发人员占比35.18%,SRE/DevOps占比为6.87%

个人理解来说,Devops便是一种便捷,适合于公司的一套体系,这套体系包括开发到测试再到运维的一个流程,总归有了这个体系就能愈加快速的完成客户的需求。
图片[1]-DevOps(详解devops是什么意思)-宏启网络科技,详解devops是什么意思,DevOps作为一个抢手的概念,近年来一再呈现在各大技术社区和媒体的文章中,备受职业大咖的追捧,也吸引了很多吃瓜大众的围观。

那么,DevOps是什么呢?

有人说它是一种办法,也有人说它是一种东西,还有人说它是一种思想。更有甚者,说它是一种哲学。

越说越玄乎,感觉都要封神啦!DevOps这玩意真的有那么夸大吗?它究竟是干嘛用的?为什么职业里都会对它趋之如骛呢?

今天这篇文章,小编就和咱们好好聊一聊这个DevOps。

DevOps的来源

这个故事有点长,从头开端讲起吧。

上个世纪40年代,世界上第一台计算机诞生。从诞生之日起,它就离不开程序(Program)的驱动。而负责编写程序的人,就被称为“程序员”(Programmer)。

程序员是计算机的驾驭者,也是极端稀缺的人才。那个时分,只要高学历、名校身世的人,才有资格成为程序员,控制计算机。

跟着人类科技的不断开展,PC和Internet连续问世,咱们进入了全民拥抱信息化的时代。越来越多的企业开端将计算机作为办公用的东西,用以提高生产力。而普通个人用户也开端将计算机作为文娱东西,用以改进生活品质。

所以,计算机的程序,开端变成了一门生意。程序,逐步演进为“软件(software)”,变成了最赚钱的产品之一。

在软件产业里,程序员有了更专业的称谓,叫做“软件开发工程师(SoftwareDevelopmentEngineer)”,也便是咱们常说的“码农”。

咱们知道,一个软件从零开端到最终交给,大约包含以下几个阶段:规划、编码、构建、测验、发布、布置和保护。

最初,程序比较简略,作业量不大,程序员一个人能够完结一切阶段的作业。

跟着软件产业的日益开展壮大,软件的规模也在逐渐变得庞大。软件的复杂度不断攀升。一个人现已hold不住了,就开端呈现了精细化分工。

码农的队伍扩大,工种增加。除了软件开发工程师之外,又有了软件测验工程师,软件运维工程师。

分工之后,传统的软件开发流程是这样的:

软件开发人员花费数周和数月编写代码,然后将代码交给QA(质量保障)团队进行测验,然后将最终的发布版交给运维团队去布署。一切的这三个阶段,即开发,测验,布署。

前期所选用的软件交给模型,称之为“瀑布(Waterfall)模型”。

瀑布模型,简而言之,便是等一个阶段一切作业完结之后,再进入下一个阶段。

这种模型合适条件比较理想化(用户需求十分清晰、开发时刻十分足够)的项目。咱们按部就班,轮番执行自己的职责即可。

可是,项目不可能是单向运作的。客户也是有需求的。产品也是会有问题的,需要改进的。

跟着时刻推移,用户对体系的需求不断增加,与此同时,用户给的时刻周期却越来越少。在这个情况下,咱们发现,粗笨缓慢的瀑布式开发现已不合时宜了。

所以,软件开发团队引入了一个新的概念,那便是大名鼎鼎的——“灵敏开发(AgileDevelopment)”。

灵敏开发在2000年左右开端被世人所关注,是一种能应对快速改动需求的软件开发才能。其实简略来说,便是把大项目变成小项目,把大时刻点变成小时刻点,然后这样:

灵敏开发

有两个词经常会伴跟着DevOps呈现,那便是CI和CD。CI是ContinuousIntegration(继续集成),而CD对应多个英文,ContinuousDelivery(继续交给)或ContinuousDeployment(继续布置)。

美其名曰:“继续(Continuous)”,其实便是“加快——反复——加快——反复……”,这姿态。

画个图咱们可能更理解一点:

灵敏开发大幅提高了开发团队的作业功率,让版别的更新速度变得更快。

很多人可能会觉得,“更新版别的速度快了,危险不是更大了吗?”

其实,现实并非如此。

灵敏开发能够帮助更快地发现问题,产品被更快地交给到用户手中,团队能够更快地得到用户的反应,然后进行更快地呼应。并且,DevOps小步快跑的方式带来的版别改动是比较小的,危险会更小(如下图所示)。即便呈现问题,修正起来也会相对简略一些。

虽然灵敏开发大幅提高了软件开发的功率和版别更新的速度,可是它的作用仅限于开发环节。研制们发现,运维那儿,依旧是铁板一块,成为了新的瓶颈。

运维工程师,和开发工程师有着彻底不同的思维逻辑。运维团队的座右铭,很简略,便是“稳定压倒一切”。运维的中心诉求,便是不出问题。

什么情况下最简略出问题?发生改动的时分最简略出问题。所以说,运维十分排挤“改动”。

所以乎,矛盾就在两者之间会集爆发了。

这个时分,咱们的DevOps,盛大上台了。

DevOps究竟是什么

DevOps这个词,其实便是Development和Operations两个词的组合。它的英文发音是/de’vps/,类似于“迪沃普斯”。

DevOps的维基百科定义是这样的:

DevOps是一组过程、办法与体系的统称,用于促进开发、技术运营和质量保障(QA)部门之间的交流、协作与整合。

这个定位略微有点笼统,可是并不难理解。反正它不是某一个特定软件、东西或渠道的姓名。

从方针来看,DevOps便是让开发人员和运维人员更好地交流协作,经过自动化流程来使得软件全体过程愈加快捷和可靠。

破墙东西

很多人可能觉得,所谓DevOps,不便是Dev+Ops嘛,把两个团队兼并,或许将运维划归开发,不就完事了嘛,简略粗犷。

留意,这个观念是不对的。这也是DevOps这些年一直难以落地的主要原因。

想要将DevOps真正落地,首要第一点,是思维改动,也便是“洗脑”。不只是运维的要洗,开发的也要洗。职工要洗,领导更要洗。

DevOps并不只仅是安排架构革新,更是企业文化和思想观念的革新。假如不能改动观念,即便将职工放在一起,也不会产生火花。

除了洗脑之外,便是根据DevOps思想重新整理全流程的规范和标准。

在DevOps的流程下,运维人员会在项目开发期间就介入到开发过程中,了解开发人员使用的体系架构和技术路线,然后制定适当的运维方案。而开发人员也会在运维的初期参与到体系布置中,并供给体系布置的优化主张。

DevOps的实施,促进开发和运维人员的交流,增进互相的理(gan)解(qing)。

在思维和流程改动的同时,想要充分落地DevOps,当然离不开软件和渠道的支撑。

现在支撑DevOps的软件实在是太多了。限于篇幅,就不一一介绍了。话说回来,现在DevOps之所以被吹得天花乱坠,也有这些软件和渠道的劳绩,能够趁机卖钱啊。

DevOps生态圈中令人眼花缭乱的东西

上述这些要害要素里边,技术(东西和渠道)是最简略完成的,流程次之,思维改动反而最困难。

换言之,DevOps检测的不只是一家企业的技术,更是管理水平和企业文化。

比照前面所说的瀑布式开发和灵敏开发,咱们能够明显看出,DevOps贯穿了软件全生命周期,而不只限于开发阶段。

下面这张图,更明显地说明了DevOps所处的位置,还有它的价值:

DevOps的开展现状

DevOps这个词来源于2009年在比利时根特市举行的首届DevOpsDays大会,为了在Twitter上更便当的传达,由DevOpsDays缩写为DevOps。

现在,DevOps处于高速增加的阶段。尤其是在大企业中,DevOps受到了广泛的欢迎。

根据2018年的查询发现,74%的受访者现已接受了DevOps,而前一年这一比例为66%。越大的企业,越喜欢DevOps。

如今,DevOps几乎现已成为了软件工程的代名词。

DevOps与虚拟化、容器、微服务

这几年云计算技术突飞猛进,咱们应该对虚拟化、容器、微服务这些概念并不陌生。当咱们提到这些概念的时分,也会偶然提及DevOps。

它们之间有什么联络呢?

其实很简略。

咱们能够想象一下,假如要对一项作业进行精细化分工,咱们是对一个大铁疙瘩进行加工便当?还是拆成一块一块进行加工愈加便当?

显然是拆分之后会愈加便当。

所谓“微服务”,便是将原来黑盒化的一个全体产品进行拆分(解耦),从一个供给多种服务的全体,拆成各自供给不同服务的多个个别。如下图所示:

单体式架构(Monolithic)→微服务架构(Microservices)

微服务架构下,不同的工程师能够对各自负责的模块进行处理,例如开发、测验、布置、迭代。

而虚拟化,其实便是一种灵敏的云计算服务。它从硬件上,将一个别系“划分”为多个别系,体系之间彼此阻隔,为微服务供给便当。

容器就更彻底了,不是划分为不同的操作体系,而是在操作体系上划分为不同的“运转环境”(Container),占用资源更少,布置速度更快。

理解了吧?虚拟化和容器,其实为DevOps供给了很好的前提条件。开发环境和布置环境都能够更好地阻隔了,减小了彼此之间的影响。

这也是DevOps为什么2009年时不火,现在越来越火的一个主要原因之一。

DevOps和通讯

接下来,小编再说说DevOps和通讯的联系。

最开端触摸DevOps的时分,我和很多人一样,都认为这是一个纯IT的概念,和咱们通讯没有什么联系。

后来,跟着对DevOps的深入了解,我才发现,这个理念和咱们通讯有密切的联系。乃至说,早在十多年前,其实就现已遇到了DevOps所面临的问题。

那时分(2005年左右)的电信业,产品的稳定性和可靠性是压到一切的(其完成在也是)。所以,电信业的软件版别,更新速度十分慢。跟着3G的鼓起,全球运营商开端对网络进行更新换代。

除了价格之外,最大的杀手锏是什么?便是呼应速度。

那个时分,运营商客户对电信设备软硬件的需求十分多、十分频繁。有些地方的客户尤其难缠,每天都会提出新的需求。

其时几家海外设备商的呼应速度是十分慢的,从不容易同意接受需求。即便接受,也会答复半年乃至一年后完成。客户听了直接就溃散了。

而国内的设备商则不同,其时它们的版别发布频率,快到什么程度呢?最快的时分,三天一个版别。乃至,长期都有大批研制人员驻扎在客户办公室,现场改版别,提交“热补丁”。

那时分是2006年,DevOps这个概念的影子都还没有。研制那儿,好像也便是刚刚提出灵敏开发。在没有理论框架和东西渠道的支撑下,纯靠人力,完成了版别的飞速迭代。当然,这其间的价值和危险也是很高的。

不只是开发人员很累很辛苦,项目里的工服(工程服务)工程师,也便是技术支撑工程师,本文里边的运维工程师,更是苦不堪言。你想啊,以前几个月升一次级,现在几天就要升一次级,能不辛苦么?

但便是这样的辛苦支付,才硬生生从传统巨头嘴里抢下来市场份额,最终一步一步做大做强。

后来,才渐渐有了灵敏开发的概念,现在更是有了DevOps,各种东西啊渠道啊都有了,给版别快速迭代供给了很好的条件。

对通讯职业的运维来说,DevOps是机会更是挑战。

就像前面说的容器、虚拟化。5G中心网选用的NFV虚拟化技术,让网元功用阻隔,就大大降低了中心网工程师的操作危险和难度。这是一个积极的改动。可是,DevOps对运维工程师的才能要求,是大大提高了。。。

通讯软件是IT软件的一个重要分支,和DevOps有很紧密的联系。主张通讯工程师好好了解一下DevOps,升级一下自己的知识库,做好技术储藏。

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发

请登录后发表评论