Anda dapat membuat alias untuk versi layanan di Function Compute. Dengan fitur versioning, Anda dapat merilis versi layanan yang berbeda, mendukung implementasi integrasi berkelanjutan (CI) dan pengiriman berkelanjutan (CD) selama proses pengembangan perangkat lunak. Topik ini menjelaskan konsep alias serta cara mengelola alias di konsol Function Compute.
Apa itu alias?
Function Compute memungkinkan Anda membuat alias untuk versi layanan. Alias berfungsi sebagai pointer ke versi tertentu dari layanan. Anda dapat menggunakan alias untuk mempermudah publikasi versi, rollback, atau rilis canary. Alias bergantung pada layanan atau versi. Saat Anda menggunakan alias untuk mengakses layanan atau fungsi, Function Compute akan mengurai alias sebagai versi layanan tertentu.
Sebagai contoh, pemicu HTTP tidak memiliki alias. Setiap kali versi baru dirilis, Anda harus secara manual mengubah versi yang terkait dengan pemicu, yang dapat memperburuk pengalaman pengguna di sisi klien. Dengan menggunakan alias untuk mengelola versi, Anda dapat menerapkan pembaruan halus versi. Gambar berikut menunjukkan proses publikasi versi. Dalam contoh ini, alias PROD dikonfigurasikan untuk menunjuk ke Versi 1. Ketika klien menerima permintaan, klien memanggil fungsi dalam layanan Versi 1 yang aliasnya adalah PROD.
Gambar 1 - Publikasikan Versi 1
Setelah Versi 1 dipublikasikan, Anda dapat melanjutkan pengembangan fitur baru berdasarkan versi LATEST. Klien menggunakan alias untuk memanggil fungsi dalam layanan versi terkait. Untuk mempublikasikan Versi 2, Anda hanya perlu mengubah penunjukan alias PROD ke Versi 2. Ketika klien memanggil fungsi, Versi 2 diurai. Dengan cara ini, versi diperbarui dan diiterasi. Selain itu, Anda dapat mengubah versi yang ditunjuk oleh alias. Sebagai contoh, Anda dapat mengubah versi yang ditunjuk oleh alias PROD ke versi sebelum Versi 1. Dengan cara ini, Anda dapat mempublikasikan versi tanpa memperburuk pengalaman pengguna di sisi klien.
Gambar 2 - Publikasikan Versi 2
Prasyarat
Buat alias
Masuk ke konsol Function Compute. Di panel navigasi di sebelah kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Pada halaman Services, klik layanan yang diinginkan.
Di panel navigasi di sebelah kiri, klik Aliases. Pada halaman Aliases, klik Create Alias.
Di panel Buat Alias untuk Layanan, konfigurasikan parameter dan klik OK.
Tabel berikut menjelaskan parameter yang digunakan untuk membuat alias.
Parameter
Deskripsi
Name
Masukkan nama alias yang ingin Anda buat.
Description
Masukkan deskripsi alias.
Major Version
Tentukan versi utama alias.
Enable Canary Release
Tentukan apakah akan mengaktifkan versi rilis canary. Untuk mengaktifkan rilis canary, pilih Ya dan konfigurasikan parameter berikut berdasarkan kebutuhan bisnis Anda.
Canary Release Version
Tentukan versi rilis canary alias.
Canary Release Type
Pilih tipe rilis canary, yang bisa Random atau By Rules.
Random: Tentukan bobot untuk mengalihkan sebagian lalu lintas ke versi rilis canary.
By Rules: Tentukan aturan berdasarkan mana rilis canary dilakukan.
CatatanBy Rules hanya berlaku ketika Anda menggunakan pemicu HTTP untuk memanggil alias.
Canary Release Version Weight
Tentukan bobot versi rilis canary. Parameter ini diperlukan jika Anda mengatur Canary Release Type ke Random.
Nilai parameter ini menentukan persentase lalu lintas yang dialihkan ke versi rilis canary. Sebagai contoh, jika Anda mengatur nilainya menjadi 5%, Function Compute mengalihkan 5% lalu lintas ke versi rilis canary dan 95% lalu lintas ke versi utama.
Rule Mode
Tentukan mode aturan. Parameter ini diperlukan jika Anda mengatur Canary Release Type ke By Rules.
Parameter ini menentukan mode untuk mencocokkan aturan yang ditentukan. Nilai valid:
Meet All
Meet Any
Rules
Tentukan aturan. Parameter ini diperlukan jika Anda mengatur Canary Release Type ke By Rules.
Setiap aturan berisi bidang berikut:
Parameter Type: Tentukan jenis parameter. Nilai valid: Header, Cookie, dan Query.
Parameter: Tentukan nama parameter yang digunakan untuk mengontrol rilis canary.
Condition: Tentukan kondisi untuk perbandingan. Ketika permintaan diajukan, Function Compute membandingkan nilai aktual parameter di Parameter dan nilai parameter yang Anda tentukan berdasarkan kondisi yang ditentukan. Jika kondisi cocok, permintaan diarahkan ke versi rilis canary. Nilai valid:
=, !=, >, <, >=, <=: operator perbandingan. Sebagai contoh, jika Anda mengatur Condition ke=, permintaan hanya diarahkan ke versi rilis canary ketika nilai aktual parameter permintaan sama dengan nilai yang ditentukan.Include: kondisi pencocokan string. Permintaan hanya diarahkan ke versi rilis canary ketika nilai aktual parameter permintaan termasuk dalam nilai Value.Distribusi Nilai: Lakukan rilis canary berdasarkan distribusi nilai parameter tertentu. Sebagai contoh, jika Anda mengatur Parameter Type ke Header, Parameter keuser-id, dan Value ke20, 20% permintaan HTTP diarahkan ke versi rilis canary berdasarkan distribusi nilai header permintaanuser-id.
Value: Tentukan nilai parameter yang digunakan untuk mengontrol rilis canary.
Anda dapat mengklik + Add Rule untuk menambahkan lebih banyak aturan.
Pengaturan Lanjutan
Canary Release Weight of Provisioned Instances
Tentukan proporsi untuk mengontrol bobot rilis canary instans dalam mode disediakan. Jika jumlah instans yang disediakan lebih besar dari 1, Function Compute menghasilkan instans berdasarkan bobot yang ditentukan. Jika Anda tidak menentukan parameter ini, bobot defaultnya adalah 1%.
PentingNilai parameter ini valid hanya ketika jumlah instans yang disediakan lebih besar dari 1.
Di halaman Aliases, alias yang Anda buat akan muncul. Anda juga dapat memodifikasi atau menghapus alias yang tidak lagi diperlukan. Anda dapat mengklik Logstore yang sesuai dengan alias yang diinginkan di kolom Actions untuk pergi ke konsol Simple Log Service guna melihat log.
Saat Anda menghapus alias, hanya alias yang dihapus. Versi yang ditunjuk oleh alias dan pemicu yang menunjuk ke alias tetap ada.
Informasi lebih lanjut
Anda juga dapat menggunakan Serverless Devs untuk mengonfigurasi alias untuk versi layanan. Untuk informasi lebih lanjut, lihat Perintah Serverless Devs.