(翻译)正确实施DevOps-The Lay of the Land
原文地址:http://www.drdobbs.com/architecture-and-design/getting-devops-right-the-lay-of-the-land/240062639,作者Scott W. Ambler。
对于不同的利益相关人DevOps含义不同,但是基本组成部分是相同的。
在过去的1,2年,媒体上有很多关于DevOps的争论。有关DevOps的声音越来越杂乱,导致听众也越来越困惑。DevOps提供了针对IT市场的敬业精神和生产力一个潜在增长点。但是,与在它之前的所有运动一样,误解和误用DevOps是非常危险的。本文章以及随后的系列文章,将提供有条理的严肃的建议来解开这些困惑。
让我们先从一些定义开始。首先,在本文章中我会用两种方式表述词条“产品”。当我使用IT短语“发布产品”时,如果上下文与商业产品有关,我也隐含了“发布到市场”。当我使用单词“产品”时,意味着运营和支持(有时也被称为“help desk”)的结合。一些组织认为运营和支持是两个概念,但其它组织结合了这两个概念。”DevOps”是开发(development)和运营(operations)两个单词组成的混合词。在该上下文中的开发包括了解决方案被发布到产品环境之前发生的所有活动,即项目初始化时明确初始概念一直到可以部署。DevOps上下文中的运营包括了部署之后的所有活动。即“与产品相关的东西”(production stuff),包括了对所部署的解决方案的运营和支持。
定义DevOps词条,说起来容易做起来难,这是因为需要综合考虑多个视角,即主要的DevOps利益相关者的视角。你的谈话对象不同,DevOps是什么的定义的回答也不相同。DevOps的利益相关者以及他们的视角如下:
*开发人员,尤其是有经验的敏捷开发人员,认为DevOps是交付产品的一个持续的流程,有可能一天数次。
*运营专家往往认为DevOps提倡与开发团队建立更有效的关系,不仅包括整个开发生命周期,也包括解决方案被部署到产品环境的过程。有经验的运营人员也意识到他们内部过程往往基于ITIL或ITSM,需要被精简以便更好的与开发团队协作。
*支持专家(有时也被称为help desk专家)对DevOps的认识与运营专家类似,但稍微有点区别:他们想和开发团队一起工作来保证解决方案被发布到产品环境前他们的需求能被正确理解和满足。他们也想确保有一个流程,一旦当解决方案被使用后,能够处理需求更改(包括缺陷)。
*高级管理团队认为DevOps是可以通过简化所有人一起工作的方式从而提高IT部门整体效率的一种成果。
规范DevOps
现在来看看规范DevOps。图1展示了采用规范DevOps前以及规范DevOps努力想达到的效果的对比图。目前在很多组织中,开发团队和运营团队间尽管有流程和组织级障碍存在,但仍努力达到有效协作。
开发团队的部署并无规律-“快速”的团队一年进行1到2次发布,偶尔为发现的产品问题打个补丁。
运营团队反而推进变更请求,包括缺陷报告,返回给开发组织。这两个组织一起协作就可以保证这些活动是成功的,但仍有一个明显的地方可以提高。规范DevOps通过增加开发,运营和支持人员之间的协作这一策略来提高这一点。向开发团队引入持续交付实践,向IT引入新的组织级架构;采用商业智能工艺和技术来支持开发智能和运营智能,即支持改进的IT管理。不规范的DevOps和规范的DevOps的不同之处在于,规范的方式以整体视角来考虑所有DevOps利益相关者的渴望,而不仅仅关注于一个视角。

