Rumah > Peranti teknologi > industri IT > Migrasi awan amadeus pada keadaan ampere altra

Migrasi awan amadeus pada keadaan ampere altra

Christopher Nolan
Lepaskan: 2025-02-09 12:02:13
asal
527 orang telah melayarinya

Amadeus Cloud Migration on Ampere Altra Instances

(artikel ini pada asalnya diterbitkan oleh pengkomputeran ampere)

anda mungkin tidak biasa dengan Amadeus kerana ia adalah syarikat B2B ... tetapi apabila anda mencari penerbangan atau hotel di internet, ada peluang yang baik anda menggunakan perkhidmatan yang disokong oleh Amadeus di belakang tabir, kata Didier Spezia, Cloud Arkitek di Amadeus.

Amadeus adalah syarikat IT perjalanan terkemuka di dunia yang menyokong banyak peserta dalam industri pelancongan: syarikat penerbangan, rantaian hotel, agensi pelancongan, lapangan terbang, dll. Salah satu perniagaan Amadeus adalah untuk menyediakan perkhidmatan carian dan harga penerbangan kepada agensi pelancongan dan syarikat seperti Kayak atau Expedia. Amadeus juga menyokong ciri-ciri yang lebih canggih seperti pertanyaan berasaskan belanjawan dan pertanyaan yang dikawal oleh kalendar yang memerlukan pra-penalkulasi indeks multidimensi. Mencari penerbangan yang betul dengan tempat duduk yang ada di antara pelbagai syarikat penerbangan sangat sukar.

Mendapatkan penyelesaian terbaik dianggap sebagai teka-teki NP, jadi untuk memberikan jawapan yang terbaik, Amadeus menggunakan gabungan kaedah kekerasan, algoritma graf dan heuristik. Ia memerlukan sistem yang diedarkan besar dan menggunakan banyak CPU, dan kini berjalan beribu -ribu mesin di kemudahan dalaman Amadeus. Untuk memenuhi keperluan pelanggan, Amadeus mengendalikan pelbagai kemudahan di premis di seluruh dunia dan menjalankan beban kerja pada penyedia perkhidmatan awan berganda.

Projek

Beberapa tahun yang lalu, Amadeus melancarkan projek besar dan berbilang tahun untuk memindahkan sebahagian besar sumber dalamannya kepada Azure. Untuk kes penggunaan khusus ini, Amadeus bekerja dengan Microsoft untuk mengesahkan mesin maya berasaskan lengan ampere (VM).

Microsoft's Mo Farhat mengulas dalam perbincangan:

dari sudut pandangan kami ... [Microsoft] ingin menawarkan pilihan pelanggan kami. Kami tidak akan boot [mereka] antara satu seni bina dan yang lain ... atau antara satu CPU dan yang lain. Kami ingin menyediakan pelbagai pilihan dan memberikan nasihat yang boleh dipercayai ...

Pada mulanya, Amadeus tidak semestinya berminat untuk memperkenalkan seni bina yang berbeza sebagai sebahagian daripada peralihan. Spezia berkata:

kami hanya memperkenalkan seni bina yang berbeza kerana kami mengharapkan beberapa faedah ... kami sangat prihatin terhadap nisbah prestasi/harga yang kami dapat dari Ampere ... kami ingin dapat mencampur mesin dengan CPU tradisional x86 dengan mesin dengan CPU ampere, dan berjalan Beban kerja pada CPU yang paling sesuai dengan beban kerja.

Mereka memilih aplikasi C yang besar, diedarkan, berintensifkan C sebagai yang pertama berjalan di Ampere, kerana mereka percaya ini akan memberikan kelebihan perbandingan yang paling besar berbanding x86.

Kami fikir mesin berasaskan ARM mungkin pilihan yang baik, tetapi sudah tentu, kami perlu mengesahkan dan mengesahkan andaian kami. Kami mula -mula menjalankan beberapa tanda aras sintetik. ... Hasilnya positif, tetapi tanda aras sintetik tidak begitu relevan. Sejak memperkenalkan seni bina CPU baru ke dalam ekosistem tidak neutral, kita memerlukan jaminan yang lebih baik dan memutuskan untuk menggunakan kod aplikasi sebenar untuk penandaarasan. ... Permohonan adalah asas kod C yang besar. Ia bergantung kepada banyak perpustakaan sumber terbuka yang mendasari, ditambah dengan beberapa perpustakaan middleware Amadeus, dan akhirnya kod berfungsi itu sendiri. Subset kod ini telah diasingkan untuk menjalankan tanda aras pada testbench.

Salah satu faktor yang membuat projek itu berjaya ialah keupayaan pasukan Amadeus untuk mendapatkan pelayan Ampere pada awal projek. Didier berkata:

Pertama sekali, Amadeus telah memasang beberapa mesin dengan Ampere Altra CPU secara dalaman. Mereka digunakan untuk kerja pemindahan awal dan masih menjalankan CI/CD kami hingga ke hari ini. Oleh kerana kita sedang dalam proses berpindah ke awan awam dan sangat bercampur dengan ekosistem yang kompleks, kami sangat berterima kasih untuk dapat menggunakan beberapa mesin di premis yang mempunyai seni bina CPU yang sama seperti VM yang ditawarkan di Azure. Kami mendapati bahawa menggunakan mesin yang menjalankan seni bina sasaran untuk CI/CD dan ujian dan bukannya penyatuan silang adalah tidak ternilai.

