目录
项目
挑战
部署
结果
首页 科技周边 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