All Products
Search
Document Center

Elastic Compute Service:Migrasi aplikasi x86 ke instans ECS YiTian

Last Updated:Apr 02, 2026

Instans Elastic Compute Service (ECS) YiTian berjalan pada CPU YiTian 710 berbasis Arm, yang memberikan peningkatan signifikan dalam kinerja komputasi, penyimpanan, dan jaringan. Karena arsitektur Arm dan x86 menggunakan set instruksi yang berbeda, migrasi aplikasi Anda memerlukan penilaian tumpukan perangkat lunak, kompilasi ulang jika diperlukan, serta validasi hasilnya.

Topik ini memandu Anda melalui seluruh proses migrasi: mulai dari menyiapkan instans YiTian dan menilai komponen yang perlu dikompilasi ulang, hingga memilih versi perangkat lunak yang tepat dan memverifikasi lingkungan Anda.

Keluarga instans ECS YiTian

Instans ECS YiTian menerapkan akselerasi fast path pada level chip untuk meningkatkan I/O penyimpanan, throughput jaringan, dan stabilitas komputasi. Instans ini cocok untuk aplikasi cloud-native, pengkodean dan dekoding video, komputasi kinerja tinggi (HPC), pembelajaran mesin berbasis CPU, serta layanan gaming.

Keluarga instans berikut menggunakan arsitektur YiTian 710:

Keluarga instansFokus beban kerja
g8y (direkomendasikan)Tujuan umum
c8yDioptimalkan untuk komputasi
r8yDioptimalkan untuk memori
Untuk spesifikasi lengkap vCPU, memori, dan jaringan, lihat g8y, keluarga instans tujuan umum, c8y, keluarga instans yang dioptimalkan untuk komputasi, dan r8y, keluarga instans yang dioptimalkan untuk memori.

Mengapa migrasi memerlukan kompilasi ulang

Arsitektur Arm menggunakan set instruksi yang berbeda dari x86. Perangkat lunak yang dikompilasi untuk x86 menghasilkan binari spesifik arsitektur yang tidak dapat dijalankan langsung di Arm. Kebutuhan kompilasi ulang bergantung pada cara perangkat lunak Anda dibangun:

Jenis perangkat lunakContohPerlu kompilasi ulang?
Bahasa terkompilasiC++, GoYa — binari bersifat spesifik arsitektur
Bahasa terinterpretasi atau JITJava, PythonBiasanya tidak — tetapi ya jika menggunakan pustaka native melalui Java Native Interface (JNI) atau ekstensi C
Paket open sourceNGINX, MySQL, RedisBiasanya tidak — sebagian besar tersedia sebagai paket Arm64 di repositori OS

Ikhtisar migrasi

Migrasi mencakup tiga fase utama:

  1. Penilaian dan persiapan — Inventarisasi tumpukan perangkat lunak Anda, periksa kompatibilitas, dan siapkan instans YiTian.

  2. Migrasi dan kompilasi ulang — Instal versi compiler dan runtime yang tepat, lalu bangun ulang perangkat lunak Anda.

  3. Verifikasi — Konfirmasi arsitektur, jalankan pengujian fungsional, dan validasi kinerja.

Langkah 1: Buat instans ECS YiTian

Buat instans ECS YiTian menggunakan Konsol ECS. Untuk langkah-langkah detail, lihat Buat instans di tab Custom Launch.

Atur parameter berikut:

ParameterNilai
Keluarga instansg8y (direkomendasikan), c8y, atau r8y
ImageLihat image yang didukung di bawah ini

Image yang didukung:

