Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk / Saran
Konten ini adalah kutipan dari eBook, Merancang Aplikasi .NET Cloud Native untuk Azure, tersedia di .NET Docs atau sebagai PDF gratis yang dapat diunduh yang dapat dibaca secara offline.
Ada dua cara untuk menskalakan aplikasi: naik atau keluar. Yang pertama mengacu pada penambahan kapasitas ke satu sumber daya, sementara yang terakhir mengacu pada penambahan lebih banyak sumber daya untuk meningkatkan kapasitas.
Solusi sederhana: meningkatkan skala
Meningkatkan server host yang ada dengan peningkatan CPU, memori, kecepatan I/O disk, dan kecepatan I/O jaringan dikenal sebagai peningkatan skala. Meningkatkan skala aplikasi cloud-native melibatkan pemilihan sumber daya yang lebih mampu dari vendor cloud. Misalnya, Anda dapat membuat kumpulan simpul baru dengan VM yang lebih besar di kluster Kubernetes Anda. Kemudian, migrasikan layanan kontainer Anda ke kumpulan baru.
Aplikasi tanpa server ditingkatkan dengan memilih paket Functions premium atau ukuran instans aplikasi premium dalam paket layanan aplikasi khusus.
Menambah skala aplikasi cloud-native
Aplikasi cloud-native sering mengalami fluktuasi besar dalam permintaan dan memerlukan kemampuan untuk memperbesar atau memperkecil skala dalam waktu singkat. Mereka lebih suka menskalakan keluar. Peluasan skala dilakukan secara horizontal dengan menambahkan komputer tambahan (disebut node) atau instans aplikasi ke kluster yang ada. Di Kubernetes, Anda dapat menskalakan secara manual dengan menyesuaikan pengaturan konfigurasi untuk aplikasi (misalnya, menskalakan kumpulan simpul), atau melalui penskalaan otomatis.
Kluster AKS dapat menskalakan otomatis dengan salah satu dari dua cara:
Pertama, Horizontal Pod Autoscaler memantau permintaan sumber daya dan secara otomatis menskalakan replika POD Anda untuk memenuhinya. Ketika lalu lintas meningkat, replika tambahan secara otomatis disediakan untuk memperluas skala layanan Anda. Demikian juga, ketika permintaan menurun, permintaan akan dihapus untuk menskalakan layanan Anda. Anda menentukan metrik yang akan diskalakan, misalnya, penggunaan CPU. Anda juga dapat menentukan jumlah minimum dan maksimum replika yang akan dijalankan. AKS memantau metrik tersebut dan melakukan penyesuaian skala secara tepat.
Selanjutnya, fitur Autoscaler Kluster AKS memungkinkan Anda menskalakan simpul komputasi secara otomatis di seluruh kluster Kubernetes untuk memenuhi permintaan. Dengan itu, Anda dapat secara otomatis menambahkan VM baru ke Azure Virtual Machine Scale Set yang mendasar setiap kali diperlukan lebih banyak kapasitas komputasi. Ini juga menghapus simpul ketika tidak lagi diperlukan.
Gambar 3-11 menunjukkan hubungan antara kedua layanan penskalakan ini.
Gambar 3-11. Meningkatkan skala rencana App Service.
Bekerja sama, keduanya memastikan jumlah instans kontainer dan simpul komputasi yang optimal untuk mendukung permintaan yang berfluktuasi. Autoscaler horizontal untuk pod mengoptimalkan jumlah pod yang diperlukan. Autoscaler kluster mengoptimalkan jumlah simpul yang diperlukan.
Meningkatkan Skala Azure Functions
Azure Functions secara otomatis meningkatkan skala sesuai permintaan. Sumber daya server dialokasikan dan dihapus secara dinamis berdasarkan jumlah peristiwa yang dipicu. Anda hanya dikenakan biaya untuk sumber daya komputasi yang digunakan saat fungsi Anda berjalan. Penagihan didasarkan pada jumlah eksekusi, waktu eksekusi, dan memori yang digunakan.
Meskipun paket konsumsi default menyediakan solusi ekonomis dan dapat diskalakan untuk sebagian besar aplikasi, opsi premium memungkinkan fleksibilitas pengembang untuk persyaratan Azure Functions kustom. Peningkatan ke paket premium memberikan kontrol atas ukuran instans, instans yang telah dihangatkan sebelumnya (untuk menghindari penundaan awal dingin), dan VM khusus.