DevOps是一个相对较新的趋势。很多年前——在 EDS被HP(惠普)收购之前——我在一个做软件开发项目安全分析的团队里工作。整个过程都是有条不紊的,近乎乏味的。当我们要准备部署软件时,我们已经积累了一个应用到下一个主版本的变化和修改的明细清单。在看到下一个版本可以出来之前,这将会花费多个月去回到第一个步骤以及为开发生命周期而努力。再次重复这一过程。
现在整个概念看起来是外来的。每样东西都是实时的和瞬间发生的。移动革命完全改变了我们与软件交互的方式,像Facebook这样的公司已经完全改变了软件开发和部署的期望。
Facebook移动应用每两周就像发条装置一样更新和翻新。那是新的常态。用户希望应用可以不断被修正和更新。一个公司如果用一个月或更长时间来修复一个bug或部署一个具有新特性和功能的更新,它会很快淡出人们的视线。用户现在正在期待它的出现,如果你们不能交付,他们将会继续找一个可以做得到的不同的产商。
换一种说法,Facebook正在推动这一趋势。Andrew Storms,是New Context的安全服务副总裁,也是DevOps方面的一个有权威的作者,他说Facebook像 Netflix一样是一个DevOps原则和工具的早期采纳者。或许不是叫做“DevOps”,但是在不牺牲稳定性或性能的原则上加快开发周期的这种需求根本上就需要一种DevOps方法。
Facebook以及它的网络巨头同行像Amazon、Google和其他公司从根本上改变了客户的期望。现在,所有企业都必须变成快速、有效率、软件驱动型的企业来满足他们客户的期望。
为什么用DevOps?为什么现在用?
Avi Cavale,Shippable的CEO以及创始人,他指出:“Agile(敏捷开发/测试)和DevOps对于手机移动应用的发展非常重要,这个领域的开发周期超级快。这是一个拥挤,快速移动的领域,企业为了生存不得不走出去思考和走出去创新去进行竞争。一个应用能在一个应用商店保持在排名前10的名单里的平均时间仅仅为一个月。”
为了说明DevOps对于软件开发生命周期来说是什么意思,让我们看一下怎么学习驾驶。当你第一次学习驾驶时,你会单独地关注整个过程的每一步。这里有一种有条不紊的、线性的方式去做这件事:在上车前检查汽车的两边和后面;系好安全带以及调整座位、镜子和方向盘;打火启动;把手放在方向盘的10点钟和2点钟位置;等等。像变道这样一个简单的任务就要分解成一个多步骤的过程,这过程执行繁琐以及有条理。
那就是旧学派的发展方法论,好像瀑布一样工作。DevOps,用前面提到的例子,更像你在开了几年车之后的那种自然的开车方式。每件事情都同时和靠直觉地发生。你可以不用经过刻意思考后再启动汽车,然后从A点开到B点。
企业都须要越过那种缓慢的、沉闷的开发过程。手机应用的世界真的太快了。从Facebook、Amazon、Google和其他企业的成功中诞生,DevOps被设计成用来快速交付稳定和有效的应用。每时每刻都不容易的,但是你不需要变成Facebook的角色并在DevOps取得成功。你不能像买下一个产品或一种服务一样买DevOps。还有很多工具和服务,但DevOps更多是关于文化的转变,以及改变团队是怎样一起工作的动态。
选择DevOps:不是如果,而是当什么时候(以及让它变得很快)
这真的不是一个选择。在当今的快节奏世界里,选择DevOps就像选择呼吸一样。你只能这样做否则你会死去。
当今的公司在经过一代之后只有16%能生存下来,这是根据“US Small Business Administration”的数据预测的。对于手机应用的公司来说,这已经不再是一个选择了。如果它们不采用敏捷管理和DevOps实践,它们也将会很快消失。
在我们客户主导的世界里,公司都不得不不断创新以及让他们的产品和服务保持新鲜感,拥有更好的可用性、功能、颜色,等等。一个公司推出的任何功能都可能被一个竞争者在几周之后篡改或者复制。例如,人们(客户)从Viber转向使用WhatsApp只是因为后者的不断创新。
Chef 的Nicole Forsgren,一个一流的DevOps研究者,在广泛的研究中发现,高水平的DevOps组织在扩展盈利、市场份额和产品目标方面都是其他公司的大约两倍,他们在过去三年期间完成了50%的市场价值增长。
更快更安全地创新需要三样东西:自动化,云,以及DevOps。根据你是怎么定义DevOps的,去区分那三个要素将有很挑战性。DevOps全部都是关于怎么将一个IT组织里每个人都统一向着一个目标:去更快地交付软件,提供更好质量和产生更少风险。
DevOps:不再只是提供给手机应用
“总而言之,只有少数人真的准备去跟随Facebook的步伐,”Chef市场部的副总监(Vice President)Jay Wampold提到。“然而,如果不是所有交易都意识到现实的重要性,那么在今天的数字经济趋势下他们将与全世界一起跟随Facebook的步伐迈向成功。”
Wampold指出,chef看出在所有行业的组织都采用自动化和云技术结合DevOps实践来加快创新速度,以及用更快的软件交付去减少面向市场的时间。事实上DevOps已从一个边缘快速地发展为主流趋势。你可以在分析研究中看到它的存在。Gartner最近预测25%的企业将会在明年使用DevOps。你也可以在主流的IT厂商中看到它的使用。Microsoft、HP、Amazon,还有其他企业都对开源和DevOps有浓厚的兴趣。
DevOps本身仍然是一个有点飘渺的概念。是什么可以使DevOps提供让软件交付更快更安全的最终途径,那对每个组织来讲都是独立的,Wampold强调。“基本原则——尽你所能地让每件事自动化,消除发展、操作和其他事情之间的障碍,创建一种基于信任的文化——这可以应用到任何业务上。”
由此产生的组织和技术性决策可以根据每个组织的需求来度身定制。通过这种改变可以得到更快的速度、更安全的操作,拥有更开心的客户。
Editor-in-Chief
TechSpective.net
【英文原文:https://techbeacon.com/keeping-facebooks-devops-delivers-faster-mobile-app-development】
{测试窝原创译文,译者:梁仲兴}
译者简介:梁仲兴,专注于云计算、自动化、网络运维领域的工作者。