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.
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:
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.
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 |
|
Gambar |
|
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 |
| |
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:
| |
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.
Migrasi kode sumber
Migrasi perangkat lunak open source
Gunakan perangkat lunak open source seperti NGINX, MySQL, Redis, TensorFlow, dan PyTorch pada instance ECS YiTian.
Referensi
Lihat arsitektur CPU
Jalankan perintah uname -m atau arch untuk melihat arsitektur CPU. Output perintah bervariasi berdasarkan arsitektur:
aarch64menunjukkan arsitektur Arm.
x86_64menunjukkan arsitektur x86.
Lihat informasi CPU detail
Jalankan perintah lscpu untuk melihat informasi CPU detail. Output perintah bervariasi berdasarkan arsitektur.
Arm

x86

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

Arm
