omniture

AWS宣布面向大眾推出Amazon CodeGuru

Amazon CodeGuru Reviewer使用機器學習來確定應用程序開發(fā)過程中的關(guān)鍵問題和難以發(fā)現(xiàn)的錯誤,以提升代碼質(zhì)量
Amazon CodeGuru Profiler可優(yōu)化在生產(chǎn)環(huán)境中運行的應用程序的性能,并確定最昂貴的代碼行,將運營成本降低高達50%
AWS
2020-07-03 10:00 13026

北京2020年7月3日 /美通社/ -- 亞馬遜(Amazon.com) (NASDAQ: AMZN)旗下公司Amazon Web Services Inc.(簡稱“AWS”)近日宣布面向大眾推出機器學習支持的開發(fā)人員工具Amazon CodeGuru,為提高代碼質(zhì)量和確定應用程序中最昂貴的代碼行提供智能建議。Amazon CodeGuru Reviewer通過掃描關(guān)鍵問題、找出錯誤以及為如何修復這些問題提供建議來幫助提升代碼質(zhì)量。Amazon CodeGuru Profiler幫助開發(fā)人員發(fā)現(xiàn)應用程序中最昂貴的代碼行,并提供關(guān)于如何改進代碼節(jié)約成本的特定可視化和建議??蛻糁恍柙贏WS控制臺點擊數(shù)下即可使用Amazon CodeGuru,并僅需按Amazon CodeGuru的實際使用量付費。Amazon CodeGuru非常簡單且經(jīng)濟實惠,適用于機構(gòu)運行的每個代碼審查和應用程序。請訪問:http://aws.amazon.com/codeguru使用Amazon CodeGuru。

和亞馬遜一樣,AWS的客戶也編寫很多代碼。軟件開發(fā)是一個很好理解的過程,開發(fā)人員編寫代碼,然后審查、匯編代碼并部署應用程序,測量應用程序的性能,并使用這些數(shù)據(jù)來改進代碼。然后,他們排除錯誤代碼,并不斷重復這些操作。然而,如果一開始代碼就是不正確的,那么所有這些過程都變得毫無意義,這就是為什么團隊在將新代碼添加到現(xiàn)有應用程序代碼庫之前要執(zhí)行代碼審查來檢查邏輯、語法和樣式。哪怕是亞馬遜這樣的大型機構(gòu)也會面臨這樣一項挑戰(zhàn):考慮到每天都會編寫大量的代碼,需要擁有足夠豐富經(jīng)驗的開發(fā)人員可以有足夠空閑的時間來進行代碼審查。而即使最有經(jīng)驗的審查人員也可能會忽略影響到客戶應用程序的問題,從而導致錯誤和性能問題。應用程序啟動和運行后,開發(fā)人員仍然需要監(jiān)測性能,確保其高效運行。通常情況下,開發(fā)人員通過日志記錄來監(jiān)測應用程序性能,這樣他們可以觀察應用程序完成任務需要多少時間。然而,日志記錄執(zhí)行起來很麻煩(要求開發(fā)人員對應用程序的每一項函數(shù)進行測試),會對應用程序性能產(chǎn)生負面影響,并且不能衡量影響計算成本的CPU利用率等指標,從而使開發(fā)人員缺少工具來有效確定生產(chǎn)環(huán)境中應用程序的成本節(jié)省機會。運行需要進一步優(yōu)化的應用程序,通常會給組織帶來不必要的額外成本(有時高達數(shù)千萬美元),這是因為這些應用程序的CPU和基礎設施消耗量比本應消耗的要多。

