PERF02-BP05 Menskalakan sumber daya komputasi Anda secara dinamis
Gunakan elastisitas cloud untuk menaikkan atau menurunkan skala sumber daya komputasi Anda secara dinamis agar sesuai dengan kebutuhan Anda dan hindari kapasitas penyediaan yang terlalu tinggi atau terlalu rendah untuk beban kerja Anda.
Anti-pola umum:
-
Anda bereaksi pada alarm-alarm dengan meningkatkan kapasitas secara manual.
-
Anda menggunakan pedoman penyesuaian ukuran yang sama (umumnya infrastruktur statis) seperti yang digunakan di on-premise.
-
Anda membiarkan peningkatan kapasitas setelah terjadi peristiwa penskalaan, bukannya menurunkan kembali skala.
Manfaat menerapkan praktik terbaik ini: Mengonfigurasi dan menguji elastisitas sumber daya komputasi dapat membantu Anda menghemat dana, mempertahankan tolok ukur kinerja, dan meningkatkan keandalan saat lalu lintas berubah.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi
Panduan implementasi
AWS memberikan fleksibilitas untuk menaikkan atau menurunkan skala sumber daya Anda secara dinamis melalui berbagai mekanisme penskalaan untuk memenuhi perubahan-perubahan permintaan. Digabungkan dengan metrik-metrik yang terkait dengan komputasi, penskalaan dinamis akan memungkinkan beban kerja untuk merespons perubahan secara otomatis dan menggunakan rangkaian optimal sumber daya komputasi untuk mencapai tujuannya.
Anda dapat menggunakan sejumlah pendekatan yang berbeda untuk menyesuaikan pasokan sumber daya dengan permintaan.
-
Pendekatan pelacakan sasaran: Pantau metrik penskalaan Anda dan tingkatkan atau turunkan kapasitas secara otomatis sesuai kebutuhan.
-
Penskalaan prediktif: Lakukan pengurangan skala (scale in) dalam mengantisipasi tren harian dan mingguan.
-
Pendekatan berbasis jadwal: Tetapkan jadwal penskalaan Anda sendiri sesuai dengan perubahan-perubahan beban yang dapat diprediksi.
-
Penskalaan layanan: Pilihlah layanan-layanan (seperti nirserver) yang secara otomatis menskalakan sesuai rancangan.
Anda harus memastikan bahwa deployment beban kerja tersebut dapat menangani peristiwa kenaikan (scale-up) dan penurunan skala (scale-down).
Langkah-langkah implementasi
-
Instans, kontainer, dan fungsi komputasi menyediakan mekanisme bagi elastisitas, baik dengan dikombinasikan bersama penskalaan otomatis atau sebagai sebuah fitur layanan. Berikut beberapa contoh mekanisme penskalaan otomatis:
Mekanisme Penskalaan Otomatis Harus digunakan di mana Amazon EC2 Auto Scaling Untuk memastikan Anda memiliki jumlah instans Amazon EC2 yang tepat yang tersedia untuk menangani beban aplikasi Anda. Penskalaan Otomatis Aplikasi Untuk secara otomatis menskalakan sumber daya untuk masing-masing layanan AWS di luar Amazon EC2 seperti fungsi AWS Lambda atau layanan Amazon Elastic Container Service (Amazon ECS) . Penskala Otomatis Klaster Kubernetes/Karpenter Untuk secara otomatis menskalakan klaster Kubernetes. -
Penskalaan sering kali dibahas terkait dengan layanan-layanan komputasi seperti Instans Amazon EC2 atau fungsi AWS Lambda. Pastikan juga untuk mempertimbangkan konfigurasi layanan non-komputasi seperti AWS Glue untuk mengimbangi permintaan.
-
Pastikan bahwa metrik-metrik untuk penskalaan cocok dengan karakteristik beban kerja yang sedang di-deploy. Jika Anda men-deploy sebuah aplikasi transkode video, 100% pemanfaatan CPU adalah hal normal dan tidak boleh menjadi metrik primer Anda. Gunakan kedalaman antrean tugas transkode sebagai gantinya. Anda dapat menggunakan metrik yang dikustom
untuk kebijakan penskalaan Anda, jika diperlukan. Untuk memilih metrik yang tepat, pertimbangkan panduan berikut untuk Amazon EC2: -
Metrik tersebut harus merupakan metrik pemanfaatan yang valid dan mendeskripsikan tingkat kesibukan suatu instans.
-
Nilai metrik harus meningkatkan atau menurunkan jumlah instans secara proporsional dalam grup Amazon EC2 Auto Scaling.
-
-
Pastikan Anda menggunakan penskalaan dinamis alih-alih penskalaan manual untuk grup Amazon EC2 Auto Scaling Anda. Kami juga menyarankan agar Anda menggunakan kebijakan penskalaan pelacakan target dalam penskalaan dinamis Anda.
-
Pastikan deployment beban kerja dapat menangani dua jenis peristiwa penskalaan (naik dan turun). Sebagai contoh, Anda dapat menggunakan Riwayat aktivitas untuk melakukan verifikasi terhadap aktivitas penskalaan untuk sebuah grup Amazon EC2 Auto Scaling.
-
Lakukan evaluasi terhadap beban kerja Anda untuk memeriksa pola-pola terprediksi dan secara proaktif skalakan saat Anda mengantisipasi perubahan permintaan yang terencana dan terprediksi. Dengan penskalaan prediktif, Anda dapat menghilangkan kebutuhan untuk menyediakan kapasitas secara berlebih. Untuk detail selengkapnya, silakan lihat Penskalaan Prediktif dengan Amazon EC2 Auto Scaling
.
Sumber daya
Dokumen terkait:
Video terkait:
-
AWS re:Invent 2023 – AWS Graviton: Performa harga terbaik untuk beban kerja AWS Anda
-
AWS re:Invent 2023 – Kemampuan AI generatif Amazon EC2 baru di Konsol Manajemen AWS
-
AWS re:Invent 2023 – Penghematan cerdas: Strategi optimalisasi biaya Amazon EC2
-
AWS re:Invent 2021 – Mendukung Amazon EC2 generasi berikutnya: Memahami lebih dalam Sistem Nitro
Contoh terkait: