Amazon CodeGuru

藉助採用 ML 技術的建議自動執行程式碼審查和優化應用程式效能

找出最昂貴的程式碼行並提高程式碼品質

Amazon CodeGuru 是一種開發人員工具,能針對增進程式碼的品質提供智慧型建議,並且找出應用程式之中最昂貴的程式碼行。將 CodeGuru 整合至現有的軟體開發工作流程中,即可在應用程式開發期間自動執行程式碼審查,持續監控生產中的應用程式效能,提供建議和視覺化線索以提高程式碼品質和應用程式效能,同時降低總體成本。

CodeGuru Reviewer 使用機器學習來識別應用程式開發過程中的關鍵問題、安全漏洞和難以發現的錯誤,以提高程式碼品質。 進一步了解 »

CodeGuru Profiler 可透過協助開發人員了解應用程式執行階段的行為模式來識別最昂貴的程式碼行,同時可找出程式碼無效率處並加以移除,提升效能,並且大幅降低運算成本。 進一步了解 »

Introduction to 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 Security Detector 利用機器學習技術和 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 或顯示延遲增加—每 5 分鐘更新一次異常偵測報告。這種早期偵測和通知可防止生產中的問題升級,並為您提供足夠的時間來修復問題,以免影響其服務可用性和客戶體驗。

立即擷取最昂貴的程式碼行

 
您的程式碼和應用程式越高效,執行成本就會越低。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,我們管理一百多種企業軟體產品中超過六億行程式碼。未來路線圖的關鍵組成部分是將我們的所有產品轉變為雲端原生產品,以充分利用 AWS 上令人難以置信的一系列受管服務。重建舊的、內部部署架構並將其轉變為雲端,這會帶來一系列工程挑戰,包括跟上所有最新服務的步伐,以及適應與這些架構相關的範式轉移。Amazon CodeGuru 是一種非常有價值的工具,有助於最佳化我們產品的效能,同時確保充分利用這些服務並實作所有最佳實務。若沒有 Amazon CodeGuru Reviewer 這類工具,我們無法將 FogBugz 之類的整個產品重寫為 AWS 雲端原生。我們現正使用 Amazon CodeGuru Profiler 來最佳化許多產品,包括 EngineYard 的容器型 'No Ops' 平台,以及新一代 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 為開發人員和營運者提供了一種更簡單的方法來衡量和改善應用程式的操作效能和可用性。

Standard Product Icons (Features) Squid Ink
查看 Amazon CodeGuru 功能

瀏覽功能頁面。

進一步了解 
Sign up for a free account
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
Standard Product Icons (Start Building) Squid Ink
開始在主控台進行建置

開始在 AWS 管理主控台使用 Amazon CodeGuru 進行建置。

登入