全部产品
Search
文档中心

Elastic Compute Service:Migrasi aplikasi dari platform x86 ke instance ECS YiTian

更新时间:Jul 02, 2025

Instance YiTian Elastic Compute Service (ECS) yang menggunakan arsitektur CPU YiTian 710 berbasis Arm meningkatkan kinerja komputasi, penyimpanan, dan jaringan secara signifikan. Anda dapat memigrasikan aplikasi dari platform x86 ke instance ECS YiTian untuk mendapatkan pengalaman layanan cloud yang lebih baik. Topik ini menjelaskan prosedur, skenario, dan langkah-langkah migrasi aplikasi ke instance ECS YiTian.

Informasi latar belakang

Instance ECS YiTian

Instance ECS YiTian mencakup instance ECS yang menggunakan arsitektur CPU YiTian 710 berbasis Arm. Instance ini mengakselerasi jalur cepat pada chip untuk meningkatkan kinerja penyimpanan, jaringan, dan stabilitas komputasi secara signifikan. Instance ini cocok untuk berbagai skenario seperti aplikasi cloud native, enkode dan dekode video, komputasi berperforma tinggi, pembelajaran mesin berbasis CPU, serta layanan game.

Catatan

Keluarga instans g8y, c8y, dan r8y menggunakan arsitektur CPU YiTian 710 berbasis Arm. Untuk informasi lebih lanjut tentang tipe instans dan metrik seperti komputasi, penyimpanan, dan jaringan, lihat topik-topik berikut:

Kebutuhan migrasi

Instance ECS YiTian menggunakan arsitektur Arm yang berbeda dari arsitektur x86. Sebelum menerapkan program yang dikembangkan untuk platform x86 pada instance ECS YiTian, Anda harus mengompilasi ulang program tersebut dan mengoptimalkan kode sesuai kebutuhan untuk meningkatkan performa.

Proses migrasi

Proses migrasi aplikasi dari platform x86 ke instance ECS YiTian melibatkan langkah-langkah utama berikut:

  1. Persiapan Sebelum Migrasi

    Rencanakan sistem operasi, pilih perangkat lunak dasar, dan konfigurasikan sumber daya perangkat keras dari instans yang ingin dimigrasikan. Periksa apakah kode berisi instruksi assembly terkait x86 atau dependensi perangkat keras dan fitur, serta apakah pustaka pihak ketiga menyediakan versi Arm. Anda juga perlu melakukan tes kompatibilitas.

  2. Kompilasi dan Migrasi Perangkat Lunak

    Instal compiler dan versi perangkat lunak berdasarkan bahasa pemrograman, lalu kompilasi ulang kode.

Skenario migrasi

Skenario kompilasi dan migrasi perangkat lunak melibatkan jenis perangkat lunak berikut:

  • Perangkat lunak kode sumber: dikembangkan oleh pengembang atau ditingkatkan berdasarkan perangkat lunak open source. Sebagian besar perangkat lunak internal menggunakan jenis bahasa pemrograman berikut:

    • Bahasa terkompilasi: biasanya mencakup C++ dan Go. Bahasa ini mengompilasi kode sumber menjadi file biner spesifik arsitektur. File-file tersebut harus dikompilasi ulang setelah migrasi. Untuk informasi lebih lanjut, lihat Gunakan Make dan CMake untuk membangun file dan Migrasi kode C atau C++.

    • Bahasa terinterpretasi: biasanya mencakup Java dan Python. File yang dikompilasi dari kode sumber dalam bahasa ini independen dari arsitektur dan secara teoritis dapat berjalan di berbagai arsitektur. Jika pustaka asli diperkenalkan dalam bahasa terinterpretasi, seperti saat aplikasi Java menggunakan Java Native Interface (JNI) untuk memanggil pustaka tautan dinamis yang dikembangkan dalam C, aplikasi tersebut terkait dengan arsitektur dan harus dikompilasi ulang. Untuk informasi lebih lanjut, lihat Migrasi kode Java dan Migrasi Python.

  • Perangkat lunak open source: diunduh dari komunitas open source tanpa modifikasi atau disertakan bersama sistem operasi. Sebagian besar perangkat lunak open source didukung oleh platform YiTian berbasis Arm. Anda dapat langsung menggunakan perangkat lunak open source yang disediakan dalam sistem operasi. Untuk informasi lebih lanjut, lihat Migrasi perangkat lunak open source.

Prosedur

Sebelum memigrasikan perangkat lunak dari platform x86 ke instance ECS YiTian, siapkan sumber daya lingkungan, termasuk instans, sistem operasi, dan perangkat lunak dasar. Ikuti langkah-langkah berikut:

Langkah 1: Buat instance ECS YiTian

Untuk informasi lebih lanjut, lihat Buat instans di tab Peluncuran Kustom. Perhatikan parameter yang dijelaskan dalam tabel berikut.

Parameter

Deskripsi

Keluarga instans

  • g8y (direkomendasikan)

  • c8y

  • r8y