CI aplikasi terus dijalankan di pelayan Ampere di Amadeus Labs.

cabaran

Porting kod kami bermula dengan mengulang semula segala-galanya dengan toolchain serasi ARM64 (sasaran AARCH64), yang memberi impak kepada CI/CD kami.

Proses memindahkan kod ini ke Ampere sangat lancar, walaupun beberapa masalah telah dijumpai. Sesetengah tingkah laku pengkompil khusus platform, seperti sama ada jenis data "char" ditandatangani atau tidak ditandatangani, berbeza pada x86 dan ARM64, dan permohonan itu membuat andaian mengenai tingkah laku.

Untuk menyusun asas kod C yang besar, Amadeus menggunakan kedua -dua penyusun GCC dan Clang C. Antara perubahan yang diperlukan sebagai sebahagian daripada pelabuhan, beberapa kebergantungan sumber terbuka perlu ditingkatkan untuk memanfaatkan sokongan ARM64 yang lebih baik. Sebahagian daripada peningkatan ini melibatkan perubahan API atau tingkah laku yang memerlukan perubahan kod selanjutnya. Di samping itu, sebagai sebahagian daripada penghijrahan, beberapa isu kod berpotensi yang tidak menunjukkan dirinya pada x86 (berkaitan dengan tingkah laku yang tidak ditentukan atau platform) telah didedahkan dan ditetapkan.

penyebaran

Di awan, aplikasi Amadeus digunakan pada kluster OpenShift (platform kontena berasaskan Red Hat Kubernetes). Untuk menjalankan persekitaran pengeluaran, aplikasi memerlukan ekosistem middleware lengkap (bas perkhidmatan perusahaan, kemudahan pembalakan dan pemantauan, dan lain -lain), yang juga dihoskan di OpenShift.

Amadeus tidak mahu memindahkan keseluruhan infrastruktur aplikasinya ke ARM64. Rakan lain yang dipercayai, Red Hat, telah menyampaikan fungsi Kubernetes yang menyokong seni bina perkakasan heterogen ke OpenShift sebagai ciri yang disokong.

Khususnya, ini bermakna bahawa satu kluster OpenShift boleh mengandungi x86 dan lengan mengira nod. Dengan mendefinisikan set nod dengan nod x86 dan ARM64 dan menggunakan bekas dengan tag dan "blues", pemaju boleh menentukan jenis VM untuk menjadualkan pod. Oleh itu, komponen sokongan infrastruktur aplikasi Amadeus boleh dijalankan pada X86 VM tradisional, dan Amadeus memutuskan bahawa pod aplikasi yang berjalan pada ARM64 untuk sebab -sebab kos dan prestasi boleh dijalankan pada Azure DPS V5 VM yang dikuasakan oleh CPU Ampere Altra.

clustering heterogen adalah penting untuk menyokong penghijrahan tambahan dan mengelakkan menggandakan bilangan kluster openshift.

Hasil

Jelas sekali, sebelum memasuki pengeluaran, Amadeus berharap dapat mengesahkan hipotesis mereka dengan beberapa tanda aras. Menggunakan penanda aras sintesis CPUBENCH1A, menggunakan VMS 32 VCPU, satu ampere altra VM (D32PS_V5) memberikan 20% lebih tinggi, nisbah prestasi/harga adalah 50% lebih tinggi daripada VM intel yang setara, dan throughput mentah adalah 20% lebih tinggi daripada AMD setara 13% lebih tinggi, dan 27% prestasi/harga yang lebih tinggi.

Apabila penanda aras dilakukan menggunakan penandaarasan aplikasi membeli-belah sebenar, terdapat perdagangan antara masa dan masa tindak balas. Semakin tinggi throughput, semakin besar kesan masa tindak balas. Nisbah prestasi/harga Ampere Altra VM adalah 47% lebih tinggi, dengan masa tindak balas purata turun 11% lebih rendah daripada Intel VM, nisbah prestasi/harga 37% lebih tinggi AMD VM, dan masa tindak balas purata 9% lebih rendah.

Amadeus kini telah memindahkan komponen aplikasi yang cukup untuk menjalankan aplikasi sebenar (bukan hanya tanda aras). Syarikat sedang menyelesaikan ujian integrasi dan mengesahkan bahagian akhir platform. Setelah selesai, Amadeus akan mula berskala persekitaran pengeluaran di seluruh kawasan Azure.

pemproses awan pertama Ampere dibina untuk pengkomputeran awan yang mampan, menyampaikan prestasi tinggi yang boleh diramal, skalabilitas platform dan kecekapan kuasa yang tidak pernah dilihat oleh industri sebelum ini. Kami menjemput anda untuk mengetahui lebih lanjut mengenai kerja pemaju kami, mencari amalan terbaik, pandangan, dan menyertai perbualan: pemaju.ampereComputing.com dan Community.ampereComputing.com.

Hubungi pasukan jualan pakar kami untuk perkongsian atau untuk mendapatkan maklumat lanjut atau dapatkan akses percubaan ke sistem Ampere melalui program akses pemaju kami.

Atas ialah kandungan terperinci Migrasi awan amadeus pada keadaan ampere altra. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan