> 기술 주변기기 > IT산업 > Amadeus Cloud Migration on Ampere Altra 인스턴스

Amadeus Cloud Migration on Ampere Altra 인스턴스

Christopher Nolan
풀어 주다: 2025-02-09 12:02:13
원래의
527명이 탐색했습니다.

Amadeus Cloud Migration on Ampere Altra Instances (이 기사 당신은 B2B 회사이기 때문에 Amadeus에 익숙하지 않을 수 있습니다. 그러나 인터넷에서 항공편이나 호텔을 검색 할 때 Amadeus 지원 서비스를 사용하는 것이 좋습니다. Amadeus의 건축가.

Amadeus는 항공사, 호텔 체인, 여행사, 공항 등 관광 업계의 많은 참가자를 지원하는 세계 최고의 여행 IT 회사입니다. Amadeus의 사업 중 하나는 여행사 및 Kayak 또는 Expedia와 같은 회사에 비행 검색 및 가격 서비스를 제공하는 것입니다. Amadeus는 또한 다차원 인덱스의 사전 계산이 필요한 예산 기반 쿼리 및 캘린더 제약 쿼리와 같은 고급 기능을 지원합니다. 광범위한 항공사들 사이에서 이용 가능한 좌석이있는 올바른 비행을 검색하는 것은 매우 어렵습니다.

최상의 솔루션을 얻는 것은 NP 퍼즐로 간주되므로 최상의 응답을 제공하기 위해 Amadeus는 무차별 인력 방법, 그래프 알고리즘 및 휴리스틱의 조합을 사용합니다. 대규모 분산 시스템이 필요하고 많은 CPU를 소비하며 현재 Amadeus의 내부 시설에서 수천 개의 기계에서 실행됩니다. 고객 요구를 충족시키기 위해 Amadeus는 전 세계 여러 온 프레미스 시설을 운영하고 여러 클라우드 서비스 제공 업체에서 워크로드를 운영합니다. 프로젝트 몇 년 전, Amadeus는 대부분의 내부 자원을 Azure로 마이그레이션하기 위해 대규모 다년간의 프로젝트를 시작했습니다. 이 특정 사용 사례의 경우 Amadeus는 Microsoft와 협력하여 Ampere ARM 기반 가상 머신 (VM)을 확인했습니다.

Microsoft의 Mo Farhat은 토론에서 다음과 같이 언급했습니다

우리의 관점에서 … [Microsoft]는 고객에게 선택을 제공하기를 원합니다. 우리는 하나의 아키텍처와 다른 아키텍처 사이 또는 하나의 CPU와 다른 건축 사이에서 [그들]을 부팅하지 않을 것입니다. 우리는 다양한 옵션을 제공하고 믿을만한 조언을 제공하고 싶습니다 ...

처음에 Amadeus는 전환의 일부로 다른 아키텍처를 도입하는 데 반드시 관심이 없었습니다. 스페 지아는 말했다 :

우리는 몇 가지 이점을 기대하기 때문에 다른 아키텍처 만 소개합니다… 우리는 Ampere에서 얻을 수있는 성능/가격 비율에 대해 매우 우려하고 있습니다… 우리는 기존 x86 CPU와 기계를 Ampere CPU와 기계와 혼합하고 실행할 수 있기를 원합니다. CPU의 워크로드는 그 작업 부하에 가장 적합합니다.

그들은 Ampere에서 처음으로 실행 된 크고 분산 된 컴퓨팅 집약적 인 C 응용 프로그램을 선택했습니다. 왜냐하면 이것은 x86에 비해 가장 큰 비교 이점을 제공 할 것이라고 생각하기 때문입니다.

우리는 ARM 기반 기계가 좋은 선택이라고 생각하지만 물론 우리의 가정을 확인하고 확인해야합니다. 우리는 먼저 여러 합성 벤치 마크를 실행했습니다. ... 결과는 긍정적이지만 합성 벤치 마크는 그다지 관련이 없습니다. 생태계에 새로운 CPU 아키텍처를 도입하는 것은 중립적이지 않기 때문에 더 나은 보증이 필요하고 벤치마킹에 실제 응용 프로그램 코드를 사용하기로 결정합니다. … 응용 프로그램은 큰 C 코드 기반입니다. 많은 기본 오픈 소스 라이브러리와 일부 Amadeus 미들웨어 라이브러리 및 기능 코드 자체에 의존합니다. 이 코드의 하위 집합은 TestBench에서 벤치 마크를 실행하기 위해 격리되었습니다.

프로젝트를 성공적으로 만든 요소 중 하나는 프로젝트 초기에 Amadeus 팀의 Ampere 서버를 얻는 능력이었습니다. Didier는 말했다 :
우선, Amadeus는 Ampere Altra CPU가 내부적으로 여러 기계를 설치했습니다. 그것들은 초기 이식 작업에 사용되며 여전히 CI/CD를 오늘날까지 실행하고 있습니다. 우리는 퍼블릭 클라우드로 이동하는 과정에 있으며 복잡한 생태계와 매우 혼합되어 있기 때문에 Azure에서 제공되는 VM과 동일한 CPU 아키텍처를 가진 일부 기계를 배치 할 수있어서 매우 감사합니다. 우리는 CI/CD의 대상 아키텍처를 실행하고 교차 컴파일 대신 테스트를 실행하는 기계를 사용하는 것이 매우 중요하다는 것을 발견했습니다.

응용 프로그램의 CI는 Amadeus Labs의 Ampere 서버에서 계속 실행됩니다.

도전

우리의 코드 포팅은 CI/CD에 영향을 미치는 ARM64 호환 도구 체인 (Aarch64 Target)으로 모든 것을 다시 컴파일함으로써 시작되었습니다.

이 코드를 암페어로 포팅하는 과정은 일부 문제가 발견되었지만 매우 매끄 럽습니다. "char"데이터 유형이 서명되었거나 서명되지 않은지와 같은 일부 플랫폼 별 컴파일러 동작은 X86 및 ARM64에서 다르며 응용 프로그램은 동작에 대해 가정합니다.

Amadeus는 대형 C 코드베이스를 컴파일하기 위해 GCC 및 Clang C 컴파일러를 모두 사용합니다. 포팅의 일부로 필요한 변경 사항 중에서 ARM64 지원 향상을 활용하려면 일부 오픈 소스 종속성을 업그레이드해야합니다. 이러한 업그레이드 중 일부에는 추가 코드 변경이 필요한 API 또는 동작 변경이 포함됩니다. 또한 마이그레이션의 일부로 X86 (정의되지 않은 또는 플랫폼 정의 동작과 관련된)에 표시되지 않은 일부 잠재적 코드 문제가 노출되어 고정되었습니다.

배포 클라우드에서 Amadeus 응용 프로그램은 OpenShift 클러스터 (Red Hat Kubernetes 기반 컨테이너 플랫폼)에 배포됩니다. 제작 환경에서 운영하려면이 응용 프로그램에는 OpenShift에서 호스팅되는 완전한 미들웨어 생태계 (Enterprise Service Bus, Logging and Monitoring Facilities 등)가 필요합니다.

Amadeus는 전체 애플리케이션 인프라를 ARM64로 마이그레이션하고 싶지 않습니다. 또 다른 신뢰할 수있는 파트너 인 Red Hat은 이종 하드웨어 아키텍처를 지원하는 Kubernetes 기능을 지원하여 지원되는 기능으로 OpenShift를 제공했습니다.
구체적으로, 이는 단일 OpenShift 클러스터에 x86 및 ARM 계산 노드를 포함 할 수 있음을 의미합니다. X86 및 ARM64 노드로 노드 세트를 정의하고 태그 및 "블루스"로 컨테이너를 배포함으로써 개발자는 포드를 예약 할 VM 유형을 쉽게 결정할 수 있습니다. 따라서 Amadeus 애플리케이션 인프라의 지원 구성 요소는 전통적인 x86 VM에서 실행될 수 있으며 Amadeus는 ARM64에서 실행되는 응용 프로그램 포드가 Ampere Altra CPU로 구동되는 Azure DPS V5 VM에서 실행될 수 있다고 결정합니다.

이기종 클러스터링은 증분 마이그레이션을 지원하고 OpenShift 클러스터의 수를 두 배로 늘리지 않기 위해 중요합니다.

결과 분명히 생산에 들어가기 전에 Amadeus는 벤치 마크가있는 가설을 확인하기를 희망합니다. CPUBENCH1A 합성 벤치 마크 사용, 32 VCPU의 VM을 사용하여 단일 암페어 Altra VM (D32PS_V5)은 20% 더 높은 RAW 처리량을 제공하고 성능/가격 비율은 등가 인텔 VM보다 50% 높으며, RAW 처리량이 동등한 AMD VM보다 20% 더 높습니다. 13% 높고 27% 더 높은 성능/가격 처리량.

실제 쇼핑 응용 프로그램 벤치마킹을 사용하여 벤치마킹이 완료되면 처리량과 응답 시간 사이에 상충 관계가 있습니다. 처리량이 높을수록 응답 시간의 영향이 커집니다. Ampere Altra VM의 성능/가격 비율은 47% 높으며, 평균 응답 시간은 Intel VM보다 11% 낮았으며 AMD VM의 37% 더 높은 성능/가격 비율 및 평균 응답 시간이 9% 낮습니다.

Amadeus는 이제 실제 응용 프로그램을 실행하기에 충분한 응용 프로그램 구성 요소 (벤치 마크뿐만 아니라)를 포팅했습니다. 회사는 현재 통합 테스트를 완료하고 플랫폼의 최종 부분을 확인하고 있습니다. 일단 완료되면 Amadeus는 여러 Azure 지역에서 생산 환경을 확장하기 시작합니다.

Ampere의 최초의 클라우드 네이티브 프로세서는 지속 가능한 클라우드 컴퓨팅을 위해 구축되어 업계에서 본 적이없는 예측 가능한 고성능, 플랫폼 확장 성 및 전력 효율성을 제공합니다. 개발자의 작업에 대해 자세히 알아보고, 모범 사례를 찾고, 통찰력을 찾고, Developer.amperecomputing.com 및 Community.amperecomputing.com에 참여하도록 초대합니다.

개발자 액세스 프로그램을 통해 파트너십을 보거나 Ampere 시스템에 대한 시험 액세스를 받으려면 전문가 영업 팀에 문의하십시오.

위 내용은 Amadeus Cloud Migration on Ampere Altra 인스턴스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