All Products
Search
Document Center

Elastic Compute Service:Migrasi aplikasi x86 ke instans ECS YiTian

Last Updated:May 16, 2026

Migrasikan aplikasi x86 ke instans ECS berbasis Yitian 710 (g8y, c8y, r8y) untuk meningkatkan kinerja komputasi, penyimpanan, dan jaringan.

Latar Belakang

Apa itu instans ECS YiTian?

Instans ECS YiTian adalah instans ECS berbasis arsitektur ARM Yitian 710 yang menggunakan akselerasi fast-path tingkat chip untuk meningkatkan kinerja komputasi, penyimpanan, dan jaringan. Instans ini cocok untuk skenario seperti aplikasi cloud-native, pengkodean dan dekoding video, komputasi kinerja tinggi (HPC), pembelajaran mesin berbasis CPU, dan layanan game.

Catatan

Keluarga instans berbasis Yitian 710 mencakup g8y, c8y, dan r8y. Untuk tipe instans dan metrik kinerja, lihat:

Mengapa melakukan migrasi?

Instans ECS YiTian menggunakan arsitektur ARM, yang berbeda dari x86. Untuk men-deploy kode sumber x86 pada instans YiTian, Anda harus mengompilasi ulang dan menerapkan optimasi khusus arsitektur.

Langkah-langkah migrasi

Migrasi aplikasi dari x86 ke YiTian melibatkan dua langkah:

  1. Persiapan pra-migrasi

    Rencanakan sistem operasi, perangkat lunak dasar, dan sumber daya perangkat keras. Periksa kode Anda untuk instruksi assembly atau dependensi perangkat keras khusus x86. Verifikasi versi ARM dari pustaka pihak ketiga dan jalankan pengujian kompatibilitas.

  2. Kompilasi dan migrasi perangkat lunak

    Instal kompilator dan versi perangkat lunak yang sesuai untuk bahasa pemrograman Anda, lalu kompilasi ulang.

Skema migrasi

Migrasi perangkat lunak biasanya melibatkan dua skenario:

  • Perangkat lunak kode sumber: Perangkat lunak yang Anda kembangkan atau tingkatkan berdasarkan proyek open source. Bahasa-bahasa tersebut terbagi menjadi dua kategori:

    • Bahasa terkompilasi: Bahasa seperti C++ dan Go dikompilasi menjadi biner khusus arsitektur dan memerlukan kompilasi ulang setelah migrasi. Lihat File build Make/CMake dan Migrasi bahasa C/C++.

    • Bahasa terinterpretasi: Bahasa seperti Java dan Python menghasilkan bytecode yang independen terhadap arsitektur dan secara teori dapat dijalankan lintas arsitektur. Namun, jika melibatkan pustaka native—misalnya, aplikasi Java yang memanggil pustaka dinamis C melalui JNI—aplikasi tersebut menjadi bergantung pada arsitektur dan harus dikompilasi ulang. Lihat Migrasi bahasa Java dan Migrasi bahasa Python.

  • Perangkat lunak open source: Perangkat lunak yang diunduh dari komunitas open source tanpa modifikasi, atau perangkat lunak yang termasuk dalam ekosistem OS Anda. Sebagian besar perangkat lunak open source sudah mendukung platform ARM YiTian dan dapat diinstal langsung dari manajer paket OS Anda. Lihat Migrasi perangkat lunak open source.

Prosedur migrasi

Siapkan sumber daya lingkungan yang diperlukan, termasuk instans ECS, sistem operasi, dan perangkat lunak dasar, lalu ikuti prosedur berikut:

Langkah 1: Buat instans ECS YiTian

Lihat Buat instans kustom. Perhatikan parameter berikut:

Parameter

Deskripsi

Instance type

  • g8y (Disarankan)

  • c8y

  • r8y

