【DevOps】谁说大象不能跳舞? 推荐
2013-07-23 19:14
190 查看
作者:范军 (Frank Fan) 新浪微博:@frankfan7 微信:frankfan7
很多企业,尤其是大企业在产品开发和运维上存在着一些普遍问题,比如开发周期长、人员合作程度不高、开发和运维脱节等等。可看看一些巨型企业,比如Google,Amazon,Facebook,Salesforce等等,人家的规模不比你大,架构不必你复杂?为什么他们能做到大而灵?
成功的因素固然有很多,而一个共同的因素是,他们都引入了DevOps的概念。
DevOps是基于Agile和Lean发展而来的一种理念,目的是更好的优化开发和运维的流程,从而更快、更高效的实现产品更新。DevOps是由Development + Operation缩写而来,但绝不是二者的简单相加。引入DevOps需要在企业文化和技术上都要落实一些措施。
![](http://blog.51cto.com/attachment/201307/191652321.png)
在我们进一步介绍该理念之前,本文来探讨一些我见过的IT环境中的问题,尤其是在大企业中有普遍性的问题。
![](http://blog.51cto.com/attachment/201307/191653312.png)
上图想说的是由于组织结构、文化以及技术局限性的多种原因,各个组负责自己的一亩三分地,别组的事情不管我事,我也根本不知道别人在干什么。那产生的后果呢,咱们从项目的各个环节一一道来。
设计阶段
需求分析和后面的环节脱钩。往往大费时间精力制定的需求,在后续阶段中不能很好的执行。可能的原因有:一需求本身的质量不高,没有很好的衡量手段和标准二需求没有体现整个LifeCycle,往往忽视运维中可能出现的问题三只注重Functional Requirements , 而忽略Non-Functional Requirement
另外需求更改是难免的,可合同已经签了。按照Change Control的规定,需要重新评估时间,人力及风险,这一趟下来时间上的损失不说,非常耗精力。
开发阶段
实施人员可能对设计本身的了解不透彻,更别说对需求的把握了。做出来的东西有时走了样,忘了本来的目的是什么。
测试阶段
Unit Testing,integration Testing, Performance Testing, Stress Testing, UserAcceptance Testing. 整个测试阶段耗时耗力,测试人员有时闲的要死,有时忙的要死。各个测试之间的协调也是问题。
运维阶段
大型复杂项目中往往一个Change需要涉及多个团队,本来30分钟的活儿,你要想每个组都批准Change可能要数天甚至数周。运维中出了问题呢,各个组之间扯皮推脱自是家常便饭。怕的是有的时候根本不知道哪出了问题,也可能整个系统靠个别技术牛人来撑着,其他人没有也不知道如何下手。
解决方案
发牢骚谁都会,那么有解决办法么?当然有,不过这可不是什么灵丹妙药,一吃就灵。需要从上至下,在文化上和技术上都要有下大力气才行。请关注下文将展开DevOps的一些实施细节。
很多企业,尤其是大企业在产品开发和运维上存在着一些普遍问题,比如开发周期长、人员合作程度不高、开发和运维脱节等等。可看看一些巨型企业,比如Google,Amazon,Facebook,Salesforce等等,人家的规模不比你大,架构不必你复杂?为什么他们能做到大而灵?
成功的因素固然有很多,而一个共同的因素是,他们都引入了DevOps的概念。
DevOps是基于Agile和Lean发展而来的一种理念,目的是更好的优化开发和运维的流程,从而更快、更高效的实现产品更新。DevOps是由Development + Operation缩写而来,但绝不是二者的简单相加。引入DevOps需要在企业文化和技术上都要落实一些措施。
![](http://blog.51cto.com/attachment/201307/191652321.png)
在我们进一步介绍该理念之前,本文来探讨一些我见过的IT环境中的问题,尤其是在大企业中有普遍性的问题。
![](http://blog.51cto.com/attachment/201307/191653312.png)
上图想说的是由于组织结构、文化以及技术局限性的多种原因,各个组负责自己的一亩三分地,别组的事情不管我事,我也根本不知道别人在干什么。那产生的后果呢,咱们从项目的各个环节一一道来。
设计阶段
需求分析和后面的环节脱钩。往往大费时间精力制定的需求,在后续阶段中不能很好的执行。可能的原因有:一需求本身的质量不高,没有很好的衡量手段和标准二需求没有体现整个LifeCycle,往往忽视运维中可能出现的问题三只注重Functional Requirements , 而忽略Non-Functional Requirement
另外需求更改是难免的,可合同已经签了。按照Change Control的规定,需要重新评估时间,人力及风险,这一趟下来时间上的损失不说,非常耗精力。
开发阶段
实施人员可能对设计本身的了解不透彻,更别说对需求的把握了。做出来的东西有时走了样,忘了本来的目的是什么。
测试阶段
Unit Testing,integration Testing, Performance Testing, Stress Testing, UserAcceptance Testing. 整个测试阶段耗时耗力,测试人员有时闲的要死,有时忙的要死。各个测试之间的协调也是问题。
运维阶段
大型复杂项目中往往一个Change需要涉及多个团队,本来30分钟的活儿,你要想每个组都批准Change可能要数天甚至数周。运维中出了问题呢,各个组之间扯皮推脱自是家常便饭。怕的是有的时候根本不知道哪出了问题,也可能整个系统靠个别技术牛人来撑着,其他人没有也不知道如何下手。
解决方案
发牢骚谁都会,那么有解决办法么?当然有,不过这可不是什么灵丹妙药,一吃就灵。需要从上至下,在文化上和技术上都要有下大力气才行。请关注下文将展开DevOps的一些实施细节。
相关文章推荐
- 【DevOps】谁说大象不能跳舞?
- 【DevOps】谁说大象不能跳舞?
- 郭士纳:谁说大象不能跳舞
- [摘录]谁说大象不能跳舞目录
- 谁说大象不能跳舞
- 谁说大象不能跳舞读后感
- 谁说大象不能跳舞?
- 准备看一本书《谁说大象不能跳舞?--IBM董事长郭士纳自传》
- 谁说大象不能跳舞--myeclipse 优化
- 谁说大象不能跳舞——《读书笔记》
- 大象跳舞的确不容易
- 【242期推荐】女程序员苛刻的征婚条件,男程序员不能输
- Vmware Esxi 5.5 不能别硬件驱动的ISO Custom方法 推荐
- 强力推荐!那些你不能错过的 GitHub 插件和工具
- 帮助中国IT企业吃掉更多不会跳舞的大象
- 要学会“在大象头上跳舞”,赚钱才是硬道理!
- 微信小程序开发之不能使用eval函数的问题 推荐
- 解决rsyslog+loganalyzer不能同时显示IP和主机名(原创) 推荐
- 微服务与devops的文章推荐
- 强力推荐!那些你不能错过的 GitHub 插件和工具