search
HomeTechnology peripheralsIt IndustryAmadeus Cloud Migration on Ampere Altra Instances

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
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
Top 21 Developer Newsletters to Subscribe To in 2025Top 21 Developer Newsletters to Subscribe To in 2025Apr 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

Serverless Image Processing Pipeline with AWS ECS and LambdaServerless Image Processing Pipeline with AWS ECS and LambdaApr 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

CNCF Arm64 Pilot: Impact and InsightsCNCF Arm64 Pilot: Impact and InsightsApr 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

See all articles

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

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software