AI时代,重新定义DevOps

举报
技术火炬手 发表于 2019/01/16 15:56:20 2019/01/16
【摘要】 程序员、作家、产品开发专家、DORA(DevOps研究与评估)公司联合创始人兼CTO Jez Humble认为,“利用DevOps,我们将逐渐淘汰十年来采用的传统开发模式,这种模式已经无法满足应用频繁更新的需要。尽管很多效率低下的开发者使用DevOps时困难重重,但DevOps模式在人工智能技术加持下,能提高系统开发的效率、安全性及延展性。”

程序员、作家、产品开发专家、DORA(DevOps研究与评估)公司联合创始人兼CTO Jez Humble认为,“利用DevOps,我们将逐渐淘汰十年来采用的传统开发模式,这种模式已经无法满足应用频繁更新的需要。尽管很多效率低下的开发者使用DevOps时困难重重,但DevOps模式在人工智能技术加持下,能提高系统开发的效率、安全性及延展性。”

DevOps是一套整合软件开发和IT运营的流程。在系统开发领域,DevOps通过自动化应用和开发,与运营团队之间更紧密地协作,降低代码上线的难度,使软件产品更加符合业务目标,从而大大提升软件开发流程的效率。

DevOps:塑造企业新常态

O'Reilly Media公司发布的最新调查报告显示,全球DevOps人员的中等薪酬水平为每年9万美元,这一信息在DORA发布的《2018年DevOps现状报告》中也得到了佐证。这表明在所调查的行业中,DevOps的普及率不断提高,而且带来了软件交付质量和效率的提升。该报告根据效率高低将所有DevOps开发团队划分为高中低三等,最终的结论是:企业若要快速稳定地大规模交付高品质软件,DevOps模式已成为如今的不二之选。

投资DevOps能力建设能为企业带来诸多益处。据测算,如果开发团队采用DevOps原则,其代码部署的效率将提高46倍,变更代码的速度将提升2500倍。从稳定性来看,DevOps的代码变更失败率比过去低7倍,故障恢复速度比过去提升2600倍。

对Humble来说,这些都不是新鲜事,他多年来一直在推广开放协作和DevOps模式。他表示:“大家期望有一种能轻松调取最新数据并迅速做出反应的开发模式。旧的模式无法做到这一点,因为旧的数据毫无用处。我们必须快速收集和使用最新的数据。随着行业步入人工智能时代,这一点将变得越来越重要。”

管理上的挑战和应对方式

尽管有上述种种好处,但在现有流程中整合DevOps模式并非易事。“我们必须做一些艰难的取舍。”Humble说:“过去五年来,我们一直在研究有助于保障软件高质量交付的因素及其对业务的影响。我们发现软件交付会影响业务表现,也知道软件交付会受到哪些能力的影响。了解这些因素是提升企业开发能力的前提。”

然而,每个组织各不相同,受到不同条件的制约。那么对于企业来讲,应该如何迈出第一步,Humble认为,“团队要有解决问题的紧迫感,必须不断投入资源和能力,努力改善团队工作。”一旦采用DevOps模式,团队就能通过持续的测试和版本更新,向用户提供最新、最可靠的软件,这将有助于业务发展。

全栈、开放的合作

电信行业传统的设计和制造周期很长,加上网络部署以及向经销商和终端用户交付所需的软件,整个流程存在诸多限制。华为的DevOps模式摆脱了传统模式的束缚,实现开放和敏捷的软件开发流程。

华为汇集了来自各个垂直行业的人才。Humble注意到了这一点。他说:“华为的方案覆盖了整个价值链,从硬件、堆栈基本构件、网络基础设施,到开发者工具和工程,无所不包。”华为DevOps解决方案进行全栈的端到端完整覆盖,具有开放、协作性强的特点。

华为的DevOps方案基于华为云打造,二者相互协同。Humble认为企业的开发团队必须学习如何创建和管理达到生产标准的系统,以及如何持续交付。他表示:“这需要借助强大的、全面、自动化的测试,还需要使用各种生产方法。”

能力培养和性能衡量

