目前最流行的开发模式DevOps究竟是什么鬼?

随着业务复杂化和人员的增加,开发人员和运维人员逐渐演化成两个独立的部门,他们工作地点分离,工具链不同,业务目标也有差异,这使得他们之间出现一条鸿沟。而发布软件就是将一个软件想从鸿沟的这边送去那边,这之中困难重重。

另一方面,行业竞争更加激烈,无论是客户还是公司自身,都要求软件能快速发布,频繁修改,而上边所说的这种隔阂,阻碍了开发团队的生产力,成了企业亟待解决的难题。

面对种种突出的矛盾,故事的情节,似乎又回到了当初只有程序员,而没有更细分为开发、测试和运维岗位的时候。

DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。

DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系。不过需要澄清的一点是,从开发到运维,中间还有测试环节。DevOps其实包含了三个部分:开发、测试和运维。

换句话说,DevOps希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。专家们总结出了下面这个DevOps能力图,良好的闭环可以大大增加整体的产出。

有些人认为DevOps意味着开发人员接管了运营。这只是一部分而不是全部。当我们意识到部分运营需要自动化时候,运维人员需要进行一些自动化开发,开发人员也编写"运维"代码,或两者兼而有之。可怕的是,没有找到在这两种人员之间的整体协作方法,所有的成功团队都是将具有深度开发技能和深度运维技能人协调在一起工作,以创建一个更好的产品。

一、DevOps常用技术

二、DevOps有三种特点与模式

2.1、系统级别的效率考量

这是强调从整个系统的效率性能考量,而不是孤立地从所在工作部门或子系统考量,可以是整合开发人员和IT运维人员的大视角,也可以小如独立的发布者如开发人员和系统管理员。

重点是关注整个业务价值链,开始于业务需求的确认,开发人员的开发构建,然后交付给IT运维,在最后环节,对于客户的软件价值作为一种服务体现出来。

由于强调整体效能,就不要将缺陷推托到下游,不允许因为局部优化而带来整体退化,不能因为细节战术的提高导致整体战略上的退步,如果想提高整个系统的价值,就必须深入全面理解整个系统。

2.2、放大反馈循环

关于创建从右到左反馈循环。如有必要可以不断修正缩短和放大这种反馈循环。能够理解和响应所有的客户包括内部和外部,缩短和放大所有的反馈循环,嵌入我们需要的知识。

2.3、持续的锻炼和学习

这种方式就是创造一种企业文化,培育两件事:不断实验冒险以及从失败中吸取教训。认识到重复和实践是通向掌握的先决条件。

实验和冒险能确保我们持续推动改善,即使这意味着进入我们无法控制的危险地带,我们必须需要掌握帮助我们脱离危险区域的技能。 

第三条道路的结果包括分配改善日常工作的时间,,为冒险创造仪式,奖励团队,并将错误引入系统增加弹性。

三、DevOps的好处

DevOps的一个巨大好处就是可以高效交付,这也正好是它的初衷。与低效组织相比,高效组织的部署频繁200倍,产品投入使用速度快2555倍,服务恢复速度快24倍。在工作内容的时间分配上,低效者要多花22%的时间用在为规划好或者重复工作上,而高效者却可以多花29%的时间用在新的工作上。所以这里的高效不仅仅指公司产出的效率提高,还指员工的工作质量得到提升。

DevOps另外一个好处就是会改善公司组织文化、提高员工的参与感。员工们变得更高效,也更有满足和成就感,对公司更加认同。

参考文章:

1、http://www.infoq.com/cn/news/2016/09/learn-devops-from-reports

2、http://www.jdon.com/project/devops.html

3、https://www.jianshu.com/p/271b24c11d82

最近热文阅读:

1、四张图带你了解Tomcat系统架构

2、三条路线告诉你如何掌握Spring IoC容器的核心原理

3、面试必备技能:JDK动态代理给Spring事务埋下的坑!

4、漫画区块链,一文带你秒懂她!

原文发布于微信公众号 - Java后端技术(JavaITWork)

原文发表时间:2018-01-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏服务端技术杂谈

程序员的能力模型

我之前说过,程序员如果想有未来,必须最少做到P7的水平,这样在未来找工作可以有很大的选择权。

4953
来自专栏CDA数据分析师

【干货】小白学数据分析—留存率是什么?

在网站分析、电商分析、网游分析中,对于留存率的关注度极高,这一浪潮随着APP应用、社交游戏的火爆逐渐成为一个很重要的衡量准则,也甚至有了40-20-10准则。对...

2407
来自专栏Thinks

用户体验杂谈(1)

最近三年一直服务于一个商业产品——腾讯云的用户体验工作。前2年是专门负责UI开发团队,最近1年半负责平台、建站、计费、运营、渠道的用户体验设计团队。这几年中有一...

601
来自专栏斑斓

决策技术栈迁移的因素

一. 决策技术栈迁移的因素 那么,为何要进行技术栈迁移呢?是否是原有技术无法满足新的业务需求?对于遗留系统而言,这种情况总是存在,即需要扩展旧有系统的功能来满足...

3579
来自专栏空帆船w

Android 学习之路

从事 Android 开发一周年了,作为一个非科班出身的程序员,一路走来其实挺不容易的。这里我想记录这一路的自学历程,算是对自己一个阶段的总结,也希望能给那些正...

1212
来自专栏大数据和云计算技术

运营商常见大数据业务

3.1 运营商常见的大数据业务 第1章介绍了运营商拥有的数据资产,运营商拥有从底层的设备和网络数据到上层的用户行为数据。有了这些数据,运营商大数据便可以衍生出...

41910
来自专栏靠谱PM

竞品分析怎么做?我只告诉你一个人!

前面写的文章中提到过,我们大部分产品的小伙伴接触从零到一的产品概率并不高,这时候我们更多做的是功能点的竞品分析,功能点的竞品分析一般我们会在三种情况下去做,它们...

4483
来自专栏WeTest质量开放平台团队的专栏

解决虚幻引擎4手游开发难题,腾讯WeTest携GAutomator、APM亮相UOD大会

1193
来自专栏DevOps时代的专栏

灰度发布,链接 Dev 与 Ops 的正确姿势

序言 在软件吞噬时间的时代,在IT基础设施多样性与分布式趋势中,部署的复杂性与规模日益增加,而大部分的软件崩溃都发生在部署过程中。目前提高部署效率与稳定性成为了...

53910
来自专栏云计算D1net

监控工具是您企业云项目成功的关键

混合云服务已经创造了一个平台,使得企业对监控工具进行投资已经成为必须,克莱夫·隆巴顿说。 许多供应商都试图通过简单地把现有的产品组合成一个云就绪归档,来搭上云计...

3519

扫码关注云+社区