OSVersi
Alibaba Cloud Linux (direkomendasikan)Alibaba Cloud Linux 3.2104 LTS 64-bit untuk Arm
Alibaba Cloud Linux 3.2104 LTS 64-bit untuk Arm (MLPS 2.0 Level 3)
Anolis OSAnolis 8.8 RHCK 64-bit untuk Arm
Anolis 8.8 ANCK 64-bit untuk Arm (MLPS 2.0 Level 3)
Anolis 8.8 ANCK 64-bit untuk Arm
Anolis 8.6 RHCK 64-bit untuk Arm
Anolis 8.6 ANCK 64-bit untuk Arm
Anolis 8.4 RHCK 64-bit untuk Arm
Anolis 8.4 ANCK 64-bit untuk Arm
Anolis 7.9 RHCK 64-bit untuk Arm
Anolis 7.9 ANCK 64-bit untuk Arm
UbuntuUbuntu 22.04 64-bit untuk Arm
Ubuntu 20.04 64-bit untuk Arm
Ubuntu 18.04 64-bit untuk Arm
CentOSCentOS 7.9 64-bit untuk Arm
DebianDebian 11.5 64-bit untuk Arm
Debian 11.2 64-bit untuk Arm
Debian 10.13 64-bit untuk Arm
CentOS 7 telah mencapai akhir masa pakai (EOL). Kami menyarankan agar Anda tidak menggunakan versi ini.
Debian 10.13 telah mencapai EOL. Kami menyarankan agar Anda tidak menggunakan versi ini.

Langkah 2: Migrasi dan kompilasi ulang perangkat lunak

Instal compiler dan runtime sesuai bahasa pemrograman Anda, lalu bangun ulang perangkat lunak Anda. Tabel berikut mencantumkan versi yang direkomendasikan untuk tool dan aplikasi umum.

Compiler dan runtime

KategoriPerangkat lunakVersi yang direkomendasikanCatatan
KompilerGCC10.2.1GCC 10 atau versi lebih baru memberikan peningkatan kinerja signifikan pada Arm.
LLVM / Clang13Memerlukan glibc 2.17+, libstdc++ (GCC 6+ atau GCC 9+), LLVM 13, dan GCC-C++ (RPM).
glibc2.32
JDKDragonwell 11 (direkomendasikan)11Dragonwell dioptimalkan untuk Arm dan memberikan kinerja serta dukungan lebih baik dibanding OpenJDK standar.
OpenJDK11
GoGo1.18+Go 1.16 mengoptimalkan operasi atomik dan penyalinan memori Arm. Go 1.18 meneruskan parameter melalui register alih-alih stack, memberikan kinerja ~10% lebih baik pada Arm.
PythonPython3.8+Python 2.7 mencapai EOL pada 1 Januari 2020. Python 3.6 mencapai EOL pada 23 Desember 2022. Gunakan Python 3.7 atau versi lebih baru.
PHPPHP7.4+

Kontainer

Perangkat lunakVersi yang direkomendasikan
Kubernetes1.22
containerd1.5.0+

Aplikasi web dan database

Komponen ini tersedia langsung dari repositori paket OS Anda. Gunakan versi yang disertakan dalam image yang Anda pilih.

KategoriPerangkat lunak
WebNGINX
Apache HTTP Server (httpd)
Node.js
DatabaseMySQL
Redis

Big data dan komputasi ilmiah

Perangkat lunakVersi yang direkomendasikan
Apache Hadoop3.3.1
Apache Spark3.2
Apache Hive3.1
Elasticsearch7.12
GROMACSTerbaru
BWATerbaru
GATK4.3.0.0

Kompilasi kode sumber Anda

Setelah menyiapkan lingkungan, bangun ulang kode sumber Anda untuk arsitektur Arm64. Gunakan panduan yang sesuai dengan bahasa atau jenis perangkat lunak Anda:

Bahasa terkompilasi:

Bahasa terinterpretasi:

Perangkat lunak open source:

Langkah 3: Verifikasi migrasi

Setelah migrasi, pastikan instans Anda berjalan pada arsitektur Arm dan perangkat lunak Anda berfungsi dengan benar.

Periksa arsitektur CPU

Jalankan uname -m atau arch. Output menunjukkan arsitektur:

  • aarch64 — arsitektur Arm (diharapkan pada instans YiTian)

  • x86_64 — arsitektur x86

Contoh output pada instans YiTian:

image

Contoh output pada instans x86:

image

Periksa informasi CPU detail

Jalankan lscpu untuk melihat detail CPU lengkap, termasuk arsitektur, jumlah core, dan kecepatan clock.

Arm Output:

image

Output x86:

image

Periksa versi OS dan compiler

Jalankan cat /proc/version untuk melihat versi sistem operasi dan compiler yang digunakan untuk membangun kernel. Output berbeda antar arsitektur.

x86:

image

Arm:

image