要在人工智能时代成功实施DevOps开发流程,企业必须拥抱新的思维和新的工作方法。有些软件开发人员可能认为提升速度就意味着风险更大,但实际上如果处理得当就不会有更多风险。高效开发团队的应用在吞吐量、稳定性和可用性方面具有上佳表现。他们是如何做到的呢?就是通过细致的衡量、自动化和分析。优秀的开发团队在一天内能进行多次部署、更新上线,并在一小时内恢复中断服务。

这些开发团队的变更失败率很低,也就是说,他们很好地兼顾了快速迭代和稳定性。Humble表示:“我们必须调用最新数据进行模型验证,以确保不仅软件能顺利部署,还能支持更可靠的产业化解决方案。”

因此,开发团队必须提高开发者的技能、衡量DevOps性能,并改变原有的思维模式。只有对软件交付性能进行跟踪,才能确保企业能充分发挥DevOps模式的价值。

衡量DevOps团队的四大指标

衡量DevOps团队有四大指标:从代码check in到最终发布的变更周期;生产(吞吐量)变更的部署频率;出现故障后恢复服务的时间;生产变更部署后的变更失败率。

通过跟踪这些指标,我们能够了解DevOps流程的性能,为大规模应用奠定基础。通过合理组合配置多个指标,企业能够了解当前哪些工具和流程在正常运行,哪些部分需要重新调整或重建。此外,企业仅仅实施DevOps流程还不够,还必须通过数据了解实施过程中会产生的影响。

DevOps中的自动化和人工智能的价值

随着对人工智能基础设施(如工具链和平台)投入的增加,人工智能正在改变DevOps业务的面貌。开发人员越来越关注训练和验证模型、数据管道、云端与边缘的部署和测量。同时,数据和配置的综合管理需求也越来越迫切。

Humble称:“交付周期是个关键问题。如果要训练模型、获取反馈,再完成模型训练和验证,这个过程需要耗费大量时间。”他认为未来关注的重点将是提升可靠性和压缩交付周期。“良好的配置管理、自动化和端到端解决方案的管控十分重要。”通过自动化测试和部署,我们能预测持续交付能力,而持续交付能力也能对软件交付性能和企业文化产生积极影响。非常重要的是,开发人员需要的是简化的方案。如果只是将复杂、不可靠的手动流程变成自动化,得到的结果不过是一个同样复杂、不可靠的自动化流程而已。

在传统软件开发流程中应用DevOps,意味着实现生产变更流程产业化,并提高其可靠性。Humble表示:“我们实际看到的是多个流程拼凑起来的样子。开发人员东拼西凑的做法难以有效复制,也很难实现产业化。华为将改变这一局面,将这一流程系统化,并推动其实现产业化。”

自动化在辅助IT运营方面具有独特价值。自动化和人工智能通过提升效率和稳定性,确保高质量的IT运营,对统一配置和发布进行有效管理。

目前,具有人工智能分析能力的工具已问世,它能更好地预测并解决IT运营中的问题。例如,监控工具能帮助我们了解应用性能是否达标。但其真正的价值来自内嵌的分析能力,不仅能检测是否达标,还能分析不达标的原因,这些信息将反馈给开发和测试团队,让问题得到更快解决。

+智能,见未来

DevOps这个词最早由Patrick Debois于2009年提出,其内涵一直在循环更迭。DevOps为软件开发创造了新的标准,从基础系统到加强反馈循环,再到创造不断试验和学习的团队文化。在AI的加持下,DevOps将获得更大的影响力和发展动力。

DevOps和人工智能是一对完美的组合。随着我们步入人工智能时代,所有行业关注的焦点都将转向更智能、更快速、更高效地提供端到端解决方案。Humble表示:“DevOps能够完美地帮助企业实现更快速、更可靠的端到端解决方案交付。”

随着系统开发周期在DevOps模式下持续缩短,软件开发流程将在自动化和事件监控等领域取得更多突破。当开发人员能够大规模开发更安全、更有韧性的软件系统时,开放和协作的潜力将得到进一步释放。这也是DevOps为智能化贡献的独特价值。

--------------------------------

本文转自《营赢》第32期

阅读原文


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。