Press "Enter" to skip to content

亚马逊基于机器学习的DevOps自动化利器产品介绍

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

尽管编程语言已经发生了巨大的发展,但它们的核心仍​​然有一个主要的共同点:让计算机以最有效和最无错误的方式实现目标。现代语言在许多方面使开发变得更加容易,但是在我们实际检查各个代码行以使它们无错误的方式方面,并没有太大改变。在提高代码质量,提高性能和降低运营成本方面所做的工作甚至更少。

 

在构建和发布计划曾经减慢了开发人员发布新功能的时间的情况下,云通过提供逐步的功能来加快构建,测试和部署代码的速度,从而加速了这一过程。现在,新功能将在数小时(而不是数月或数年)内交付,并在最终用户准备好后立即交给他们。通过IT和软件开发团队如何协作交互和建立最佳实践的新范例,许多事情成为可能:DevOps。

 

尽管DevOps技术在过去5年中有了长足的发展,但它仍然具有挑战性。与并发性,安全性或敏感信息处理相关的问题需要专家评估,并且经常会跳过现有的机制,例如对等代码审查和单元测试。即使对于可以投资于专家代码审查员的开发人员的组织而言,步调软件的开发也是要创建复杂且大量的代码,而这些代码很难手动审查。采样始终是随机的,并且不能保证此手动过程会拾取所有(甚至大部分)相关的错误或性能问题。这最终导致技术债务增加和不良的客户体验。

 

使用机器学习驱动的专家构建和操作

 

意识到了这些挑战,AWS正在使用最新技术彻底革新DevOps和它周围的工具链,代码、日志和应用程序指标代表着数据,我们可以用机器学习(ML)优化。

 

代码审查是一个示例,对于提高软件质量,软件安全性以及在使用关键代码库的团队中增加知识转移非常重要。Amazon CodeGuru Reviewer于2020年6月全面上市,它使用ML和自动推理功能在应用程序开发过程中自动识别关键问题,安全漏洞和难以发现的错误。

 

CodeGuru Reviewer还向开发人员提供有关如何解决问题的建议,以提高代码质量,并显着减少在将bug送达面向客户的应用程序并导致不良体验之前,修复bug所需的时间。为了使它易于使用,开发人员的常规代码审查过程没有任何变化-团队只需将CodeGuru添加到其现有的开发管道中,以节省时间并减少拥有不良代码的成本和负担。这些工具使客户能够变得更加敏捷,创新更快,并为他们的客户提供最佳体验。开发人员实际上可以专注于自己喜欢做的​​事情-发明和建造。自发布以来,Reviewer已扫描了超过2亿行代码,并为开发人员提供了165,000条修复建议。

 

查找您的应用程序中最昂贵的代码行

 

代码审查只是DevOps故事的一部分。最佳实践的另一个方面是测试和生产中的应用程序配置文件。对性能问题进行故障排除,发现和查明异常以及捕获不必要地消耗计算资源的代码行可能是一个高度手动且耗时的过程。传统的应用程序分析还错过了难以找到的代码块,这些代码块导致尚未发现的问题。CodeGuru Profiler通过帮助开发人员了解其应用程序的运行时行为,识别和消除代码效率低下,提高性能并降低计算成本来补充CodeGuru Reviewer的自动代码审查。简而言之,CodeGuru Profiler可帮助您确定最昂贵的代码行。亚马逊的内部团队已在30多个平台上使用了Amazon CodeGuru Profiler。

 

CodeGuru的目标是超越传统的手动代码审查和应用程序分析方法,以利用ML引入关于DevOps的新思维方式。CodeGuru通过利用由ML支持的见解提供支持的连续反馈循环,帮助开发人员进行主动而不是被动的学习,最终使他们成为更好,更高效的编码人员。通过降低部署风险并促进新功能的更快交付,开发人员可以更好地维护高质量的客户体验。

 

扩展功能以开发DevOps的新时代

 

借助CodeGuru,我们已经深入了代码审查和应用程序配置文件的自动化,但是我们还需要做更多的工作来转变DevOps。我们最近推出的另一项服务是Amazon DevOps Guru。DevOps Guru在基础架构级别运行,以进一步增强和自动化DevOps。该服务分析应用程序指标,日志,事件和跟踪之类的数据,以建立基准操作行为,然后使用ML检测异常。

 

DevOps Guru的伟大之处在于,既定行为的基准不是静态的,并且能够识别度量标准中彼此基本不同但组合在一起的失败最终会影响应用程序的可用性和性能(例如,延迟和传入的请求)。该服务使用经过预先训练的ML模型,这些模型能够识别应用程序请求中的峰值,它通过具有将指标关联和分组以了解那些指标之间的关系的能力来做到这一点,因此它知道何时发出警报以及何时不发出警报。

 

DevOps Guru是我们帮助解决这一问题的一种方式:减少误报,识别具有高置信度警报的问题,然后提供有关如何在问题变得严重之前解决问题的建议。严重的停机,昂贵的停机时间和糟糕的客户体验。

 

与CodeGuru一样,DevOps Guru的一大优点是不需要ML专业知识。它将提供建议,甚至包括解决问题的文档的链接,而无需深厚的专业知识。

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注