企业每天都面临着快速变化和高要求。现在的主力消费者比他们的上一辈对企业有着千变万化的要求和更高的期望。日益激烈的竞争意味着企业必须迅速而明智地采取行动,以保住自己的市场份额。企业不断与竞争对手竞争,努力为客户提供最好的产品。许多困难的根本原因是缺乏沟通,对于许多公司来说,DevOps是解除困境的方法。
根据RightScale 2016年对1060名IT专业人士进行的云端状态调查,81%的大企业和70%的中小企业报告采用了DevOps。这种敏捷思维方法涉及到客户、产品管理、开发人员、QA和其他角色之间的协作,以便向更好的产品、服务和系统前进。
没有采用DevOps的开发人员可能会对构建和部署流程的日常任务感到沮丧。由于不得不一遍又一遍地完成相同的任务,他们会没有时间进行创新。
而当有了DevOps和自动化,那些单调重复的任务就可以被消除!没有了这些耗时性项目,开发人员可以拥有更多的时间做自己喜欢的事情:研发。花更多的时间创新、更少的时间修理和维护是一种胜利。
不想参与软件的运维?随着DevOps打通筒仓,增加合作,这种情况也在不远的将来向你招手了。
对于运维来说,在未采用DevOps前,典型问题之一是从开发人员那里获取随机的、通常是错误百出的代码。由于沟通很少,达成决议需要更长的时间,也会让工作更加困难。运维所关心的是维护环境的稳定性,但这很难做到。
有了DevOps,运维人员在计划外工作和返工上花费的时间减少了22%。这主要是由于增加了与开发人员的交流。更好的代码、共享的代码库和更稳定的操作环境使工作更加轻松。
自动化和持续集成允许在不威胁稳定性的情况下交付新功能。
当你的产品和服务需要更长的时间才能制造出来并付诸行动时,你就很难打败你的竞争对手。当你的软件有错误时,这尤其困难。
DevOps鼓励协作环境。当在生产过程中有更多的交流,产出是更好的产品。当每个人都保持一致时,最终交付的产品一定会更好。DevOps带来的46倍的软件部署频率和440倍的变更前置时间会让运维的工作更加轻松。
要高效地管理一个从不沟通的团队几乎是不可能的。缺乏沟通使工作变得困难,因为软件有错误,反馈不及时,可见性低。
协作是DevOps的关键要素之一。沟通会带来更好的产品和更好的系统。此外,它们的管理也不那么复杂。自动化减少了人为错误,且可使故障更改率降低3倍。
DevOps还增加了整个软件开发过程的可见性。当能够检测错误、定位其根源并发现原因时,就可以迅速修复问题。DevOps使得故障修复速度快96倍。
如果你不知道问题是哪里产生的,是谁造成的,就很难解决问题。当找不出问题,无法解决问题,并且知道每一分钟都意味着越来越多的人感到不方便(可能还会为此烦恼)时,压力就来了。
DevOps允许更快地解决问题。提高可见性和沟通对于解决问题至关重要。工程师可以使用实时数据来解决问题并了解应用程序更改的影响。当出现问题时,解决方案实施得越早越好。如果一个Bug变得太深,就更难修复了。
QA的工作是确保产品和系统都运行良好,但这并不意味着他们喜欢错误缠身的软件和过程。如果没有沟通、协作和自动化(DevOps的所有支柱),错误就会泛滥成行。
有了DevOps,团队成员可以一起工作来生产更好的产品,自动化可以减少容易避免的人为错误。结果就是出现更少的错误。并且,由于持续的集成、持续的交付以及频繁的小更改,错误也更小更容易修复。DevOps用户报告说,修复安全问题的时间减少了50%,故障恢复速度加快了96倍。
任何在服务行业工作过的人,无论是在餐馆、零售还是客户服务,都知道与不满的顾客打交道的痛苦。当系统出现故障和错误时,用户会很不高兴。当然故障不是你创造的,但你必须处理它们。
DevOps会导致更少的错误,这意味着用户的使用体验更加舒适。虽然仍然会接到用户的投诉电话,但这只会越来越少。此外,用户也不会因为反复经历相同的故障而暴躁。
一个更具协作性的环境意味着你的工作更容易。
改变的意义是为了更好的用户体验。采用DevOps不仅为自己简化了流程,这也意味着将有更多的时间为客户做出更多的改进。
DevOps通过改进流程和应用程序使最终用户的体验更加一致。总的来说,让互动更愉快。
综上所述,每个人都受益于DevOps的一些基石,如持续集成、持续交付、发布自动化、测试自动化和协作。持续集成几乎消除了发生大故障或错误的可能性。自动化流程消除了繁琐的手工任务。协作创建了一个协调的团队,并改进了最终产品。
DevOps创造了更快乐、更高效的团队。人们不必一次又一次地完成同样无聊的任务,解决同样的问题。挫折感和不愉快的减少会让团队成员更有效率和效率。这样可以消除工作中一些不满意的地方,为组织增加价值。
团队效率达到顶峰,有更多创造性和革新性的任务、集体责任和加强沟通。当筒仓被打破后,团队会对共同的目标和实现目标的计划有一个更清晰的认识。此外,增加透明度会带来更明智的决策。授权、自信和协作的团队行动得更快更有效,从而导致更快的发布和更智能的工作。
如果出了问题或者有计划外的工作,沟通可以帮助团队管理意外的障碍。DevOps建立流程并明确优先级,以指导您和您的团队成员在继续执行原始计划的同时完成计划外的工作。
当员工做他们喜欢做的事情时,他们会更投入,更快乐。DevOps不解决工具问题,它解决人的问题。快乐的员工带来快乐的顾客。
通过更好的流程和沟通环境,公司将受益匪浅。不仅在感情上每个人都是朋友的方式,在经济上也是如此。更满意的员工可以做他们喜欢做的事情,而客户得到了更好的体验,公司就会从中受益。
由于DevOps节省了时间和资源,并提高了公司的速度和竞争力,因此ROI(投资回报率)有了切实的提高。由于持续集成、持续交付、发布自动化、测试自动化和协作,组织能够更快地交付特性并更快地进入市场。团队是主动的,而不是被动的,因为它能满足新的市场需求并应对安全威胁。
持续的反馈使公司能够更频繁地听取客户的意见。因此,组织可以交付更及时、更具相关性的软件。这样就可以更快地响应客户不断变化的需求并改善用户体验。
在现今社会下,每家公司本质上都是科技公司。如果没有快速的软件,将永远无法将自身产品推向市场。而没有DevOps,就无法拥有快速的软件。
DevOps使IT与业务目标保持一致。它创造了一个专注于创造价值和持续改进组织的团队。创造最好的客户体验是头等大事,每个人都在一起创造和维护最好的产品和服务。
DevOps将速度与方向结合起来,为企业带来利益。
作者:陈琦,资深敏捷测试顾问,作为国内知名项目管理软件——禅道的团队成员,主要负责开源自动化测试管理框架——ZTF的开发工作。拥有十多年的敏捷过程实践经验,现致力于测试自动化和DevOps相关领域的实践和研究。
领取专属 10元无门槛券
私享最新 技术干货