PERF02-BP05 Menggunakan elastisitas sumber daya yang tersedia
Cloud menyediakan fleksibilitas untuk memperluas dan mengurangi sumber daya Anda secara dinamis melalui beragam mekanisme untuk memenuhi perubahan sesuai permintaan. Dengan menggabungkan elastisitas ini dengan metrik yang terkait dengan komputasi, beban kerja dapat merespons perubahan secara otomatis untuk menggunakan sumber daya yang diperlukannya dan hanya sumber daya yang diperlukannya.
Antipola umum:
-
Anda memberikan persediaan berlebih agar kemungkinan lonjakan dapat teratasi.
-
Anda bereaksi terhadap alarm dengan meningkatkan kapasitas secara manual.
-
Anda meningkatkan kapasitas tanpa mempertimbangkan waktu penyediaan.
-
Anda membiarkan peningkatan kapasitas setelah peristiwa penskalaan, bukannya menurunkan kembali skala.
-
Anda memantau metrik yang tidak secara langsung mencerminkan persyaratan beban kerja yang sebenarnya.
Manfaat menjalankan praktik terbaik ini: Permintaan bisa tetap, berupa variabel, mengikuti pola, atau berfluktuasi. Menyesuaikan pasokan dengan permintaan akan menghasilkan biaya paling rendah untuk beban kerja. Pemantauan, pengujian, dan konfigurasi elastisitas beban kerja akan mengoptimalkan performa, menghemat uang, dan meningkatkan keandalan seiring perubahan permintaan penggunaan. Meskipun pendekatan manual untuk hal ini dapat dilakukan, pendekatan ini tidak praktis dalam skala besar. Pendekatan otomatis berbasis metrik memastikan sumber daya memenuhi permintaan kapan saja.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Sedang
Panduan implementasi
Otomatisasi berbasis metrik harus digunakan untuk memanfaatkan elastisitas dengan tujuan pasokan sumber daya yang Anda miliki sesuai dengan permintaan sumber daya yang diperlukan beban kerja Anda. Contohnya, Anda dapat menggunakan metrik Amazon CloudWatch untuk memantau sumber daya Anda
Digabungkan dengan metrik yang terkait dengan komputasi, beban kerja dapat merespons secara otomatis dan menggunakan rangkaian optimal sumber daya untuk mencapai tujuannya. Anda juga harus membuat rencana untuk waktu penyediaan dan potensi kegagalan sumber daya.
Instans, kontainer, dan fungsi menyediakan mekanisme untuk elastisitas sebagai fitur layanan, dalam bentuk Application Auto Scaling
Validasikan metrik Anda untuk menaikkan atau menurunkan skala sumber daya elastis terhadap jenis beban kerja yang di-deploy. Sebagai contoh, jika Anda melakukan deployment aplikasi transkode video, pemanfaatan CPU 100% adalah hal normal dan tidak boleh menjadi metrik primer Anda. Sebagai alternatif, Anda dapat mengukur kedalaman antrean tugas transkode yang menunggu untuk menskalakan jenis instans Anda.
Deployment beban kerja harus menangani peristiwa kenaikan dan penurunan skala. Menurunkan skala komponen beban kerja dengan aman sama pentingnya dengan menaikkan skala sumber daya ketika permintaan naik.
Buat skenario pengujian untuk peristiwa penskalaan untuk memverifikasi bahwa perilaku beban kerja sesuai dengan yang diharapkan.
Langkah implementasi
-
Manfaatkan data historis untuk menganalisis permintaan sumber daya beban kerja Anda seiring waktu. Ajukan pertanyaan spesifik seperti:
-
Apakah beban kerja Anda stabil dan meningkat seiring waktu dengan laju yang diketahui?
-
Apakah beban kerja Anda meningkat dan menurun dengan pola musiman yang dapat diulang?
-
Apakah beban kerja Anda berfluktuasi? Dapatkah lonjakan diantisipasi atau diprediksi?
-
-
Manfaatkan layanan pemantauan dan data historis sebanyak mungkin.
-
Memberi tanda pada sumber daya dapat membantu pemantauan. Ketika menggunakan tanda, lihat praktik terbaik pemberian tanda. Selain itu, tanda dapat membantu Anda mengelola, mengidentifikasi, dan mengatur sumber daya.
-
Dengan AWS, Anda dapat menggunakan sejumlah pendekatan yang berbeda untuk menyesuaikan pasokan dengan permintaan. Praktik terbaik pilar pengoptimalan biaya (COST09-BP01 hingga COST09-03) menjelaskan cara untuk menggunakan pendekatan biaya berikut:
-
Buat skenario pengujian untuk peristiwa penurunan skala untuk memverifikasi bahwa perilaku beban kerja sesuai dengan yang diharapkan.
-
Sebagian besar instans non produksi harus dihentikan ketika sedang tidak digunakan.
-
Untuk kebutuhan penyimpanan ketika menggunakan Amazon Elastic Block Store (Amazon EBS), manfaatkan elastisitas berbasis volume.
-
Untuk Amazon Elastic Compute Cloud (Amazon EC2)
, pertimbangkan untuk menggunakan grup Auto Scaling, yang memungkinkan Anda untuk mengoptimalkan performa dan biaya dengan meningkatkan secara otomatis jumlah instans komputasi selama terjadi lonjakan permintaan dan mengurangi kapasitas ketika terjadi penurunan permintaan.
Sumber daya
Praktik Terbaik Terkait:
Dokumen terkait:
Video terkait:
-
Komputasi yang lebih baik, lebih cepat, dan lebih murah: Optimisasi biaya Amazon EC2 (CMP202-R1)
-
Memberikan interferensi ML performa tinggi dengan AWS Inferentia (CMP324-R1)
-
Mengoptimalkan performa dan biaya untuk komputasi AWS Anda (CMP323-R1)
-
Memberdayakan generasi berikutnya Amazon EC2: Memahami sistem Nitro
Contoh terkait: