Table of Contents
Project
Challenge
Deployment
Result
Home Technology peripherals It Industry Amadeus Cloud Migration on Ampere Altra Instances

Amadeus Cloud Migration on Ampere Altra Instances

Feb 09, 2025 pm 12:02 PM

Amadeus Cloud Migration on Ampere Altra Instances

(This article was originally published by Ampere Computing)

You may not be familiar with Amadeus because it is a B2B company…but when you search for flights or hotels on the internet, there is a good chance you are using Amadeus-supported services behind the scenes, says Didier Spezia, cloud architect at Amadeus. .

Amadeus is a world-leading travel IT company that supports many participants in the tourism industry: airlines, hotel chains, travel agencies, airports, etc. One of Amadeus's businesses is to provide flight search and pricing services to travel agencies and companies such as Kayak or Expedia. Amadeus also supports more advanced features such as budget-based queries and calendar-constrained queries that require pre-calculation of multidimensional indexes. Searching for the right flight with available seats among a wide range of airlines is very difficult.

Getting the best solution is considered an NP puzzle, so to provide the best-effort answer, Amadeus uses a combination of brute force methods, graph algorithms and heuristics. It requires large distributed systems and consumes a lot of CPU, and now runs on thousands of machines on Amadeus’ internal facilities. To meet customer needs, Amadeus operates multiple on-premises facilities around the world and runs workloads on multiple cloud service providers.

Project

A few years ago, Amadeus launched a large, multi-year project to migrate most of its internal resources to Azure. For this specific use case, Amadeus worked with Microsoft to verify the Ampere ARM-based virtual machine (VM).

Microsoft's Mo Farhat commented in the discussion:

From our standpoint…[Microsoft] wants to offer our customers choices. We won't boot [they] between one architecture and another... or between one CPU and another. We want to provide a range of options and provide credible advice...

Initially, Amadeus was not necessarily interested in introducing different architectures as part of the transition. Spezia said:

We only introduce different architectures because we expect some benefits…We are very concerned about the performance/price ratio we can get from Ampere…We want to be able to mix machines with traditional x86 CPUs with machines with Ampere CPUs , and run the workload on the CPU that best suits that workload.

They chose a large, distributed, compute-intensive C application as the first to run on Ampere, because they believe this will provide the greatest comparative advantage over x86.

We think ARM-based machines may be a good choice, but of course, we need to verify and confirm our assumptions. We first ran a number of synthetic benchmarks. ...The results are positive, but the synthetic benchmarks are not very relevant. Since introducing new CPU architectures into the ecosystem is not neutral, we need better guarantees and decide to use real application code for benchmarking. …The application is a large C code base. It relies on many underlying open source libraries, plus some Amadeus middleware libraries, and finally the functional code itself. A subset of this code has been isolated for running benchmarks on the testbench.

One of the factors that made the project successful was the Amadeus team's ability to obtain Ampere servers early in the project. Didier said:

First of all, Amadeus has installed several machines with Ampere Altra CPUs internally. They are used for the initial transplant work and are still running our CI/CD to this day. Since we are in the process of moving to the public cloud and are highly mixed with complex ecosystems, we are very grateful to be able to deploy some machines on-premises that have the same CPU architecture as the VMs offered in Azure. We found that using machines running the target architecture for CI/CD and testing instead of cross-compiling is invaluable.

The CI of the application continues to run on the Ampere server in Amadeus Labs.

Challenge

Our code porting began by recompiling everything with an Arm64-compatible toolchain (Aarch64 target), which had an impact on our CI/CD.

The process of porting this code to Ampere was very smooth, although some problems were found. Some platform-specific compiler behaviors, such as whether the "char" data type is signed or unsigned, differ on x86 and Arm64, and the application makes assumptions about the behavior.

To compile their large C code base, Amadeus uses both GCC and Clang C compilers. Among the changes required as part of the porting, some open source dependencies need to be upgraded to take advantage of improved Arm64 support. Some of these upgrades involve API or behavior changes that require further code changes. Additionally, as part of the migration, some potential code issues that did not show itself on x86 (related to undefined or platform-defined behavior) were exposed and fixed.

Deployment

In the cloud, Amadeus applications are deployed on OpenShift clusters (Red Hat Kubernetes-based container platform). To run in a production environment, the application requires a complete middleware ecosystem (enterprise service bus, logging and monitoring facilities, etc.), which is also hosted in OpenShift.

Amadeus does not want to migrate its entire application infrastructure to Arm64. Another trusted partner, Red Hat, has delivered Kubernetes functionality that supports heterogeneous hardware architectures to OpenShift as supported features.

Specifically, this means that a single OpenShift cluster can contain x86 and ARM compute nodes. By defining node sets with x86 and Arm64 nodes and deploying containers with tags and "blues", developers can easily decide which VM type to schedule pods. Therefore, the support components of the Amadeus application infrastructure can run on a traditional x86 VM, and Amadeus decides that the application pods running on Arm64 for cost and performance reasons can run on Azure Dps v5 VM powered by Ampere Altra CPU .

Heterogeneous clustering is critical to support incremental migration and avoid doubling the number of OpenShift clusters.

Result

Obviously, before entering production, Amadeus hopes to verify their hypotheses with some benchmarks. Using cpubench1a synthesis benchmark, using VMs of 32 vCPUs, a single Ampere Altra VM (D32ps_v5) provides 20% higher raw throughput, performance/price ratio is 50% higher than equivalent Intel VMs, and raw throughput is 20% higher than equivalent AMD VMs 13% higher, and 27% higher performance/price throughput.

When benchmarking is done using real shopping application benchmarking, there is a trade-off between throughput and response time. The higher the throughput, the greater the impact of response time. The performance/price ratio of Ampere Altra VM is 47% higher, with an average response time down 11% lower than the Intel VM, a 37% higher performance/price ratio of AMD VM, and a 9% lower average response time down.

Amadeus has now ported enough application components to run real applications (not just benchmarks). The company is currently completing integration testing and verifying the final part of the platform. Once done, Amadeus will start scaling production environments across multiple Azure regions.

Ampere's first cloud-native processor is built for sustainable cloud computing, delivering predictable high performance, platform scalability and power efficiency that the industry has never seen before. We invite you to learn more about our developers’ work, find best practices, insights, and join the conversation: developer.amperecomputing.com and community.amperecomputing.com.

Contact our expert sales team for partnerships or for more information or get trial access to Ampere Systems through our Developer Access Program.

The above is the detailed content of Amadeus Cloud Migration on Ampere Altra Instances. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CNCF Arm64 Pilot: Impact and Insights CNCF Arm64 Pilot: Impact and Insights Apr 15, 2025 am 08:27 AM

This pilot program, a collaboration between the CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal, and Actuated, streamlines arm64 CI/CD for CNCF GitHub projects. The initiative addresses security concerns and performance lim

Serverless Image Processing Pipeline with AWS ECS and Lambda Serverless Image Processing Pipeline with AWS ECS and Lambda Apr 18, 2025 am 08:28 AM

This tutorial guides you through building a serverless image processing pipeline using AWS services. We'll create a Next.js frontend deployed on an ECS Fargate cluster, interacting with an API Gateway, Lambda functions, S3 buckets, and DynamoDB. Th

Top 21 Developer Newsletters to Subscribe To in 2025 Top 21 Developer Newsletters to Subscribe To in 2025 Apr 24, 2025 am 08:28 AM

Stay informed about the latest tech trends with these top developer newsletters! This curated list offers something for everyone, from AI enthusiasts to seasoned backend and frontend developers. Choose your favorites and save time searching for rel

See all articles