图1:缩小DevOps差距
要想成功实践DevOps,你需要在5个方面实现提高:人,准则,实践,产品及流程。这些问题以从高到低的优先级顺序排列。人及他们相互交互的方式是任何IT努力达到成功的决定因素。而规范DevOps清楚的需要人们重新思考他们的技能,如何定义自己的角色,如何一起工作。IT组织采用DevOps需要重新思考他们所做的决定的底层准则。例如,采用与业务更紧密交互的准则将激励他们采用更频繁的发布产品的方式。组织需要采用诸如持续集成,持续部署,运营智能,协作支持等实践。如果他们决定采用DevOps,有更多新鲜的事情需要去做。新的产品,包括开发工具,商业智能工具,以及运营监控工具等需要被采用。最终,流程框架(比如规范敏捷交付,DAD),将DevOps策略变为开发流程,还有ITIL或ITSM的更新版也需要考虑是否使用。
误解
组织运行DevOps似乎有着普遍的方式。我担心这样的观点,即“云=DevOps”,这种观点似乎越来越受欢迎。采用云技术可以早点接触到DevOps的一些方面,但只是5个方面的其中之一(即产品方面)。相似的,一些厂商的工具驱动的消息工具,以及一些开源社区(的产品)也令人不安,新的工具仅仅是DevOps大局观的一部分而已。第三个误解之前有提到过,即过于关注于一个DevOps利息相关人的视角。特别常见的是过于关注开发过程,因为效果显而易见,特别是持续交付实践可以带来潜在的更高效的提高。该问题是仅关注了5个方面的实践部分。
这些误解,确定会导致他们遇到问题,在之后的文章中会详细讨论这些问题的解决之道。
Scott Ambler 在IBM Rational工作了6年时间,在这里他帮助客户采用及适应敏捷技术。现在是该领域的咨询师。他也是Dr.Dobb’s的长期撰稿人。
(翻译)正确实施DevOps-The Lay of the Land的更多相关文章
- 如何选择正确的DevOps工具
坦白的讲:世界上没有哪种工具能够像DevOps这么神奇(或敏捷,或精益).DevOps在开发和运营团队之间建立了完美的合作与沟通,因此与其说这是一种神奇的工具,不如说是一种文化的转变. 然而,团队之间 ...
- 如何实施DevOps
对于长期在孤立的架构下工作的组织来说,转移到协作式DevOps系统似乎是难以成功的.为了进一步提高效率,必须改变观念,并进行团队文化改变.例如:许多人认为只有自动化工具才能解决DevOps,其实这是不 ...
- Atlassian如何实施DevOps
DevOps是推动开发和运维团队之间沟通和协作的手段.它不是一个工具或产品.相反,其成功的首要因素就是文化.目的是更快的创新和更好的客户体验. "2015年DevOps状态报告"调 ...
- 企业实施DevOPS的七大挑战(转)
从别人的演讲视频中摘抄,做笔记. 什么是DevOPS 如何衡量DevOPS 企业实施DevOPS的七大挑战 自动化测试投入不足 单元测试 API测试 界面测试 功能测试 高度集中的IT服务 标准化 脚 ...
- 你所在的公司是如何实施DEVOPS的?
工欲善其事,必先利其器,现在大家在DevOps领域最关注的还是在工具层面.下面是我跟这么多公司接触下来,大家使用比较多的工具:1.监控工具比较老牌的就是Zabbix,Nagios,用Zabbix的感觉 ...
- 收藏!如何有效实施devops?
当今IT行业的竞争日益激烈,各家公司都在寻找优化软件研发过程的方法,因为交付比对手更具竞争力的产品已经越发成为一件成本高昂的事情.这也是DevOps发挥作用的地方,因为它可以在工程管理的各个方面提供帮 ...
- 翻译-高效DevOps的10项实践
原文链接: http://www.drdobbs.com/architecture-and-design/top-10-practices-for-effective-devops/240149363 ...
- DevOps:从理念到实施
转载自:http://os.51cto.com/art/201404/436794.htm DevOps这个新理念的出现,是为了应对IT环境中普遍面临的一些挑战.开发团队要求的不断满足新的客户需求,并 ...
- DevOps实施的三种IT障碍
[TechTarget中国原创] 现今DevOps可谓是红遍半边天,但正因为它是新的东西,企业也在不停的犯同样的错误.从这些挑战中学习,让你的DevOps项目取得成功. DevOps正在以一种更有效的 ...
随机推荐
- IOS git 的安装
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/instal ...
- 配置Chrome Driver
书中使用Firefox driver出现莫名问题,大概是firefox的版本太新了,懒得降级处理,故学习配置Chome driver进行测试. 1.到http://chromedriver.stora ...
- 蓄水池算法(Reservoir Sampling)
蓄水池算法是一种随机算法,可以形象的描述为从一个n维的list中选取k个元素,其中n是一个很大的数或者n是一个未知的数,而且一般n很大使得不会将list存在主存中. 解法: i = 0 while m ...
- 进阶——scrapy登录豆瓣解决cookie传递问题并爬取用户参加过的同城活动©seven_clear
最近在用scrapy重写以前的爬虫,由于豆瓣的某些信息要登录后才有权限查看,故要实现登录功能.豆瓣登录偶尔需要输入验证码,这个在以前写的爬虫里解决了验证码的问题,所以只要搞清楚scrapy怎么提交表单 ...
- Asp.Net 利用反射获得委托和事件以及创建委托实例和添加事件处理程序
子程序定义: public delegate void CurrentControlListenEvent(string uniqueID, string way = null); public ev ...
- iOS-三方框架AFNetworking基本使用
AFNetworking 是基于NSURLConnection, NSOperation开发的一款三方框架,主要用于处理一些关于网络请求上的业务,下文会简单介绍框架中经常使用的功能,如文件的上传,下载 ...
- 洛谷P1330 封锁阳光大学
题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...
- IOS XIB Cell自适应高度实现
1.代码实现Cell高度自适应的方法 通过代码来实现,需要计算每个控件的高度,之后获取一个cell的 总高度,比较常见的是通过lable的文本计算需要的高度. CGSize labelsize = [ ...
- Windows & Office完美结合,助力办公
虚拟桌面——休闲工作分开来 Windows 10最令我欣愉的是加入了虚拟桌面的功能. 作为一名拖延症晚期患者,早已病入膏肓.每次工作时总会不知不觉地将实现转移到已经打开的浏览器及聊天工具上,时间就这样 ...
- Software Testing hw3
(a):可绘制出如下图所示的流程图 (b):对于测试用例t1=(n=3)和t2=(n=5),MAXPRIMES = 4时,t1不能检查出错误,而t2则会发生数组越界错. (c):要使测试路径不通过wh ...