为了收集并了解DevOps在2017年的发展态势,我们与16位高管进行了交谈,他们来自14家不同的公司,而这14家公司或正在内部实施DevOps,并且/或者向其他企业组织提供DevOps方案。
本文作者:Tom Smith(DZone公司研究分析师,市场战略师,资深编辑、作家,通过一对一采访收集信息供开发人员和工程师参考,同时找出并解决各种商业问题)
关键点
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就会越根深蒂固,你的价值也就越来越高。
以下为文中提到的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.