目錄
項目
挑戰
部署
結果
首頁 科技週邊 IT業界 Amadeus雲遷移在Ampere Altra實例上

Amadeus雲遷移在Ampere Altra實例上

Feb 09, 2025 pm 12:02 PM

Amadeus Cloud Migration on Ampere Altra Instances

(本文最初由Ampere Computing發表)

您可能不熟悉Amadeus,因為它是一家B2B公司……但當您在互聯網上搜索航班或酒店時,您很有可能在幕後使用了Amadeus支持的服務,Amadeus雲架構師Didier Spezia如是說。

Amadeus是一家全球領先的旅遊IT公司,為旅遊業的眾多參與者提供支持:航空公司、酒店連鎖店、旅行社、機場等。 Amadeus的業務之一是為旅行社和Kayak或Expedia等公司提供航班搜索和定價服務。 Amadeus還支持更高級的功能,例如基於預算的查詢和日曆約束查詢,這些功能需要預先計算多維索引。在眾多航空公司中搜索具有可用座位的合適航班非常困難。

獲得最佳解決方案被認為是一個NP難題,因此為了提供盡力而為的答案,Amadeus結合使用了蠻力法、圖算法和啟發式算法。它需要大型分佈式系統並消耗大量CPU,如今在Amadeus的內部設施上運行在數千台機器上。為了滿足客戶的需求,Amadeus在全球運營著多個內部設施,還在多個雲服務提供商上運行工作負載。

項目

幾年前,Amadeus啟動了一個大型的、為期多年的項目,旨在將其大部分內部資源遷移到Azure。對於這個具體的用例,Amadeus與微軟合作驗證了基於Ampere ARM的虛擬機(VM)。

微軟的Mo Farhat在討論中評論道:

從我們的立場來看……[微軟]希望為我們的客戶提供選擇。我們不會將[他們]引導到一種架構與另一種架構……或一個CPU與另一個CPU之間。我們希望提供一系列選項並提供可信的建議……

最初,作為過渡的一部分,Amadeus並不一定有興趣引入不同的架構。 Spezia表示:

我們只引入不同的架構,因為我們期待一些好處……我們非常關注我們可以從Ampere獲得的性能/價格比……我們希望能夠將使用傳統x86 CPU的機器與使用Ampere CPU的機器混合起來,並在最適合該工作負載的CPU上運行工作負載。

他們選擇了一個大型的、分佈式的、計算密集型的C 應用程序作為第一個在Ampere上運行的應用程序,因為他們認為這與x86相比將提供最大的比較優勢。

我們認為基於ARM的機器可能是一個不錯的選擇,但當然,我們需要驗證和確認我們的假設。我們首先運行了許多合成基準測試。 ……結果是積極的,但合成基準測試並不十分相關。由於在生態系統中引入新的CPU架構並非中性,因此我們需要更好的保證,並決定使用真實的應用程序代碼進行基準測試。 ……該應用程序是一個大型C 代碼庫。它依賴於許多底層的開源庫,加上一些Amadeus中間件庫,最後是功能代碼本身。此代碼的一個子集已被隔離用於在測試平台上運行基準測試。

使該項目取得成功的因素之一是Amadeus團隊能夠在項目早期獲得Ampere服務器。 Didier表示:

首先,Amadeus在內部安裝了幾台帶有Ampere Altra CPU的機器。它們用於最初的移植工作,並且至今仍在運行我們的CI/CD。由於我們正處於向公共雲遷移的過程中,並且與復雜的生態系統高度混合,因此我們非常感謝能夠在內部部署一些機器,這些機器與微軟在Azure中提供的VM具有相同的CPU架構。我們發現,使用運行目標架構的機器進行CI/CD和測試,而不是進行交叉編譯,是無價的。

該應用程序的CI繼續在Amadeus實驗室中的Ampere服務器上運行。

挑戰

我們的代碼移植始於使用與Arm64兼容的工具鏈(Aarch64目標)重新編譯所有內容,這對我們的CI/CD產生了影響。

將此代碼移植到Ampere的過程非常順利,儘管發現了一些問題。一些特定於平台的編譯器行為,例如“char”數據類型是有符號還是無符號,在x86和Arm64上有所不同,並且應用程序對行為做出了假設。

