本文是Ampere Computing“加速雲計算”系列文章的第二部分。您可以[此處](此處需替換為Part 1鏈接)閱讀第一部分。
將應用遷移到Ampere雲原生計算平台比您想像的要容易得多。這是因為大部分將應用程序重新部署到基於Arm的服務器的工作已經為您完成,或者只需重新編譯即可。
簡而言之,由於Ampere的雲原生處理器使用Arm指令集架構(ISA),因此在Arm上運行的軟件也能在Ampere上運行。在過去的五年裡,開源社區對Arm的支持呈指數級增長,湧現出各種各樣的新軟件和服務。例如,Redis、NGINX、Memcached、MySQL和Cassandra等應用程序已經提供了經過驗證的基於ARM的版本。
這對開發人員意味著什麼?公司使用的大部分軟件已經在雲端運行,或者很可能已經準備好用於雲原生環境。
操作系統(OS):幾乎所有可用的操作系統都已移植到Arm ISA,並在基於Arm的核心上運行。因此,Ampere的雲原生處理器支持雲中使用的主要操作系統的已發布版本。
為了進一步保證可靠性和性能,Ampere在其Ampere雲原生處理器上測試和驗證操作系統的公共鏡像和預打包應用程序。通過這種方式,開發人員可以確信他們的應用程序可以在Ampere上無縫運行。
預打包代碼:通常,應用程序的很大一部分是使用預打包的應用程序組件構建的。大多數這些應用程序(從MYSQL、PostgreSQL、Cassandra、NGINX和Squid到各種應用)的基於Arm的公共鏡像已經在Ampere雲原生處理器上進行了測試和驗證。因此,為雲原生計算平台準備應用程序的這一部分相對簡單:只需使用已提供的基於Arm的鏡像即可。無需複雜的移植或軟件重寫。
編譯型語言:一般來說,重新部署Web服務器時出現的大多數關鍵問題都源於需要編譯才能在Ampere上運行的代碼。對於使用Go、C和C 等語言編寫的代碼,重新部署過程需要一個額外的步驟,因為現有的二進製文件是為x86環境構建的。由於絕大多數編程語言都可以在Arm和x86上使用,因此大多數重新部署問題只需在Ampere構建節點上運行構建腳本即可生成正確的二進製文件。
內部/自定義:自定義應用程序可以分為四種類型:解釋型、高級、二進制和硬件特定型。
讓我們來看看將應用程序重新部署到Ampere雲原生處理器需要什麼。考慮一下Momento,它致力於提供大規模管理緩存的服務,這樣開發人員就不必自己管理了。 Momento Serverless Cache基於Pelikan構建,Pelikan是一個開源緩存引擎,最初是為Twitter的特定緩存需求而設計的。 Pelikan最近完全用Rust重寫了。 Momento希望將Pelikan重新部署到Google託管的基於Ampere的Tau T2A虛擬機上。
重新部署快速而無縫,無需更改任何代碼即可啟動並運行Pelikan和Momento Serverless Cache。此外,Momento團隊能夠實現一些簡單的優化(無需代碼調整),從而快速將吞吐量提高三倍。我們將在本系列的第四部分詳細介紹您可以期待的性能優勢。
另一個重新部署示例是Plesk。 Plesk的軟件使人們能夠通過中央控制面板管理Web基礎設施。 Plesk業務發展和戰略聯盟高級副總裁Lukas Hertig描述了他自己重新部署過程的經驗。 “最初我有一個瘋狂的想法,就是有一個Arm版本。幾週後,我的工程團隊回來告訴我,‘哦,它現在可以用了。’比平時快得多!”
Plesk服務於SMB領域,在該領域,選擇雲原生並非顯而易見。但Hertig表示,在重新部署後不久,“我們在生產環境中已經超過了1000個Arm實例。”底線:Arm和開源社區在開發和擴展Arm雲生態系統方面做得非常出色。當然,將您的應用程序重新部署到雲原生計算平台的複雜性取決於您從哪裡獲取代碼。但是,一般來說,將大多數應用程序重新部署到雲原生處理器的投資是最小的,因為80-90%的應用程序只需要重新編譯即可。
在本系列的第三部分,我們將進一步探討雲原生重新部署過程。
以上是加速雲:投資雲的詳細內容。更多資訊請關注PHP中文網其他相關文章!