新的AWS服務優化應用開發流程

新的AWS服務優化應用開發流程

2024.04.18

亞馬遜網絡服務(AWS)總是忙於推出新服務、增強現有服務,而且往往還引領趨勢。然而,這家雲服務提供商在最近幾個月更是提升了自己的遊戲水平。

在2020年上半年,AWS宣布了大量令人驚訝的發展,使技術互操作性變得更簡單,簡化了遺留功能的移除,為開發者創造了更大的靈活性和節省時間,並將新能力放在用戶手中。

AWS和ARM動力

你將會聽到很多關於ARM處理器架構的討論,不僅僅是因為這家芯片製造商正在被GPU的領先製造商Nvidia收購。

ARM處理器在1980年代開發,終於在公司開始擁抱基於ARM的芯片時迎來了輝煌時刻。基於ARM的處理器結合了高性能的RISC設計、較低的製造成本和降低的功耗,使其非常適合於便攜設備,如智能手機、平板電腦甚至筆記本電腦。越來越多的公司開始設計實現ARM架構的處理器,包括蘋果、AppliedMicro、博通、高通和三星電子。今年,蘋果將ARM芯片帶入桌面世界,配備了如內置安全固件、運動協處理器和神經引擎等特定擴展。

AWS是那些擁抱ARM架構的公司之一,這導致推出了一系列強大的服務,這些服務將使開發人員和最終用戶都受益。一個典型的例子:這個夏天,AWS宣布了其第六代亞馬遜彈性計算雲(Amazon EC2)實例的一般可用性,包括通用型(M6g)、計算優化型(C6g)和內存優化型(R6g)實例。由AWS設計的基於ARM的Graviton2處理器提供動力,與相應的當代基於x86的實例相比,它們提供了高達40%更好的價格/性能比。

它們還提供了與相應x86基礎實例相比每虛擬CPU的50%更多的NVMe SSD存儲GB。本地SSD存儲非常適合需要高速、低延遲存儲的應用,以及臨時數據存儲,如批處理和日誌處理、高速緩存和臨時文件。

這些實例非常適合從應用服務器、微服務和高性能計算到基於CPU的機器學習推理、電子設計自動化和遊戲等工作負載。許多組織已經成功採用了基於ARM的實例,並且正在實現價格/性能的優勢。

AWS基於Graviton的實例得到了來自獨立軟件供應商(ISVs)以及AWS的廣泛操作系統和服務生態系統的支持。它們可以作為按需購買、預留或現貨實例;涵蓋儲蓄計劃或作為專用主機/實例購買,並支持高達19 Gbps的Elastic Block Store (EBS)帶寬。

AWS Graviton2處理器本身,於2019年底發布,也值得關注。與第一代基於ARM的Graviton處理器相比,它們為科學和高性能計算工作負載提供了每核兩倍的浮點性能。它們還提供了針對更快機器學習推理的優化指令,始終加密的DDR4記憶體以及每核50%更快的加密性能,進一步增強了安全性。

許多AWS服務,如Amazon Elastic Load Balancing、Amazon ElastiCache和Amazon Elastic Map Reduce,在測試中實現了超凡的價格/性能比,並將在基於Graviton2的實例上投入生產。

更好、更簡單的工件管理

AWS不是唯一選擇ARM的組織。隨著許多其他組織準備進行轉換,AWS正在努力促進這一轉換過程。這包括部署簡化應用開發過程各個方面的服務,符合基於ARM芯片提供的效率和性能提升。

我們最感興奮的一項服務是AWS CodeArtifact。這是一項全面管理的軟件工件倉庫服務,消除了設置、運營和擴展工件管理所需基礎設施的需要。它與常用的包管理器和工具(如Maven和Gradle(Java)、npm/yarn(JavaScript)和pip/twine(Python))兼容,因此可以輕鬆集成到現有的開發工作流中。

AWS CodeArtifact可用於創建集中倉庫,共享跨開發團隊批准使用的軟件包。它與AWS Identity and Access Management (IAM)的集成,使訪問控制成為可能。其對AWS CloudTrail的支持提供了對哪些包正在使用以及它們在哪裡可以輕鬆更新或移除的可見性。

AWS讓容器化更簡單

使用容器來現代化現有應用,使它們可移植,增加開發敏捷性並降低運營成本。問題是這個過程需要許多手動任務,這些任務既耗時又容易出錯,減緩了現代化努力。

這就是為什麼我們認為另一項最近部署的AWS服務將對應用開發過程產生積極影響。AWS App2Container是一個命令行工具,幫助將現有運行在本地、Amazon EC2或其他雲中的應用容器化,無需修改代碼。

App2Container發現服務器上運行的應用,識別它們的依賴關係,並生成相關工件,無縫部署到Amazon ECS和Amazon EKS。它還提供了與AWS CodeBuild和AWS CodeDeploy的集成,為構建和部署容器化應用提供了一種可重複的方式。

AWS App2Container生成諸如Dockerfiles、Amazon Elastic Container Registry (ECR)中的容器圖像、ECS任務定義、Kubernetes部署YAML、在AWS CodePipeline中設置構建/發布管道的模板等工件。

它還可用於容器化在Windows上IIS 7.5+運行的ASP.NET(.NET 3.5+)Web應用以及在Linux上運行的Java應用。

代碼審查與優化

今年夏天推出的另一個實用工具是Amazon CodeGuru。這套由機器學習驅動的工具,可以自動審查代碼中的錯誤並建議可能的優化。它包含兩個組件:

自助開發

我們還想提到的另一項最近發布的AWS服務是Amazon Honeycode。這個工具有潛力為客戶節省大量時間。這款全面管理的低代碼/無代碼開發工具,使得無需編程就能輕鬆快速構建功能強大的移動和網絡應用變得簡單。

客戶可以使用簡單的視覺應用構建器創建高度互動的網絡和移動應用,這些應用背後由AWS構建的數據庫支持,用於執行跟踪隨時間變化的數據和通知用戶變更等任務。他們可以在幾分鐘內開始創建應用,並且可以免費為最多20位用戶構建應用。之後,他們根據每位用戶以及消耗的存儲容量付費。

AWS接下來的是當下

AWS持續開發和部署讓應用開發更加簡單和成本效益更高的服務。你可以利用這些新服務來創新更多、更快地進入市場、產生顯著的成本節省等等。

相關文章