為了編譯他們的大型C 代碼庫,Amadeus同時使用了GCC和Clang C 編譯器。作為移植的一部分所需更改中,一些開源依賴項需要升級,以利用改進的Arm64支持。其中一些升級涉及API或行為更改,需要進一步的代碼更改。此外,作為遷移的一部分,在x86上未顯示自身的一些潛在代碼問題(與未定義或平台定義的行為有關)被暴露並修復。

部署

在雲中,Amadeus應用程序部署在OpenShift集群(Red Hat基於Kubernetes的容器平台)上。為了在生產環境中運行,應用程序需要一個完整的中間件生態系統(企業服務總線、日誌記錄和監控設施等),該生態系統也託管在OpenShift中。

Amadeus不想將其整個應用程序基礎設施遷移到Arm64。另一個值得信賴的合作夥伴Red Hat已經將支持異構硬件架構的Kubernetes功能作為支持的功能交付到OpenShift中。

具體來說,這意味著單個OpenShift集群可以包含x86和ARM計算節點。通過使用x86和Arm64節點定義節點集,並使用標籤和“污點”來部署容器,開發人員可以輕鬆決定要安排pod的VM類型。因此,Amadeus應用程序基礎設施的支持組件可以在傳統的x86 VM上運行,而Amadeus決定出於成本和性能原因在Arm64上運行的應用程序pod可以在由Ampere Altra CPU驅動的Azure Dps v5 VM上運行。

異構集群對於支持增量遷移和避免將OpenShift集群的數量增加一倍至關重要。

結果

顯然,在進入生產環境之前,Amadeus希望通過一些基準測試來驗證他們的假設。使用cpubench1a合成基準測試,使用32個vCPU的VM,單個Ampere Altra VM(D32ps_v5)提供的原始吞吐量高出20%,性能/價格比比同等Intel VM提高了50%,比同等AMD VM的原始吞吐量高出13%,性能/價格吞吐量高出27%。

當使用真實的購物應用程序基準測試進行基準測試時,吞吐量和響應時間之間存在權衡。吞吐量越高,響應時間受到的影響越大。 Ampere Altra VM的性能/價格比提高了47%,平均響應時間比Intel VM下降了11%,比AMD VM的性能/價格比提高了37%,平均響應時間下降了9%。

Amadeus現在已經移植了足夠的應用程序組件來運行真實的應用程序(不僅僅是基準測試)。該公司目前正在完成集成測試並驗證平台的最後部分。完成後,Amadeus將開始在多個Azure區域擴展生產環境。

Ampere的首款雲原生處理器專為可持續的雲計算而構建,可提供業界前所未有的可預測的高性能、平台可擴展性和電源效率。我們邀請您了解更多關於我們的開發人員工作的信息,查找最佳實踐、見解並加入對話:developer.amperecomputing.com和community.amperecomputing.com。

與我們的專家銷售團隊聯繫以了解合作夥伴關係或獲取更多信息,或通過我們的開發者訪問計劃獲得Ampere Systems的試用訪問權限。

以上是Amadeus雲遷移在Ampere Altra實例上的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CNCF ARM64飛行員:影響和見解 CNCF ARM64飛行員:影響和見解 Apr 15, 2025 am 08:27 AM

該試點程序是CNCF(雲本機計算基礎),安培計算,Equinix金屬和驅動的合作,簡化了CNCF GitHub項目的ARM64 CI/CD。 該計劃解決了安全問題和績效

使用AWS ECS和LAMBDA的無服務器圖像處理管道 使用AWS ECS和LAMBDA的無服務器圖像處理管道 Apr 18, 2025 am 08:28 AM

該教程通過使用AWS服務來指導您通過構建無服務器圖像處理管道。 我們將創建一個部署在ECS Fargate群集上的next.js前端,與API網關,Lambda函數,S3桶和DynamoDB進行交互。 Th

21個開發人員新聞通訊將在2025年訂閱 21個開發人員新聞通訊將在2025年訂閱 Apr 24, 2025 am 08:28 AM

與這些頂級開發人員新聞通訊有關最新技術趨勢的了解! 這個精選的清單為每個人提供了一些東西,從AI愛好者到經驗豐富的後端和前端開發人員。 選擇您的收藏夾並節省時間搜索REL

See all articles