SUS02-BP01 Menskalakan infrastruktur beban kerja secara dinamis - Pilar Pelestarian Lingkungan

SUS02-BP01 Menskalakan infrastruktur beban kerja secara dinamis

Gunakan elastisitas cloud dan skalakan infrastruktur Anda secara dinamis untuk menyesuaikan pasokan sumber daya cloud dengan permintaan dan menghindari kelebihan penyediaan kapasitas di beban kerja Anda.

Antipola umum:

  • Anda tidak menskalakan infrastruktur Anda dengan beban pengguna.

  • Anda secara manual menskalakan infrastruktur Anda sepanjang waktu.

  • Anda membiarkan peningkatan kapasitas setelah peristiwa penskalaan, bukannya menurunkan kembali skala.

Manfaat menerapkan praktik terbaik ini: Mengonfigurasikan dan menguji elastisitas beban kerja akan membantu menyesuaikan pasokan sumber daya cloud dengan permintaan secara efisien dan menghindari kelebihan penyediaan kapasitas. Anda dapat memanfaatkan elastisitas di cloud untuk menskalakan kapasitas secara otomatis selama dan setelah lonjakan permintaan. Hal ini bertujuan untuk memastikan Anda hanya menggunakan jumlah sumber daya yang benar-benar diperlukan untuk memenuhi persyaratan bisnis Anda.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Sedang

Panduan implementasi

Cloud menyediakan fleksibilitas untuk memperluas atau mengurangi sumber daya Anda secara dinamis melalui beragam mekanisme untuk memenuhi perubahan sesuai permintaan. Menyesuaikan pasokan dengan permintaan secara optimal akan memberikan dampak lingkungan terendah untuk beban kerja.

Permintaan dapat bersifat tetap atau bervariasi, sehingga akan memerlukan metrik dan otomatisasi untuk memastikan manajemen permintaan tersebut tidak menyulitkan. Aplikasi dapat diskalakan secara vertikal (naik atau turun) dengan mengubah ukuran instans, secara horizontal (ke dalam atau ke luar) dengan mengubah jumlah instans, atau kombinasi keduanya.

Anda dapat menggunakan sejumlah pendekatan yang berbeda untuk menyesuaikan pasokan sumber daya dengan permintaan.

  • Pendekatan pelacakan target: Pantau metrik penskalaan Anda dan tingkatkan atau turunkan kapasitas secara otomatis sesuai kebutuhan.

  • Penskalaan prediktif: Lakukan penskalaan dalam mengantisipasi tren harian dan mingguan.

  • Pendekatan berbasis jadwal: Tetapkan jadwal penskalaan Anda sendiri sesuai dengan perubahan beban yang dapat diprediksi.

  • Penskalaan layanan: Pilih layanan (seperti nirserver) yang diskalakan secara native berdasarkan desain atau sediakan penskalaan otomatis sebagai fitur.

Identifikasi periode penggunaan rendah atau nol dan skalakan sumber daya untuk menghapus kapasitas berlebih dan meningkatkan efisiensi.

Langkah implementasi

  • Elastisitas menyesuaikan pasokan sumber daya yang Anda miliki dengan permintaan untuk sumber daya tersebut. Instans, kontainer, dan fungsi menyediakan mekanisme untuk elastisitas, baik dalam kombinasi dengan penskalaan otomatis maupun sebagai fitur layanan. AWS menyediakan serangkaian mekanisme penskalaan otomatis untuk memastikan beban kerja dapat diturunkan skalanya dengan cepat dan mudah selama periode beban pengguna yang rendah. Berikut beberapa contoh mekanisme penskalaan otomatis:

    Auto scaling mechanism Where to use

    Amazon EC2 Auto Scaling

    Gunakan untuk memastikan Anda memiliki jumlah instans Amazon EC2 yang tepat untuk menangani beban pengguna aplikasi Anda.

    Application Auto Scaling

    Gunakan untuk secara otomatis menskalakan sumber daya bagi layanan AWS masing-masing di luar Amazon EC2, seperti fungsi Lambda atau layanan Amazon Elastic Container Service (Amazon ECS).

    Kubernetes Cluster Autoscaler

    Gunakan untuk secara otomatis menskalakan klaster Kubernetes di AWS.

  • Penskalaan sering dibahas terkait dengan layanan komputasi seperti instans Amazon EC2 atau fungsi AWS Lambda. Pertimbangkan konfigurasi layanan nonkomputasi seperti unit kapasitas baca dan tulis Amazon DynamoDB atau serpihan (shard) Amazon Kinesis Data Streams untuk disesuaikan dengan permintaan.

  • Pastikan bahwa metrik untuk peningkatan atau penurunan skala telah divalidasi terhadap jenis beban kerja yang di-deploy. Jika Anda men-deploy aplikasi transkode video, 100% pemanfaatan CPU adalah hal normal dan tidak boleh menjadi metrik primer Anda. Anda dapat menggunakan metrik yang disesuaikan (seperti pemanfaatan memori) untuk kebijakan penskalaan jika diperlukan. Untuk memilih metrik yang tepat, pertimbangkan panduan berikut untuk Amazon EC2:

    • Metrik harus merupakan metrik pemanfaatan yang valid dan mendeskripsikan tingkat kesibukan suatu instans.

    • Nilai metrik harus meningkat atau menurun secara proporsional dengan jumlah instans dalam grup Auto Scaling.

  • Gunakan penskalaan dinamis, bukan penskalaan manual untuk grup Auto Scaling Anda. Selain itu, sebaiknya gunakan kebijakan penskalaan pelacakan target dalam penskalaan dinamis Anda.

  • Pastikan deployment beban kerja dapat menangani peristiwa penskalaan ke dalam dan ke luar. Buat skenario pengujian untuk peristiwa penskalaan ke dalam guna memastikan beban kerja berperilaku seperti yang diharapkan dan tidak memengaruhi pengalaman pengguna (seperti kehilangan sesi lekat (sticky session)). Anda dapat menggunakan Riwayat aktivitas untuk memverifikasi aktivitas penskalaan untuk grup Auto Scaling.

  • Evaluasi beban kerja Anda untuk pola terprediksi dan secara proaktif skalakan saat Anda mengantisipasi perubahan terencana dan terprediksi dalam permintaan. Dengan penskalaan prediktif, Anda dapat meniadakan kebutuhan untuk menyediakan kapasitas secara berlebih. Untuk detail selengkapnya, lihat Penskalaan Prediktif dengan Amazon EC2 Auto Scaling.

Sumber daya

Dokumen terkait:

Video terkait:

Contoh terkait: