Amazon CodeGuru

利用 ML 支持的建议自动执行代码审查并优化应用程序性能

查找最昂贵的代码行并改进代码质量

Amazon CodeGuru 是一种开发人员工具,可提供智能建议以提高代码质量并确定应用程序中最昂贵的代码行。在您现有的软件开发工作流程中集成 CodeGuru 以在应用程序开发过程中自动执行代码审查、持续地监控应用程序在生产中的性能、提供改进代码质量和应用程序性能的建议和直观线索,并降低总体成本。

CodeGuru Reviewer 使用机器学习来识别应用程序开发过程中的严重问题、安全漏洞和难以发现的错误,从而提升代码质量。 了解更多 »

CodeGuru Profiler 可以帮助开发人员了解应用程序的运行时行为、识别和消除代码效率低下、提高性能并显着降低计算成本,从而准确地找出应用程序中最昂贵的代码行。 了解更多 »

Amazon CodeGuru 简介 (2:20)

工作原理

在您的开发管道中集成 CodeGuru Reviewer 和 Profiler 以提高代码质量和优化应用程序性能
Amazon CodeGuru 工作原理

Amazon CodeGuru Reviewer

CodeGuru Reviewer 可找出 Java 和 Python(目前提供预览版)代码中的问题,并就如何修复问题提出建议。CodeGuru Reviewer 由数十年的知识和经验进行训练,它可以使用机器学习、AWS 和安全最佳实践以及从对数以千计的开源和 Amazon 存储库进行的数百万次代码审查中总结出来的经验教训。

要开始审查代码,您可以将 GitHub、GitHub Enterprise、Bitbucket 或 AWS CodeCommit 上现有的代码存储库与 CodeGuru 相关联。

优势

在影响生产之前就揪出代码问题

对于代码审查,开发人员将其代码提交到 GitHub、GitHub Enterprise、Bitbucket Cloud 和 AWS CodeCommit,然后将 CodeGuru Reviewer 添加为代码审查者之一即可,无需对常规开发流程进行任何其他更改。CodeGuru Reviewer 分析存储库中的现有代码,以高准确度识别难以发现的错误和严重问题,提供有关如何修复的智能建议,并为后续代码审查创建基准。

修复安全漏洞

 
CodeGuru Reviewer 安全检测器利用机器学习和 AWS 多年的安全经验提高您的代码安全。 它可找出前 10 大 OWASP 类别的安全漏洞,帮助您的代码遵从 KMS、EC2 API 以及常见 Java 加密和 TLS/SSL 存储库的最佳实践。当安全检测器发现问题时,它将提出修复建议并解释为什么建议这种代码改进,从而使安全工程师能够将注意力放在架构和安全特定的安全最佳实践上。

通过持续监控主动改进代码质量

对于发起的每个拉取请求,CodeGuru Reviewer 会自动分析增量代码变化,并将建议直接发布在拉取请求上。此外,它还支持完整存储库或代码库扫描以便定期进行代码维护,并通过代码尽职调查举措确保您的代码质量保持一致。

Amazon CodeGuru Profiler

CodeGuru Profiler 可优化在生产期间运行的应用程序的性能,识别出最昂贵的代码行。它不断在探求应用程序性能优化,推荐修复这些问题的方法以降低 CPU 使用率、减少计算成本和提高应用程序性能。

您可以优化在 Amazon EC2、Amazon ECS、AWS Fargate、Amazon EKS、AWS Lambda 上或本地运行的任何应用程序的性能。

优势

排查性能问题

CodeGuru Profiler 分析应用程序的运行时数据以帮助您提高 CPU 和内存使用率,并排查性能问题,从而减少延迟,提高吞吐量。它在生产中持续运行,对 CPU 使用率产生的开销微乎其微。通过堆摘要,您可以查清是什么耗尽了内存。

发现生产性能中的异常和常见问题

CodeGuru Profiler 自动检测应用程序堆栈中关键方法的性能异常,这些异常通常会开始消耗更多 CPU 或呈现出延迟增加 — 通过每五分钟更新一次的异常检测报告。这种早期检测和通知功能可以防止生产中问题的升级,并为您提供足够的时间来解决问题,以免影响服务可用性和客户体验。

立即找出最昂贵的代码行

 
代码和应用程序越高效,其运行成本越低。CodeGuru Profiler 提供关于如何修复性能问题的可视画面和建议,帮助您将生产中运行的任何应用程序的运营成本降低多达 50%。它还可显示运行低效代码的估计成本,因此开发人员可以确定解决的优先顺序。

要了解关于 CodeGuru 的更多信息,请访问 Amazon CodeGuru 开发人员论坛

客户成功案例

Atlassian

“超过 170,000 家公司的团队依靠 Atlassian 产品来简化团队合作,帮助他们组织、讨论和完成工作。在 Atlassian,我们的许多服务每次部署都有 100 多个签入位置。尽管我们开发团队的代码审查在防止错误进入生产方面做得很好,但并非总是能够预测出系统在压力下的行为表现或系统如何管理复杂的数据形状,在每天需要进行多次部署的情况下更是如此。”

Atlassian 技术团队工程主管 Zak Islam

了解 Atlassian 如何使用 CodeGuru Profiler 在生产中分析服务 »

 

EagleDream

“创建高性能系统以及提供对现有系统的反馈和持续改进是应用程序开发的一部分。应用程序开发始于强大的体系结构基础,但通常要以应用程序代码的细节为终点。当 EagleDream 的团队深入研究这些细节时,我们发现了许多可以使用的工具,我们还发现同时使用静态和动态分析非常有帮助。我们发现,Amazon CodeGuru Profiler 提供的运行时分析是运行最简单、最快速的方法之一,它还可以生成对应用程序代码的见解,用于轻松修复代码。借助此工具,我们能够快速解决应用程序中产生的难以发现的瓶颈部分,然后开发出可以通过快速反馈循环进行实施和测试的更改。这使我们能够不断交付和改善自身与客户的工作负载,使工作负载更加高效,同时节省成本。”

EagleDream 首席云解决方案架构师 Dustin Potter

了解 EagleDream 如何使用 CodeGuru Profiler 优化应用程序 »

DevFactory

“在 DevFactory,我们管理着一百多种企业软件产品中的超过 6 亿行代码。我们未来路线图的一个重要组成部分是将所有产品转变为云原生产品,以利用 AWS 上的一系列出色的托管服务。对旧式的本地体系结构进行重新构建并将其转换到云中,将带来一系列工程挑战,从与所有最新服务保持同步到适应与这些体系结构相关的范式转变。Amazon CodeGuru 是一款极为有价值的工具,可帮助优化我们产品的性能,同时确保我们在利用这些服务时能够借鉴现有的全部最佳实践。如果没有像 Amazon CodeGuru Reviewer 这样的工具,我们就无法将像 FogBugz 这样的产品整个重新编写为 AWS 云原生产品。我们现在正在使用 Amazon CodeGuru Profiler 来优化许多产品,包括 EngineYard 基于容器的“无运营”平台以及下一代 Jive 协作平台。”

DevFactory 首席执行官 Rahul Subramaniam

了解 DevFactory 如何使用 CodeGuru 构建更好的应用程序 »

博客和文章

2020 年 12 月 4 日
Ran Fu、Pierre Marieu 和 Neela Sawant
2020 年 12 月 1 日
Brian Farnhill
 
2020 年 9 月 10 日
Kazuma Ohara 和 Yumiko Kanasugi
Amazon DevOps Guru

Amazon DevOps Guru

DevOps Guru 为开发人员和操作人员提供了简单的方法来衡量和提高应用程序的运行性能和可用性。

Product-Page_Standard-Icons_01_Product-Features_SqInk
查看 Amazon CodeGuru 的功能

访问功能页面。

了解更多 
Sign up for a free account
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Standard Product Icons (Start Building) Squid Ink
开始在控制台中构建

在 AWS 管理控制台中,使用 Amazon CodeGuru 开始构建。

登录