我们正经历着一场与我们息息相关的数字革***:我们通过手机应用来叫出租车、支付账单并转账;我们依赖GPS来告诉我们行驶路线;我们使用手机、平板电脑或计算机上的应用来购买日用品、电影票,甚至家具。而销售这些商品的公司能够准确地向我们推荐我们接下来想要买的东西。
这都是因为软件。软件已成为企业寻找、获取和保留客户的最重要工具。与实体产品不同,软件更新换代迅速且频繁,而这正是客户所期待的。客户很容易就会转向提供方便好用的新功能的软件竞争对手,而在这之前,他们会留下对你的产品的负面评论,这有不但会损害你的声誉,而且还会吓跑其它潜在客户。
精明的企业正在利用软件的快速发展和可塑性来为市场注入越来越多的差异化优势。他们利用客户的即时反馈来不断改进软件,并且越来越多地通过DevOps来完成这项工作。通过确保开发者与运营者在整个软件开发周期的密切合作,企业变得更加善于保证质量、***程度提高速度,并应对甚至预测市场变化。
我们预测,DevOps领域在2016年将取得一些重大进展。以下是企业在参与竞争的过程中需要了解的五大发展趋势。
1. 大企业将全面应用DevOps
对于大部分大型企业,DevOps并不是什么新鲜事物。小团队利用DevOps原则来完成琐碎的项目,经过几年实验,他们开始获得成功。但是总的来说,DevOps并没有在整业内被广泛采用。因此,企业中的DevOps软件版本仍然太慢、缺陷太多,并且太昂贵。
现在,多个团队正在证明采用DevOps实践的价值,***高管们注意到这一点,并开始意识到DevOps可能能够解决企业面临的一些首要业务挑战。他们开始与IT部门接触,询问应如何在整个企业内规模化采用DevOps原则,以便提高DevOps商业应用的速度和质量。
对于DevOps的推广,***高管的支持是关键因素。,因为如果没有高管的支持,DevOps就无法在大企业中获得成功。DevOps需要进行大量的实验并承担失败风险,除非企业领导们坚信最终结果将物有所值,否则这种实验可能不会被企业的领导们所接受。
随着企业在2016年以后开始逐步更新其传统应用,DevOps将发挥核心作用。五年内,DevOps将在软件开发中成为常态。
2. 将出现***实践规范
DevOps 目前还没有界定的标准,因此,一个企业中适用的 DevOps 可能与另一个企业中的DevOps并不太一样。这意味着DevOps也涉及某些风险,而众所周知大企业力图回避风险。即使你的小团队已经证明了DevOps的成功,但是把DevOps的成功经验在企业内进行更广泛的推广可以说是一个不断试错的过程,而大部分企业并不会心甘情愿地参与进来。
由于不同的团队都在尝试DevOps并分享自己的成功经验,因此将有机会从经验教训中汇总***实践并进行规范。标准化将有助于消除推广DevOps实践所带来的风险,且从测试到确定***部署工具,甚至如何跨团队进行内部培训都可能被标准化。
最终,随着***实践日臻完善,它们就有可能普及并渗透到各个行业。
3. 安全将与DevOps日益融合
无论是企业自身付出了惨痛的代价,还是目睹其它企业经历失败,企业都知道,发生在用户身上的安全问题所造成的破坏性远比他们投入生产之前在内部遇到的安全问题要大得多。
随着软件交付的步伐不断加快,这也向安全团队提出了一个挑战,因为他们主要关注应用的发布以及应用安全维护。加快工作速度让他们不一定会有时间在应用交付到最终用户手里之前来彻底对应用进行审查。问题在于如何找到合适的流程组合,进行彻底的安全评估并保持软件快速发布与流通。把安全团队和DevOps团队召集在一起,共同提出解决方案。
近期备受瞩目的安全漏洞表明,安全问题并不能在事后才想补救的措施。安全***实践和测试必须从一开始就融入开发流程,也就是说,使其成为DevOps团队的一部分。
即便如此,安全与DevOps的全面融合还没有成为主流。2016年之后,安全团队成员将逐步融入DevOps实践。安全专家将指导DevOps如何迅速有效地把应用安全嵌入软件开发、部署和开发周期中。
4. 关键技术的采用使得DevOps将获得成功
由于DevOps仍然处于起步阶段,几乎没有明晰的工具链,也没有被普遍接受的单一标准。然而,随着企业从其DevOps实践中学习并分享成功经验,2016年之后,这一情况将开始发生变化,一些关键技术概念将帮助IT部门在整个软件开发周期中***限度提高速度和质量。
提高自动化
自动化测试、基础架构和应用部署可加快开发周期并减少错误。通过自动化程序和重复性任务,企业可以缩短软件交付周期时间,同时确保可重复使用。由于企业希望采用DevOps,技术工具链的最初成果将通过采用自动化,加快任务、消除人工传递,并减少容易出错的流程而实现。
降低延迟
企业要提高应用交付的速度,必须评判开发周期的每个阶段,识别并消除向客户迅速且高质量交付软件过程中的的***障碍。通过识别交付过程中的***瓶颈来取得进展,但是消除较小的瓶颈却并不十分有用,因为主要的瓶颈仍然会造成早期技术缺失,或者在接下来的过程中减少关键资源。
提高可见性
对于那些从一开始就快速交付到最终用户手中的高质量应用,一定要在开发周期的每个阶段对其进行持续评估和监测。你必须根据业务要求来监测并衡量关键指标,包括应用用户体验、应用和基础架构的健康状况与可用性,以及威胁和风险监控,通过持续反馈回路在整个团队共享结果。如果它们并未满足业务需求,你必须随后进行改进和迭代,实现不断进步。
5. 工作角色演变
大部分采用DevOps的IT组织将迫使每个人从技术角度和文化角度都接纳新技能。随着开发者越来越熟悉基础架构,运营人员也变得更加熟悉代码,其工作职责将不可避免地开始变化和发展。
2016年之后,这些变化将超越开发和运营,影响到业务分析师、规划团队,甚至***高管们。例如,随着自动化接管许多任务,传统系统管理员的角色将变得不那么重要了,而熟悉整个应用技术栈的“全栈”工程师则开始变得更加关键。
随着企业越来越倾向围绕产品和服务来配置团队,工作角色将不断演进,多重角色成为DevOps交付链衍伸影响的一部分。
2016年对DevOps的总结
在软件决定市场中商业领导地位的数字革***,企业务必要了解DevOps有助于更快交付更高质量软件的能力。
DevOps不再是边缘运动,或者只是一个被称之为“独角兽”的理念。企业IT部门必须采用这种方式,才能在市场中竞争并与时俱进。了解了关于DevOps的这些预测,可以为即将到来的变化做好准备,并采取措施成为行业的领跑者。
作者:李时,Hewlett Packard Enterprise中国区副总裁兼软件集团总经理