AWS 應用機器學習優化雲端部署

AWS 應用機器學習優化雲端部署

2024.06.05

亞馬遜雲端服務(AWS)在本週的reinvent 2019大會上,推出了兩種基於機器學習演算法的工具,用於優化雲端應用程式部署。

Amazon CodeGuru是一項預覽服務,亞馬遜將透過機器學習演算法檢查應用程式代碼,分析代碼並找出效能瓶頸,以及哪部分代碼在AWS雲端執行時最耗資源。

與此同時,AWS Compute Optimizer則能識別出適合特定工作負載的最佳Amazon EC2執行個體類型,包括屬於自動調整群組的執行個體。它會分析工作負載的配置和資源使用率,包括歷史指標,找出數十種特性,以建議最佳AWS運算資源。AWS Compute Optimizer可透過AWS管理主控台存取。與其仰賴人類來優化雲端平台,AWS主張減少決定哪種執行個體類型能以最低成本提供最佳效能所需的時間和精力。

Amazon CloudGuru可從GitHub或CodeCommit存放庫拉取程式碼,並計劃支援其他存放庫。開發人員需要將AWS開發的代理軟體插入程式碼中。一旦提出Pull Request,Amazon CodeGuru將自動開始使用經過訓練的人工智慧(AI)模型評估程式碼,這些模型是AWS和其母公司從數千個不同的開源軟體專案中收集的資料所開發的。

分析完成後,Amazon CodeGuru將產生一個”火焰圖”,顯示例如延遲問題和CPU使用率,並附上人類可讀的建議,揭露特定問題和建議的修正方式,包括範例程式碼和任何一行程式碼的相關文件連結。Amazon CodeGuru可每五分鐘觀察應用程式執行情況並分析應用程式程式碼。

AWS執行長Andy Jassy告訴與會者,亞馬遜已在80,000個應用程式中採用Amazon CodeGuru,導致基礎架構使用率在某些情況下高達325%的提升。

雖然機器學習演算法在幫助DevOps團隊建置和部署更有效的程式碼方面扮演明確角色,但DevOps團隊願意在何種程度上將這些通常高度專有的應用程式交給AWS存取,則仍未明朗。許多DevOps團隊可能更願意在持續整合/持續部署(CI/CD)環境中採用機器學習演算法,將程式碼推送至多個雲端運算平台。無論採取何種方式,顯然機器學習演算法即將在DevOps中扮演更重要的角色。事實上,Jassy本週表示,AWS將廣泛應用機器學習演算法來增強企業搜尋和識別潛在詐欺等各種功能。

不太清楚的是,DevOps實務將需要如何演進以因應機器學習演算法。DevOps工具鏈中的許多流程正在日益自動化。這並不會消除對工具鏈的需求,但將大幅減少建置和最佳部署應用程式所需的時間和精力。

相關文章