根据德勤公司今年早些时候发布的调查报告,提供人工智能驱动软件开发工具的初创企业在2019年共筹集到了7.04亿美元的资金。
IDC公司预测,全球定制应用程序开发服务市场的规模将从2018年的470亿美元增长到2023年的610亿美元以上,年复合增长率(CAGR)达到5.3%。同时,IT软件质量协会的报告指出,低质量软件在2019年使美国企业损失了3190亿美元。Gartner公司还表示,到2023年,40%的DevOps团队将会使用集成了人工智能的IT运营(AIOps)平台来监控应用程序和基础设施。
为了降低DevOps团队面临的延迟,软件开发工具提供商正在迅速将人工智能和机器学习技术融入到其应用程序和平台中,旨在提高软件质量并加速软件开发生命周期(SDLC)的各个阶段。令人欣慰的是,这些技术的应用已经在多个案例中证明了它们的有效性,从而提升了DevOps的准确性、质量和可靠性。
人工智能加速DevOps的10种方法中,最引人注目的特点是它在帮助开发人员完成复杂且耗时的任务方面表现卓越。其中,管理需求文档的多次迭代和版本更新是最耗时的工作之一。Atlassian公司开发的JiRa软件,凭借其人工智能功能,在简化软件开发生命周期(SDLC)的各个阶段并帮助管理需求方面,已成为行业的标准。
以下是人工智能加速DevOps的10种方式:
(1) 依赖人工智能和机器学习实时自动提示代码段,能够加速开发进程并提升DevOps的生产效率。
一些领先的企业软件厂商的DevOps团队在客户关系管理(CRM)、供应链管理和社交媒体市场上展开激烈竞争。他们发现,人工智能的这一应用场景更加高效,且在准确性上得到了显著提升。一位行业领先的CRM提供商的DevOps负责人表示,最初尝试使用人工智能自动生成代码的努力未能如愿。但随着有监督的机器学习算法的使用,模型学习和响应代码请求的速度显著提高。微软的Visual Studio Intellicode已被安装超过600万次,这也是DevOps团队将其视为最有价值的人工智能开发工具的原因。
(2) 人工智能在简化需求管理方面的应用,已有效提升需求文档的准确性和质量,帮助捕捉用户在未来应用程序或平台中的需求。
人工智能提供可靠的结果,优化需求文档的创建、编辑、验证、测试和管理过程。DevOps团队成员利用基于人工智能和机器学习的需求管理平台节省时间,以便在紧迫的期限内恢复编码和软件产品的创建。准确满足需求有助于项目保持在预定路径上。基于人工智能的软件开发工具供应商认识到按时完成项目的重要性,因此迅速开发和推出新的应用程序。值得一提的是,自然语言处理技术在DevOps工具中的应用正在快速增长,使用人工智能工具的企业已经将需求审查时间缩短了50%以上。
(3) 研究表明,人工智能在检测错误和提供改进代码的建议方面表现出色。
FACEbook的错误检测工具能够预测缺陷并提出补救措施,在80%的情况下,人工智能工具能够自动修复错误。SEMMle codeQL被视为该领域领先的人工智能驱动DevOps工具。使用codeQL的DevOps团队可以跟踪代码中的漏洞,并在整个代码库中发现逻辑变体。微软安全响应团队的研究人员利用SEMMle-QL发现关键问题的变体,从而识别和应对严重的代码问题,预防事件的发生。
(4) 人工智能正在帮助确定安全测试结果的优先级并对漏洞进行分类。
CheckMaRx公司的首席技术官Maty SiMan阐述了机器学习如何实时识别代码漏洞。他指出,即使是最成熟的SDLC组织,仍然面临漏洞优先级划分和分类的挑战。专注于开发人员或应用安全团队的机器学习算法,旨在识别真正的威胁和易受攻击的组件,这是应对这一挑战的关键。他表示,可以训练机器学习算法识别相对脆弱性的重要性,从而优化和加速修复工作。
(5) 通过基于特定代码库的独特属性自动生成和运行测试用例,提升软件质量保证,节省DevOps团队的宝贵时间。
在各种用例中对新应用程序和平台进行压力测试时,这项技术尤为重要。创建和修改测试用例是DevOps团队的一项独特技能,具备该技能的开发人员常常会因测试更新而感到不堪重负。基于人工智能的软件开发工具能够消除测试覆盖的重叠,优化现有测试工作,并加快从缺陷检测到缺陷预防的过程。这样的工具能够识别复杂和相互关联的产品模块之间的依赖关系,从而提升整个过程中的产品质量,并改善客户体验。
(6) 在复杂的软件应用程序和平台交付给客户后,人工智能技术擅长解决相关问题。
企业软件厂商在保证软件质量的过程中投入了大量精力,以消除错误、逻辑缺陷和不可靠的代码段。更新版本或召回的成本极高,并可能影响客户的生产效率。研究表明,基于人工智能的质量检查工具能够有效预测企业应用程序在交付复杂客户环境之前可能失败的区域。人工智能在根本原因分析方面表现出色,并加速了领先CRM提供商的应用程序交付,同时缩短客户企业环境中的恢复时间。另一支DevOps团队表示,他们正在利用人工智能自动配置应用程序设置,以优化客户部署的性能。
(7) 基于机器学习的代码漏洞检测能够可靠发现异常并实时警告DevOps团队。
CheckMaRx公司的首席技术官Maty SiMan表示,如果组织的开发人员正在编写高质量和安全的代码,机器学习可以建立正常活动的基准,从而识别和标记异常。在快速变化的IT和安全环境中,要求系统和工具能够以相同甚至更快的速度学习和适应。组织和开发人员不能单靠个体努力来提高威胁检测的准确性,因此需要有效的解决方案来帮助他们优先处理关键事项。快速发现异常并采取措施,是构建基于人工智能的软件质量检查和DevOps工具的重要组成部分。
(8) 高级DevOps团队正在利用人工智能分析和发现所有开发工具、应用程序性能监控(APM)、软件质量保证和发布周期系统的新见解。
一家领先的供应链管理(SCM)企业软件提供商的DevOps团队正在利用人工智能分析为何某些项目顺利推进并提供卓越代码,而其他项目则陷入持续审查和代码重写的困境。通过使用有监督的机器学习算法,他们能够识别模式并深入了解数据。该公司DevOps负责人表示,以数据为驱动力正在迅速融入其文化。
(9) 改进每个发布周期内的可追溯性,以识别DevOps协作和数据集成工作流中的改进领域。
人工智能使DevOps团队能够更好地协调合作,尤其是在远程工作环境中。人工智能驱动的洞察力有助于了解共享需求和规范如何反映本地化、独特的客户需求以及特定性能基准。
(10) 创建能够最大化人工智能价值的集成DevOps战略,依赖于框架,这些框架能够使DevOps以客户为中心,同时提高敏捷性并培养数据驱动的文化,以获得运营洞察力。
许多DevOps领导者认为,将安全性融入开发周期可以减少瓶颈,从而确保项目按计划进行。能够将质量保证整合进DevOps工作流程的框架至关重要。人工智能的多种应用表明了其对DevOps革新的潜力。然而,实现这一承诺需要一个能够支持企业DevOps团队提供卓越客户体验和自动化客户交易的框架。
结论
所有DevOps团队都面临着在加速开发周期的同时确保产生高质量代码的挑战。人工智能通过预测开发人员在提出需求前可能需要的功能,帮助他们加快DevOps开发周期的每个阶段。自动建议代码、自动化测试提升软件质量保证技术,以及简化需求管理,都是人工智能为DevOps创造价值的核心领域。
[[[IMG_1]]]
[[[IMG_2]]]
[[[IMG_3]]]