Image

  • Alibaba Cloud Linux

    • Alibaba Cloud Linux 3.2104 LTS 64-bit for ARM (Disarankan)

    • Alibaba Cloud Linux 3.2104 LTS 64-bit for ARM MLPS 2.0 Level 3 compliant edition

  • Anolis OS

    • Anolis 8.8 64-bit for ARM (RHCK)

    • Anolis 8.8 64-bit for ARM (ANCK) MLPS 2.0 Level 3 compliant edition

    • Anolis 8.8 64-bit for ARM (ANCK)

    • Anolis 8.6 64-bit for ARM (RHCK)

    • Anolis 8.6 64-bit for ARM (ANCK)

    • Anolis 8.4 64-bit for ARM (RHCK)

    • Anolis 8.4 64-bit for ARM (ANCK)

    • Anolis 7.9 64-bit for ARM (RHCK)

    • Anolis 7.9 64-bit for ARM (ANCK)

  • Ubuntu

    • Ubuntu 22.04 64-bit for ARM

    • Ubuntu 20.04 64-bit for ARM

    • Ubuntu 18.04 64-bit for ARM

  • CentOS 7.9 64-bit for ARM

    Catatan

    CentOS 7 telah mencapai EOL. Tidak disarankan.

  • Debian

    • Debian 11.5 64-bit for ARM

    • Debian 11.2 64-bit for ARM

    • Debian 10.13 64-bit for ARM

      Catatan

      Debian 10.13 telah mencapai EOL. Tidak disarankan.

Langkah 2: Migrasi perangkat lunak

Tabel berikut mencantumkan versi yang direkomendasikan untuk kompilator, pustaka runtime, dan aplikasi. Instal sesuai kebutuhan.

Kategori

Perangkat Lunak

Versi yang direkomendasikan

Deskripsi

Compiler

GCC

gcc 10.2.1

Gunakan GCC 10 atau versi lebih baru untuk peningkatan kinerja signifikan.

LLVM

LLVM 13/clang 13

  • Memerlukan glibc 2.17 atau lebih baru.

  • Menggunakan libstdc++ (dari GCC 6/9 atau lebih baru) sebagai pustaka runtime C++.

  • Bergantung pada paket RPM LLVM 13 dan gcc-c++.

Glibc

glibc 2.32

Tidak ada

JDK

Dragonwell 11 atau OpenJDK 11

Dragonwell lebih disarankan karena kinerja dan dukungan yang lebih baik.

Golang

go 1.18+

SDK Go terus dioptimalkan untuk ARM. Gunakan versi terbaru:

  • Go 1.16 meningkatkan kinerja operasi atomik ARM dan penyalinan data.

  • Go 1.18 meneruskan parameter dalam register alih-alih di stack, memberikan peningkatan kinerja 10% pada ARM.

Python

3.8

Python 2.7 mencapai EOL pada 1 Januari 2020. Python 3.6 mencapai EOL pada 23 Desember 2022. Gunakan Python 3.7 atau lebih baru.

PHP

7.4+

Didukung komunitas

Container

K8s

K8s 1.22 Containerd 1.5.0+

Didukung komunitas

Web application

Nginx

Gunakan versi yang disertakan dengan OS.

Dikelola oleh distributor OS

httpd

Gunakan versi yang disertakan dengan OS.

Dikelola oleh distributor OS

NodeJS

Gunakan versi yang disertakan dengan OS.

Dikelola oleh distributor OS

Database

MySQL

Gunakan versi yang disertakan dengan OS.

Dikelola oleh distributor OS

Redis

Gunakan versi yang disertakan dengan OS.

Dikelola oleh distributor OS

Big data

Hadoop

Hadoop 3.3.1

Didukung komunitas

Spark

Spark 3.2

Didukung komunitas

Hive

Hive 3.1

Didukung komunitas

ElasticSearch

ES 7.12

Didukung komunitas

Others

Gromacs

Versi terbaru

Didukung komunitas

BWA

Versi terbaru

Didukung komunitas

Gatk

4.3.0.0

Didukung komunitas

Langkah 3: Kompilasi dan build

Kompilasi dan build perangkat lunak Anda berdasarkan panduan berikut:

Referensi

Periksa arsitektur CPU

Jalankan uname -m atau arch untuk memeriksa arsitektur CPU. Output bervariasi tergantung arsitektur:

  • ARM: `aarch64`

    image

  • x86: `x86_64`

    image

Periksa informasi CPU detail

Jalankan lscpu untuk melihat informasi CPU detail. Output bervariasi tergantung arsitektur:

  • ARM:

    image

  • x86:

    image

Periksa informasi OS

Jalankan cat /proc/version untuk memeriksa versi OS dan kompilator. Output bervariasi tergantung arsitektur:

  • x86:

    image

  • ARM:

    image