Amazon CodeGuru是一項新的開發(fā)人員服務,使用機器學習來自動化應用程序開發(fā)期間的代碼審查和生產(chǎn)環(huán)境中應用程序的分析。Amazon CodeGuru的兩個組件是:

  • 代碼審查工具:開發(fā)人員可以使用機器學習支持的Amazon CodeGuru Reviewer自動標記偏離最佳實踐的常見問題(可能導致生產(chǎn)問題),同時還提供關(guān)于如何修復這些問題的具體建議,包括示例代碼和相關(guān)文檔鏈接。對于代碼審查,開發(fā)人員像平常一樣將代碼提交給他們選擇的代碼托管服務(如GitHub、GitHub Enterprise、Bitbucket Cloud、AWS CodeCommit),并添加Amazon CodeGuru Reviewer作為代碼審查工具之一,無需對正常開發(fā)程序做出其他更改。Amazon CodeGuru Reviewer對存儲庫中的現(xiàn)有代碼進行分析,以高精確度發(fā)現(xiàn)難以找到的錯誤和關(guān)鍵問題,提供關(guān)于如何修復這些問題的智能建議,并為連續(xù)的代碼審查奠定基礎。為此,Amazon CodeGuru Reviewer打開一個拉取請求,自動開始使用機器學習模型來評估代碼,這些模型基于亞馬遜數(shù)十年的代碼審查經(jīng)驗和GitHub上的一萬多個開源項目進行訓練。如果Amazon CodeGuru Reviewer發(fā)現(xiàn)了一個問題(如線程安全問題、使用未經(jīng)殺毒的輸入、不適當?shù)靥幚砻舾袛?shù)據(jù),如憑證、資源泄漏、冗余復制和粘貼代碼、偏離使用Java和AWS API的最佳實踐等),它將在拉取請求中添加一個人類可讀的注釋,標識代碼行、具體問題和修復建議。Amazon CodeGuru Reviewer還提供拉取請求儀表盤,列出所有代碼審查的信息(如代碼審查狀態(tài)、分析的代碼行數(shù)和建議的數(shù)量)。用戶也可以通過點擊向上或向下圖標來提供有關(guān)CodeGuru Reviewer建議的反饋,這將有助于隨著時間的推移使用機器學習來改進建議。
  • 應用程序分析工具:開發(fā)人員可以使用機器學習支持的Amazon CodeGuru Profiler來識別最昂貴的代碼行(預估可能節(jié)省的成本),幫助他們了解應用程序的運行時間行為(包括通過AWS Lambda或AWS Fargate運行的無服務器應用程序),識別和消除代碼低效性,提高性能,并顯著降低計算成本。例如,亞馬遜的內(nèi)部團隊在3萬多個生產(chǎn)應用程序上使用了Amazon CodeGuru Profiler,從而節(jié)省了數(shù)千萬美元的計算和基礎設施成本。此外,2017年至2018年,亞馬遜消費者業(yè)務支付團隊使用Amazon Code Guru Profiler在一年一度的購物狂歡日——Prime Day -- 提高了效率,并將應用程序的CPU利用率提高了325%,成本降低了39%。想要開始使用Amazon CodeGuru Profiler,客戶只需在應用程序中安裝一個小型低配置代理,便可以觀察應用程序的運行時間,并配置應用程序以檢測代碼質(zhì)量問題(如重新創(chuàng)建昂貴對象、使用低效庫、評估空值或未定義值等)以及延遲和CPU利用率的詳細情況。然后,Amazon CodeGuru Profiler使用機器學習來自動識別代碼方法(可重復使用的代碼塊,也稱為函數(shù))以及對延遲和CPU利用率影響最大的異常行為。這些信息匯集在一個配置文件中,清楚地顯示了最低效的代碼領域,并提供識別正在產(chǎn)生瓶頸的編碼方法的可視化,以及檢測到的異常的時間序列圖。配置文件包括關(guān)于開發(fā)人員如何解決問題提高性能的建議,并估計繼續(xù)運行低效代碼的成本(以美元計),以便開發(fā)人員可以優(yōu)先考慮修復。開發(fā)人員現(xiàn)在可以利用與亞馬遜部署的相同技術(shù)來提高應用程序性能和客戶體驗,同時消除最昂貴的代碼行。

Amazon Web Services, Inc.亞馬遜機器學習副總裁Swami Sivasubramanian表示:“我們的客戶開發(fā)和運行許多應用程序,這些應用程序由數(shù)百萬行代碼組成。確保代碼的質(zhì)量和效率非常重要,因為哪怕只有幾行代碼出現(xiàn)錯誤和低效,機構(gòu)也付出非常大的代價。目前,發(fā)現(xiàn)代碼質(zhì)量問題的方法是人工進行的,非常耗時且容易出錯,特別是在有大量代碼需要審查時。CodeGuru結(jié)合亞馬遜數(shù)十年大規(guī)模開發(fā)和部署應用程序的經(jīng)驗以及大量的機器學習專長,為客戶提供服務,提高他們的軟件質(zhì)量,提高他們的應用程序性能,并幫助他們消除最昂貴的代碼行?!?/p>

Amazon CodeGuru今天在美國東部的北弗吉尼亞州和俄亥俄州、美國西部的俄勒岡州、歐盟的愛爾蘭、倫敦、巴黎和斯德哥爾摩以及亞太區(qū)的新加坡、悉尼和東京面市,接下來的幾個月還將在其他更多地方面市。

消息來源:AWS
相關(guān)股票:
NASDAQ:AMZN
China-PRNewsire-300-300.png
全球TMT
微信公眾號“全球TMT”發(fā)布全球互聯(lián)網(wǎng)、科技、媒體、通訊企業(yè)的經(jīng)營動態(tài)、財報信息、企業(yè)并購消息。掃描二維碼,立即訂閱!
collection