作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7

很多企业,尤其是大企业在产品开发和运维上存在着一些普遍问题,比如开发周期长、人员合作程度不高、开发和运维脱节等等。可看看一些巨型企业,比如Google,Amazon,Facebook,Salesforce等等,人家的规模不比你大,架构不比你复杂?为什么他们能做到大而灵?成功的因素固然有很多,而一个共同的因素是,他们都引入了DevOps的概念。

DevOps是基于Agile和Lean发展而来的一种理念,目的是更好的优化开发和运维的流程,从而更快、更高效的实现产品更新。DevOps是由Development + Operation缩写而来,但绝不是二者的简单相加。引入DevOps需要在企业文化和技术上都要落实一些措施。

在我们进一步介绍该理念之前,本文来探讨一些我见过的IT环境中的问题,尤其是在大企业中有普遍性的问题。

上图想说的是由于组织结构、文化以及技术局限性的多种原因,各个组负责自己的一亩三分地,别组的事情不管我事,我也根本不知道别人在干什么。那产生的后果呢,咱们从项目的各个环节一一道来。

设计阶段

需求分析和后面的环节脱钩。往往大费时间精力制定的需求,在后续阶段中不能很好的执行。可能的原因有:一需求本身的质量不高,没有很好的衡量手段和标准二需求没有体现整个LifeCycle,往往忽视运维中可能出现的问题三只注重Functional Requirements , 而忽略Non-Functional Requirement

另外需求更改是难免的,可合同已经签了。按照Change Control的规定,需要重新评估时间,人力及风险,这一趟下来时间上的损失不说,非常耗精力。

开发阶段

实施人员可能对设计本身的了解不透彻,更别说对需求的把握了。做出来的东西有时走了样,忘了本来的目的是什么。

测试阶段

Unit Testing,integration Testing,   Performance Testing, Stress Testing, UserAcceptance Testing.   整个测试阶段耗时耗力,测试人员有时闲的要死,有时忙的要死。各个测试之间的协调也是问题。

运维阶段

大型复杂项目中往往一个Change需要涉及多个团队,本来30分钟的活儿,你要想每个组都批准Change可能要数天甚至数周。运维中出了问题呢,各个组之间扯皮推脱自是家常便饭。怕的是有的时候根本不知道哪出了问题,也可能整个系统靠个别技术牛人来撑着,其他人没有也不知道如何下手。

解决方案

发牢骚谁都会,那么有解决办法么?当然有,不过这可不是什么灵丹妙药,一吃就灵。需要从上至下,在文化上和技术上都要有下大力气才行。请关注下文将展开DevOps的一些实施细节。


【DevOps】谁说大象不能跳舞?的更多相关文章

  1. 【DevOps】为什么我们永远疲于奔命?

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 在[DevOps]谁说大象不能跳舞?一文之后,本文对DevOps的理念作进一步探讨. 最近在读一本书& ...

  2. 在 Web 级集群中动态调整 Pod 资源限制

    作者阿里云容器平台技术专家 王程阿里云容器平台技术专家 张晓宇(衷源) ## 引子 不知道大家有没有过这样的经历,当我们拥有了一套 Kubernetes 集群,然后开始部署应用的时候,我们应该给容器分 ...

  3. 超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?

    作者 | 张晓宇(衷源)  阿里云容器平台技术专家 关注『阿里巴巴云原生』公众号,回复关键词"1010",可获取本文 PPT. 导读:资源利用率一直是很多平台管理和研发人员关心的话 ...

  4. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  5. <转>技术团队新官上任之基层篇

    发表于2013-09-04 17:17| 10455次阅读| 来源<程序员>| 35 条评论| 作者高博 <程序员>杂志2013年9月刊技术团队管理EMC高博CTO 摘要:从技 ...

  6. IBM的淘汰之路

    BM曾经在计算领域独领风骚,但是90年被PC产业链上的微软.英特尔等厂商围殴,遭遇最严重的危机; 今天在云计算市场,IBM曾在遭遇同样的危机,这一次不知道它能否安然度过; IBM收购红帽转向混合云,是 ...

  7. 谁能当IBM公司的CEO?

    转自:http://www.ruanyifeng.com/blog/2005/09/ibmceo.html  阮一峰 创业文档 IBM公司的前CEO郭士纳在他的<谁说大象不能跳舞?>一书中 ...

  8. 独家揭秘,106岁的IBM靠什么完成了世纪大转型|钛度专访

    IBM大中华区董事长陈黎明 到2017年2月,陈黎明就担任IBM大中华区董事长整整两年了. 五年前,IBM历史上首位女CEO也是第9位CEO罗睿兰上任,三年前,IBM在罗睿兰的带领下以数据与分析.云. ...

  9. IBM究竟是一家怎样的公司

    每次被问到这样的“简单”问题,我都很纠结: 这家公司,从创始至今已经积累了几十万种技术(2015年蝉联专利排行榜23年之久,仅2015年专利数7355项),开发了上万种产品(从银行的交易系统,到航空的 ...

随机推荐

  1. 运算符,比如+, -, >, <, 以及下标引用[start:end]等等,从根本上都是定义在类内部的方法。

    python解释器在碰到+号运算符时,会调用加号前面的对象的__add__方法 class a: def __add__(self,b): print "ghh" aa=a() a ...

  2. B - C Looooops POJ - 2115 (扩展欧几里得)

    题目链接:https://cn.vjudge.net/contest/276376#problem/B 题目大意:for( int  i= A ; i != B; i+ = c ),然后给你A,B,C ...

  3. Quartus II 安装教程—FPGA入门教程【钛白Logic】

    Quartus II 工具安装一般分为两个部分,首先是开发工具本身的安装,其次就是器件库的安装,我们可以根据我们的需要选择相应的器件库来安装,这里我们使用Cyclone IV的FPGA,即安装Cycl ...

  4. Axure RP 快速原型设计工具

       Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图 ...

  5. springmvc接收jquery提交的数组数据

    var selectedUsers = $('#users').tagbox('getValues'); if (selectedUsers.length > 0) { $.post(appPa ...

  6. poj1221

    dp #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ...

  7. javaScript对金额处理的方式

    例如 var price = $("#price").val(); 此时price 为字符串格式 假使我们想将其乘以100 可以选择 price*100将其转换为数值格式 但是有些 ...

  8. DDD领域模型企业级系统Linq的CRUD(四)

    建造一个Product Module类: ProductDBContextDataContext dbcontext = new ProductDBContextDataContext(); publ ...

  9. 《MySQL技术内幕 InnoDB存储引擎 》学习笔记

    第1章  MySQL体系结构和存储引擎 1.3 MySQL存储引擎 数据库和文件系统最大的区别在于:数据库是支持事务的 InnoDB存储引擎: MySQL5.5.8之后默认的存储引擎,主要面向OLTP ...

  10. Mvc+Dapper+存储过程分页10万条数据

    10万条数据采用存储过程分页实现(Mvc+Dapper+存储过程) 有时候大数据量进行查询操作的时候,查询速度很大强度上可以影响用户体验,因此自己简单写了一个demo,简单总结记录一下: 技术:Mvc ...