对于DevOps,AI和ML是一把双刃剑

新闻动态

对于DevOps,AI和ML是一把双刃剑

现在,在大多数数字化处理流程中都可以见到人工智能(AI)和机器学习(ML)的身影。但是,对于DevOps来说,它们一方面带来了好处,但同时也带来了负面影响。

AI和ML非常有益,但并非十全十美

机器学习(ML)和人工智能(AI)已经在DevOps中广泛使用,以帮助开发人员和工程师完成任务。

如果运用得当,这项技术可以在不需要人工介入的情况下,夜以继日地快速任务执行。

但对于DevOps来说,AI和ML在实现构成中都可能会出现问题;如果运用不当,AI可能会出现偏差,而新软件的成功部署也难以得到保障。

对于AI和ML初次上手的工程师来说,除了上述这些可能的问题外,还要考虑到其他额外的挑战,从而使这项技术和DevOps之间的关系就显得并不总是那么完美和谐。有鉴于此,我们需要深入分析一下其中的利与弊。

让开发人员更好地理解数据

AI和ML的一个常见应用是将企业拥有的各类数据分配到不同的使用环境中。AI可以比工程师更快地学会根据使用目的对数据进行分类。

这是DevOps的一个重要方面,因为工程师需要仔细检查要发布的代码,以确保软件能成功得到部署。

风河公司CEO Kevin Dallas指出:“AI和ML对于帮助开发者理解存储在不同数据仓库中的数据至关重要。事实上,我们相信它们将成为数据分析和处理的必然选择,因为人类自己根本无法做到这一点。”

AI和ML将使开发人员更好地理解和使用手头的数据;例如,不仅可以帮助开发人员理解错误或故障是如何发生的,还要可以帮助开发人员弄明白故障发生之前的详细情况。显而易见,从管理和诊断到基于业务价值的发掘,对于各种形式的数据来说,AI和ML都是一项至关重要的战略决策

有助发现缺陷并提出解决方案

DevOps的一个主要价值是确保新软件中所有可能的错误都在被部署并提供给最终用户之前被快速清除掉。

OutSystems公司品质提升业务主管Joao Neto解释道:“有了正确的数据,AI和ML就可以帮助我们分析价值流并发现其中的瓶颈。由此可以发现哪里效率低下,甚至发出警报并提出纠正措施。”

更加智能化的代码分析工具和自动化代码检查功能将帮助我们更早地发现严重问题,并防止它们影响到下游流程。测试工具也将变得更加智能化,可以帮助开发人员识别测试覆盖漏洞和缺陷。

我们可以很容易地得出判断,其它方面和职能人员也将从AI和ML获得类似的受益,比如安全性、体系结构、性能和用户体验。

持续性的实验与纠错

Neto继续解释了在实验研究中AI和ML对DevOps的助益。

他说:“进行实验研究并不是一项简单的工作,这通常需要特定的专业技能,而大多数团队都不具备这些技能,比如数据分析师。选择足够大量的对照组,并了解您的数据在统计学意义上是否具有相关性,这就是一门科学。AI和ML有助于让实验简易化,让所有的软件团队、甚至商业职能人员都可以进行。”

我们还可以通过将可观测性与ML技术相结合来进行预测。开发团队可以了解并学习他们的客户如何使用产品、客户面临哪些挑战以及哪些特定情况会导致系统故障。

部署AI和ML时可能会出现的问题

显而易见,AI和ML有诸多能力使DevOps过程受益,尤其是在后端执行分析时。

然而,当涉及到部署时,开发人员和工程师可能需要更具体地考虑哪里需要它,因为DevOps过程中使用AI并不总是每次都获得完美结果。

Pegasystems公司人工智能系统主管Peter van der Putten表示:“许多人工智能项目一直在苦苦挣扎,常常发生问题的不是构建预测模型等后端分析方面,而是如何将这些资源投入生产。”

在某种程度上,一些良好的既有DevOps实践可以在此发挥作用,例如自动化测试、集成和部署管道。但是,部署AI资源有其特定的要求,例如主观偏见检查的整合,以及检查要部署的模型是否通过了当前应用场景的最低透明度和可解释性要求。

专注于“弱”人工智能也有它的弊端

在DevOps领域针对人工智能的批评之一是它会分散工程团队对最终目标的注意力,同时也占用了流程内更多的人力,而这也正是关乎成败关键所在。

Puppet公司人工智能业务首席技术官Nigel Kersten表示:“说到技术和DevOps,我们所指的不是模仿人类理解广度的‘强人工智能’或‘通用人工智能’,而是‘软人工智能’或‘弱人工智能’,具体来说就是狭义的、针对特定任务的‘智能’。我们不是在谈论会思考的系统,而是指真正意义上的统计结论,它必须与应用于特定任务的计算能力相匹配。”

AI和ML听起来很实用,但它真的对DevOps有用吗?答案虽然是肯定的,但是我坚信痴迷于此是危险的,并且会冲淡DevOps方法的实际收效。DevOps方法应该永远以人为本。

我看到太多的企业领导人将“人工智能”和机器人流程自动化作为处理其IT环境复杂性和脆弱性的一种方法,而不是应用系统思维、精简流程、创建自主团队、采用敏捷和精益方法,也没有创建一个循序渐进的环境并对其进行持续改进。

在您开始向机器人寻求答案之前,请先专注于最大化您的人力资源所拥有的知识价值。只有做到了这一点,您才可以借助机器学习和统计学来增强员工的能力,让它们在异常检测等有限领域里自动完成更多令人心力憔悴的工作。

DevOps中AI和ML的未来

虽然AI和ML已经被证明在加速DevOps和其它数字化转型战略领域上是成功的,但整体来看应该还需要更多的时间来发展和改进。

随着开发人员继续推动,AI 和ML与DevOps的关系未来将会是怎样的呢?

Dallas指出:“随着AI和ML在DevOps中的应用不断增长, 我们将越来越多地看到企业从更多的实时洞察中获益并提升业务价值。因此,在实用系统中的AI和ML框架将能够基于实时开发、验证和操作数据来优化系统。这是我们与所服务的各行业客户针对数字化转型所展开的一场对话。企业越来越能意识到,因循守旧不可能迎来新世界的降临!”