为了收集并了解DevOps在今后的发展态势,我们与16位高管进行了交谈,他们来自14家不同的公司,而这14家公司或正在内部实施DevOps,并且/或者向其他企业组织提供DevOps方案。
关键点
DevOps最重要的元素是:1)人;2)过程;3)技术
首先,人是最重要的,因为我们需要改变文化以及心态。过程则意味着打破各个部门之间的壁垒,重新定义过程,并制定绝对执行的控制。尽可能的优化使用第三方技术实现自动化,只有这样,才有可能实现扩展、缩小反馈环路、加快发布速度、提高质量、并且在开发、测试和监控中实现资源的重复利用。虽然这些改变做起来并不简单,但它们最终会为开发人员、运营人员、安全人员、测试人员、销售人员以及终端用户带来更优质的生活和更好的体验。
DevOps带来的第一改变:接受度(adoption)
DevOps从一开始的新颖、特别,到现在的“新常态”。DevOps方法在业界产生了巨大的影响,即便是有着遗留系统的企业公司,也非常乐意去做出改变。因为公司的高管已经真切的看到了DevOps转型的巨大价值。
DevOps带来的第二改变:自动化和合作的增加
更多的自动化和更少的运营工作能够使得解决问题的速度变快。对于容器和可复制构建的进一步重视也能够对扩展、共享和合作起到帮助作用。我们不仅仅打破了开发和运营之间的壁垒,更消除了支持、销售以及市场之间的隔阂,所有人通力合作,更好的完成产品的开发。
DevOps最大的价值:能够快速的将满足甚至是超过客户期望的高质量产品投放市场,快速迭代能够很快完成新特性的开发并实现经济效益。
DevOps是可以专注于商业价值,开发客户真正需要的东西,而不是一些新技术的噱头。持续开发使得新特性的生产工作和修复工作能够更快的展开,同时增强了客户的参与度,减少了不必要的开发工作。DevOps带来的改变显而易见,客户满意度提高了30%、创新速度加快了10倍、整体效率提高了2倍。
DevOps是个重复性的过程,团队中的每个成员对于过程中的每样东西都十分清楚,对自己所承担的角色职能也十分透彻。这样开发过程才更加可靠,发布才能够更加快速稳固。团队合作的效果越好,生产的产品质量就越高。
在实施DevOps时,这16位高管所在的公司使用了不同的方式方法。其中最长使用的工具是Confluence、Jenkins、JIRA、TeamCity以及Travis,此外还提及了14中其他的工具。
DevOps真正解决的问题主要是:提高产品质量、加快投放市场以及使用自动化减少循环时间。一家网上贸易公司的部署时间从以前的数周到如今的几分钟。此外,DevOps还可以支持任何公司在所有的操作系统、浏览器和设备上进行测试工作,这样就可以将测试从开发链中移除,使开发人员集中精力,实现商业价值。
DevOps提供的能力还包括接收错误报告和及时修复,并不不会带来任何隐藏的回退隐患。大公司的开发人员可能分布在不同的地区,可以通过检查源代码加快开发进程。使用自动化操作代替人工测试则可以省下来数百甚至数千美元,或者节省近35%人员。对游戏公司来说,每天可以对某个复杂的应用框架完成数百个更新项目;对电信公司来说,可以将其内部的业务与运营系统在同一个平台完成整合,提供百余项应用服务。
DevOps转型的关键在于人,尤其是企业的高管们,在面对改变时会显得犹豫不决。因为管理人员已经习惯了当前的工作模式,不希望有新的变动。谁都不愿意为开发中的代码承担更多的责任。但是,对于工程团队来说,这就赋予了他们很大的自由度,可以按照自己的想法尝试新事物,因为他们可以看到代码对于终端用户的影响。所有的东西都是一种心态-一种“不能这样”的心态,对创业公司来说更是如此。不要担心你的企业,把心思放在客户的需求上。
DevOps还需一定时间的发展才会日臻成熟,说到底它是一种发展的方式方法,而非是解决问题的速效药。Netflix和谷歌花了7年时间才完成转型。所以,一开始可能会比较难,但是,一旦你渡过了初期的难关,那么各种工具和自动化就会减少各种时间,最终对企业产生极大的益处。如果出现了问题,也要坚持下去,不能半途而废。努力工作,正确的处理各种过程、工具和自动化,最终你会收获满满。
DevOps最大的问题就是:人们不愿意做出改变,或者说人们没有完全做好改变的准备。
只有改变才能提高速度、创造价值。如果固步自封,那么就会失去客户,也会被敢于积极迎接改变的竞争对手所取代。
实施DevOps初期,大家可能会抱怨工具找出了许多代码中的错误。但是,故障根源分析会帮助我们发现这些问题的根源所在。
DevOps可以帮助大家协同合作、相互沟通、一同完成高质量软件的交付。它从一开始就将安全和测试整合到自动化过程中,在整个过程中获得了极大的收益,而不是仅仅着眼于最终状态。
DevOps未来的机遇所在:1)云时代的不断成长;2)工具对于自动化的促进和支持;3)容器;4)企业级别的合作。DevOps和云之间存在着健康的共生关系。随着AWS、RedHat以及Azure的不断发展,DevOps也会爆炸式的飞速成长。AWS目前提供了很多用以支持自动化的工具,而且也有很多不同的工具组合,所以无需定制化的进行部署(custom build deployments)。将来受管制的行业会越来越多的采用公有云,容器也会在云时代发挥更加重要的作用。
DevOps会影响到企业的方方面面,帮助企业在开发、运营、QA、安全、测试、部署、商业计划和BPO方面塑造良好的沟通和协作环境,最终提供更优的客户体验。
目前全球DevOps的采用率只有仅仅2%,我们会分享已经完成的DevOps实践实例,告诉大家如何使用工具通过持续监控解决问题、消除不安,最终使得DevOps达到广泛的采用。
有关DevOps和持续交付有一个永恒的主题需要开发人员时刻谨记,那就是灵活性和协作性。开发应当通力合作、共享,理解一同工作的运营人员,当然更要理解终端用户。DevOps转型的过程肯定会出现各种问题,但切记不能选择回头,只要你坚持下来,对测试、自动化和相应代码编写了解的越多,DevOps就会越根深蒂固,你的价值也就越来越高。
当我们问题关于DevOps还有什么需要考虑的时候,这16位高管提出了几个问题。
1:DevOps不是一种产品,它是与技术相关的一种生产过程。 2:DevOps原理适用于整个行业,可以减少不确定性,提高过程管理的效率。 3:运营和开发人员需要使用相同的工具集来解决共同的问题,这些工具能够促进沟通、加强合作、并且帮助解决问题。
以下为文中提到的16位高管:
人物 | 职位 | 公司 | Michael Schmidt | 资深总监 | Automic | Amit Ashbel | 产品营销和网络安全布道师 | Checkmarx | Sacha Labourey | CEO 和创始人 | CloudBees | Samer Fallouh | 工程部副总裁 | Dialexa | Andrew Turner | 资深解决方案工程师 | Dialexa | Andreas Grabner | 技术战略师 | Dynatrace | Anders Wallgren | CTO | Electric Cloud | Job van der Voort | 产品部副总裁 | GitLab | Charles Kendrick | CTO | Isomorphic Software | Craig Lurey | CTO兼联合创始人 | Keeper Security | Josh Atwell | 开发人员倡导者 | NetApp SolidFire. | Joan Wrabetz | CTO | Quali | Joe Alfaro | 工程部副总裁 | Sauce Labs | Nikhil Kaul | 产品营销经理 | SmartBear Software. | Harsh Upreti | 产品营销经理 | SmartBear Software. | Andi Mann | 首席技术倡导者 | splunk. |
原创:Tom Smith
|