想象有这样的一个世界:产品经理、开发人员、QA人员、运维人员和信息安全人员互相帮助,齐心协力,整个公司的业绩蒸蒸日上。他们朝着一个共同的目标努力奋斗,建立出从产品十划直至功能上线的端到端的快速服务交付流水线(例如每天执行几十次、数百次甚至上千次代码部署),在系统稳定性、可靠性、可用性和安全性方面均达到了世界一流的水平。
在那里,跨职能团队严谨地验证他们的假设:哪些功能最能取悦用户并能促进企业目标的实现。他们不仅关心用户特性的实现,而且还积极地保障交付能够顺畅、频繁地通过整个交付价值链,同时,IT运维部门、其他内部或者外部客户的系统都不会出现任何混乱及中断。
在那里,QA人员、IT运维人员和信息安全人员也会共同投身于团队文化建设,致力于创造能使开发人员效率更高、产能更大的工作环境。通过将QA、IT运维和信息安全等方面的专业人员共同融入交付团队,来构建自动化的自助工具和平台,所有团队在日常工作中就能够随时利用他人的专业技能,而不用再依赖或等待其他团队。
在那里,小团队能够快速独立地开发、测试和部署代码,并且可以快速、安全、可靠地向客户交付价值。同时,公司能够有效地提高开发人员的生产力,建立学习型公司,提高员工满意度并在市场竞争中取胜。
这就是 DevOps产生的效果。但是,对于我们大多数人来说,这并不是我们所处的现实世界在现实中,系统经常被破坏,服务和产品总是不尽如人意,团队的潜力无法得到正常发挥;在现实中,开发和I运维是对立的,测试和信息安全活动总是在项目晚期才进行,这导致即使发现了问题也来不及修复;在现实中,产品和服务交付中的关键活动往往全都需要手动操作和互相交接,我们总是要等待其他人的工作完成才能进行自己的工作;在现实中,特性交付的周期一次次被拖延,质量也频频出现问题,特别是与生产环境部署相关的部分,进而对客户和业务造成了负面影响。
结果,不仅是我们的工作无法按预期完成,整个公司也对IT部门的业绩不满意,甚至导致预算被削减,IT员工没有成就感,感觉无力改变流程及其结果。怎么办?我们需要改变工作方式,没错,DevOps能够给我们指引方向。
为了更好地理解 DevOps革命的潜力,首先让我们来回顾一下20世纪80年代的制造业革命,通过采用精益原则和实践,很多制造厂不但大幅提高了生产效率,缩短了交货周期,而且还提高了产品质量及客户满意度,并在市场竞争中立于不败之地。
在制造业革命前,制造厂的平均交货周期为6周,能按时交货的订单不到总量的70%随着精益实践的广泛实施,到2005年,产品的平均交货周期缩短到3周以下,按时交货的订单超总量的95%。而那些没有实施精益实践的厂商,不但渐渐失去了市场,有的甚至破产了。
另一方面,技术产品和服务的交付标准也在不断提高—几十年前优秀的交付标准如今已然过时。过去的40年中,开发和部署战略型业务功能所需的成本和时间每十年就下降几个数量级在20世纪七八十年代,新功能大都需要1-5年的开发和部署周期,动辄花费数千万美元。
到21世纪初,由于技术的快速发展以及敏捷原则和实践的应用,新功能开发所需的时间已经从几年缩短至几个月,但是部署到生产环境仍然需要几周甚至数月,而且部署过程中还总是伴随着大量不可预知的状况。
到2010年,随着DevOps的出现,以及硬件、软件和公有云的不断商品化,任何特性(甚至整个公司的创建)都可以在几个星期内完成,并在几小时或几分钟内部署到生产环境中一对于这些公司而言,部署最终进化成了日常的、低风险的工作(见表01)通过运用 DevOps,这些公司能够通过测试商业理念发现对客户和整个公司而言最有价值的想法,然后实施开发,并快速且安全地将其部署到生产环境中。
更快、更廉价、更低风险的软件交付趋势正加速发展
1970~1989年 |
1990~1999年 |
2000年至今 |
|||
时代 |
主机 |
客户端服务器 |
商品化和云计算 |
||
标志性技术 |
COBOL、运行在MVS上的DB2等 |
C++、Orecle、Solaris等 |
Java、MySQL、 RedHat、Ruby on Rails、PHP等 |
||
交付周期 |
1~5年 |
3-12个月 |
2~12个星期 |
||
成本 |
100万~1亿美元 |
10万~1000万美元 |
1万~100万美元 |
||
风险级别 |
整个公司 |
产品线或者部门 |
产品特性 |
||
失败成本 |
破产、出售公司、大量裁员 |
业务亏损、CIO革职 |
可忽略不计 |
现在,大部分采用了 DevOps原则和实践的公司,每天都能完成几百甚至上千次代码部署的变更。在这个竞争优势需要被快速验证和持续实验的时代,那些还不能应用 DevOps实践的公司注定会在市场上败给敏捷的竞争对手,并可能会倒闭,和当年那些没有采取精益原则和实践的制造厂的下场类似。
今天,不管我们身处什么行业,想要获取客户并向客户交付价值的方式都要依赖于技术价值流。正如通用电气公司首席执行官伊梅尔特所说“没有将软件作为核心业务的每一个行业或公司都会受到影响。”微软技术院士 Jeffrey Snover也曾说过:“在过去的经济时代,企业通过移动原子创造价值。而现在,他们必须通过数字创造价值。”
这个问题的严重性毋庸置疑—当今的技术影响着所有的企业,不论其行业、规模和盈利性质如何。与以往相比,技术工作的管理和有效执行,预示着企业能否在市场上取得优势,甚至能否生存下去。因此,尝试和采取一些新的原则和方法势在必行,虽然有些方法可能和过去几十年里曾指导我们成功的做法截然不同。
我们现在已经明确了DevOps解决间题的重要性和紧迫性。接下来要花一些时间来详细探索问题的本质:这些问题为什么会发生?若不采取措施干预的话,随着时间的推移,这些问题为什么会更加严重?
往期课程回顾
讲师简介
许峰老师与林伟丹老师
两大虎将,强强联手
DevOps咨询热线......
深圳青蓝咨询服务有限公司
电 话:0755-86950769
官 网:www.shzhchina.com
邮 箱:peixun@shzhchina. com
地 址: 深圳市南山区高新南一道06号TCL大厦B座3楼309室
深圳地铁1号线高新园站C出口