人工智能加快DevOps的10种方式

  • 时间:
  • 来源:网络

   

根据调研机构德勤公司在今年早些时候发布的一份调查报告,提供基于人工智能的软件开发工具的初创公司在2019年筹集了7.04亿美元的资金。

调研机构IDC公司预测,全球定制应用程序开发服务市场规模预计将从2018年的470亿美元增长到2023年的610亿美元以上,并在五年内实现5.3%的复合年增长率(CAGR)。 根据IT软件质量协会关于美国低质量软件成本的调查报告,低劣的软件质量使美国企业在2019年损失了3190亿美元。 调研机构Gartner公司表示,到2023年,40%的DevOps团队将使用集成了人工智能的IT运营(AIOps)平台的应用程序和基础设施监控应用程序。

为了减少DevOps团队所面临的延迟,软件开发工具提供商正在加快将人工智能和机器学习技术集成到其应用程序和平台中的步伐。其目标是在提高软件质量的同时,加快软件开发生命周期(SDLC)的每个阶段。好消息是其用例表明正在实现这些目标,从而使DevOps达到了更高的准确性、质量和可靠性水平。

人工智能加快DevOps的10种方式中最吸引人的地方是它在帮助开发人员完成困难的、耗时的任务方面十分有效。最耗时的任务之一是管理需求文档的许多迭代和版本。Atlassian ps公司开发的Jira软件是使用人工智能简化软件开发生命周期(SDLC)的每个阶段并帮助管理需求的行业领导者,它被广泛认为是DevOps领域的行业标准。

以下是人工智能加快DevOps的10种方式

(1) 依靠人工智能和机器学习实时自动提示代码段,以加快开发速度,从而提高DevOps的生产效率。

一些行业领先的企业软件厂商的DevOps团队在客户关系管理(CRM)、供应链管理和社交媒体市场上展开了激烈的竞争。他们表示,人工智能的这个用例是更有成效的,并且在准确性方面获得了更大的收益。一家行业领先的客户关系管理(CRM)提供商的DevOps负责人表示,最初使用人工智能自动完成代码的努力是徒劳的。她认为DevOps的开发工具提供商使用有监督的机器学习算法可以提高模型学习和响应代码请求的速度。微软的Visual Studio Intellicode目前已安装600万次以上,而这是DevOps团队将其列为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负责人表示,以数据为驱动力正迅速成为其DNA的一部分。

(9) 改进每个发布周期内的可追溯性,以找出DevOps协作和数据集成工作流中可以改进的地方。

人工智能使DevOps团队能够更好地相互协调,特别是在远程地理位置。人工智能驱动的洞察力有助于了解共享需求和规范如何反映本地化、独特的客户需求以及特定的性能基准。

(10) 创建可以使人工智能发挥最大价值的集成度更高的DevOps战略取决于框架,这些框架可以使DevOps以客户为中心,同时提高敏捷性并培育分析驱动的DNA,以获得对运营的洞察力。

很多DevOps领导者表示,将安全性集成到开发周期中可以减少瓶颈,这些瓶颈会阻碍按计划进行。能够将质量保证集成到DevOps工作流程中的框架是关键。人工智能的用例综合起来反映了革新DevOps的潜力。但是要兑现这一承诺,就需要一个框架,这一框架应使企业DevOps团队能够提供卓越的客户体验和自动化客户交易,并为各地的自动化提供支持。

结论

所有DevOps团队都面临着在加快开发周期的同时确保产生最高质量代码的挑战。人工智能通过在开发人员提出要求之前预测开发人员需要的东西,帮助他们加快DevOps开发周期的每个阶段。自动建议代码、自动化测试改进软件质量保证技术,以及简化需求管理都是人工智能为DevOps带来价值的核心领域。

新网箭头云服务器