Gambar

  • Alibaba Cloud Linux

    • Alibaba Cloud Linux 3.2104 LTS 64-bit untuk Arm (direkomendasikan)

    • Alibaba Cloud Linux 3.2104 LTS 64-bit untuk Arm (MLPS 2.0 Level 3)

  • Anolis OS

    • Anolis 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

  • Ubuntu

    • Ubuntu 22.04 64-bit untuk Arm

    • Ubuntu 20.04 64-bit untuk Arm

    • Ubuntu 18.04 64-bit untuk Arm

  • CentOS 7.9 64-bit untuk Arm

    Catatan

    Seri CentOS 7 telah mencapai akhir masa pakai (EOL). Kami menyarankan agar Anda tidak menggunakan versi ini.

  • Debian

    • Debian 11.5 64-bit untuk Arm

    • Debian 11.2 64-bit untuk Arm

    • Debian 10.13 64-bit untuk Arm

      Catatan

      Debian 10.13 telah mencapai EOL. Kami menyarankan agar Anda tidak menggunakan versi ini.

Langkah 2: Migrasi perangkat lunak

Perangkat lunak yang akan dimigrasikan mencakup perangkat lunak internal dan perangkat lunak open source. Tabel berikut menjelaskan versi yang direkomendasikan dari compiler, pustaka runtime, dan aplikasi. Instal dan gunakan perangkat lunak berdasarkan kebutuhan bisnis Anda.

Kategori

Perangkat Lunak

Versi Direkomendasikan

Deskripsi

Compiler

GCC

GCC 10.2.1

Kami merekomendasikan Anda menggunakan GCC 10 atau yang lebih baru untuk peningkatan performa yang signifikan.

LLVM

LLVM 13/Clang 13

  • Saat menggunakan Clang 13, versi GNU C Library (glibc) harus 2.17 atau yang lebih baru.

  • Saat menggunakan Clang 13, pustaka runtime C++ yang digunakan harus libstdc++ (GCC 6 atau lebih baru, atau GCC 9 atau lebih baru).

  • Clang 13 bergantung pada LLVM 13 dan GCC-C++ Package Manager (RPM).

Glibc

glibc 2.32

Tidak ada.

JDK

Dragonwell 11 atau OpenJDK 11

Kami merekomendasikan Anda menggunakan Dragonwell untuk performa dan dukungan yang lebih baik.

Golang

Go 1.18+

SDK untuk Go dioptimalkan untuk arsitektur Arm. Kami merekomendasikan Anda menggunakan versi berikut:

  • Go 1.16: Performa operasi atomik Arm dan operasi penyalinan data dioptimalkan.

  • Go 1.18: Parameter dilewatkan menggunakan register bukan stack. Versi ini memberikan peningkatan performa 10% untuk arsitektur Arm.

Python

3.8

Python 2.7 mencapai EOL pada 1 Januari 2020. Python 3.6 mencapai EOL pada 23 Desember 2022. Kami merekomendasikan Anda menggunakan Python 3.7 atau yang lebih baru.

PHP

7.4+

Didukung oleh komunitas.

Kontainer

Kubernetes

Kubernetes 1.22 Containerd 1.5.0+

Didukung oleh komunitas.

Aplikasi web

NGINX

Versi yang disertakan dengan sistem operasi yang direkomendasikan

Dikelola dan didukung oleh penyedia sistem operasi.

HTTPd

Versi yang disertakan dengan sistem operasi yang direkomendasikan

Dikelola dan didukung oleh penyedia sistem operasi.

NodeJS

Versi yang disertakan dengan sistem operasi yang direkomendasikan

Dikelola dan didukung oleh penyedia sistem operasi.

Database

MySQL

Versi yang disertakan dengan sistem operasi yang direkomendasikan

Dikelola dan didukung oleh penyedia sistem operasi.

Redis

Versi yang disertakan dengan sistem operasi yang direkomendasikan

Dikelola dan didukung oleh penyedia sistem operasi.

Big data

Hadoop

Hadoop 3.3.1

Didukung oleh komunitas.

Spark

Spark 3.2

Didukung oleh komunitas.

Hive

Hive 3.1

Didukung oleh komunitas.

Elasticsearch

ES 7.12

Didukung oleh komunitas.

Lainnya

Gromacs

Versi terbaru

Didukung oleh komunitas.

BWA

Versi terbaru

Didukung oleh komunitas.

Gatk

4.3.0.0

Didukung oleh komunitas.

Langkah 3: Lakukan kompilasi pasca-migrasi

Rujuk panduan berikut untuk mengompilasi dan membangun perangkat lunak berdasarkan kebutuhan bisnis Anda.

Referensi

Lihat arsitektur CPU

Jalankan perintah uname -m atau arch untuk melihat arsitektur CPU. Output perintah bervariasi berdasarkan arsitektur:

  • aarch64 menunjukkan arsitektur Arm.

    image

  • x86_64 menunjukkan arsitektur x86.

    image

Lihat informasi CPU detail

Jalankan perintah lscpu untuk melihat informasi CPU detail. Output perintah bervariasi berdasarkan arsitektur.

  • Arm

    image

  • x86

    image

Lihat informasi sistem operasi

Informasi sistem operasi berbeda antara arsitektur x86 dan Arm. Jalankan perintah cat /proc/version untuk melihat informasi sistem operasi dan versi compiler. Output perintah bervariasi berdasarkan arsitektur.

  • x86

    image

  • Arm

    image