COST09-BP03 Menyediakan sumber daya secara dinamis - AWS Well-Architected Framework

COST09-BP03 Menyediakan sumber daya secara dinamis

Sumber daya disediakan sesuai dengan perencanaan. Penyediaan dapat berdasarkan permintaan, yaitu melalui penskalaan otomatis, atau berdasarkan waktu, yaitu permintaan dapat diprediksi dan sumber daya disediakan berdasarkan waktu. Metode ini dapat meminimalkan kekurangan atau kelebihan jumlah penyediaan.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Rendah

Panduan implementasi

Anda dapat menggunakan AWS Auto Scaling, atau penskalaan gabungan di dalam kode Anda dengan API atau SDK AWS. Hal ini akan menghemat biaya beban kerja secara keseluruhan dengan menghilangkan biaya operasional yang diperlukan untuk membuat perubahan secara manual di lingkungan Anda, serta dapat dilakukan dengan lebih cepat. Ini akan memastikan bahwa sumber daya untuk beban kerja sesuai dengan permintaan setiap waktu.

Penyediaan berdasarkan permintaan: Manfaatkan elastisitas cloud untuk menyediakan sumber daya dan memenuhi permintaan yang berubah. Manfaatkan fitur layanan atau API untuk mengelompokkan jumlah sumber daya cloud secara terprogram di arsitektur Anda secara dinamis. Hal ini memungkinkan Anda untuk menskalakan komponen di arsitektur Anda, serta meningkatkan jumlah sumber daya secara otomatis selama permintaan melonjak guna mempertahankan kinerja, dan mengurangi kapasitas saat permintaan menurun untuk mengurangi biaya.

AWS Auto Scaling membantu menyesuaikan kapasitas Anda untuk menjaga kinerja yang stabil dan terprediksi dengan biaya serendah mungkin. Ini adalah layanan gratis dan terkelola penuh yang terintegrasi dengan Armada Spot dan instans Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), Amazon DynamoDB, serta Amazon Aurora.

Auto Scaling menyediakan pencarian sumber daya secara otomatis yang dapat dikonfigurasi untuk membantu Anda menemukan sumber daya dalam beban kerja Anda, dilengkapi dengan strategi penskalaan bawaan untuk mengoptimalkan kinerja, biaya, atau keseimbangan antara keduanya, serta memberikan penskalaan prediktif untuk membantu menangani lonjakan yang rutin terjadi.

Auto Scaling dapat mengimplementasikan penskalaan manual, terjadwal, atau berdasarkan permintaan. Anda juga dapat menggunakan metrik atau pengingat dari Amazon CloudWatch untuk memicu peristiwa penskalaan untuk beban kerja Anda. Metrik khusus dapat berupa metrik Amazon EC2 standar, seperti pemanfaatan CPU, throughput jaringan, dan latensi respons atau permintaan terobservasi Elastic Load Balancing(ELB) . Jika memungkinkan, Anda harus menggunakan metrik yang menggambarkan pengalaman pelanggan, biasanya berupa metrik kustom yang berasal dari kode aplikasi di dalam beban kerja Anda.

Jika Anda menggunakan pendekatan berdasarkan permintaan saat merancang, selalu pertimbangkan dua hal yang utama. Pertama, ketahui seberapa cepat Anda harus menyediakan sumber daya baru. Kedua, ketahui bahwa ukuran margin antara penyediaan dan permintaan akan berubah. Anda harus siap untuk menangani rasio perubahan dalam permintaan dan juga bersiap untuk kegagalan sumber daya.

ELB membantu penskalaan dengan mendistribusikan permintaan ke beberapa sumber daya. Jika sumber daya yang Anda implementasikan makin banyak, tambahkan sumber daya ke penyeimbang beban untuk mengisi permintaan. Elastic Load Balancing menyediakan dukungan untuk kontainer, alamat IP, dan Instans Amazon EC2, serta fungsi AWS Lambda.

Penyediaan berdasarkan waktu: Pendekatan berdasarkan waktu selaras dengan kapasitas sumber daya untuk permintaan yang dapat diprediksi atau telah ditentukan berdasarkan waktu. Pendekatan ini biasanya tidak bergantung pada tingkat pemanfaatan sumber daya. Pendekatan berdasarkan waktu memastikan ketersediaan sumber daya pada waktu tertentu saat diperlukan, serta dapat disediakan tanpa penundaan yang disebabkan sistem dan prosedur awal atau pemeriksaan konsistensi. Menggunakan pendekatan berdasarkan waktu, Anda dapat menyediakan sumber daya tambahan atau meningkatkan kapasitas selama periode sibuk.

Anda dapat menggunakan Auto Scaling terjadwal untuk mengimplementasikan pendekatan berdasarkan waktu. Beban kerja dapat dijadwalkan untuk penskalaan ke luar atau ke dalam pada waktu yang ditentukan (misalnya, awal jam kerja) untuk memastikan bahwa sumber daya tersedia saat pengguna atau permintaan datang.

Anda juga dapat memanfaatkan API serta SDK AWS dan AWS CloudFormation untuk menyiapkan atau menarik secara otomatis seluruh lingkungan saat Anda memerlukannya. Pendekatan ini ideal untuk lingkungan pengujian atau pengembangan yang hanya berjalan pada jam kerja atau periode waktu yang ditentukan.

Anda dapat menggunakan API untuk menskalakan ukuran sumber daya di dalam suatu lingkungan (penskalaan vertikal). Misalnya, Anda dapat menaikkan skala beban kerja produksi dengan mengubah ukuran atau kelas instans. Hal ini dapat dicapai dengan menghentikan lalu memulai instans, kemudian memilih kelas dan ukuran instans yang berbeda. Teknik ini juga dapat diterapkan ke sumber daya lain, seperti Volume Elastis Amazon Elastic Block Store (Amazon EBS), yang dapat diubah untuk meningkatkan ukuran, menyeimbangkan kinerja (IOPS), atau mengubah jenis volume saat sedang digunakan.

Jika Anda menggunakan pendekatan berdasarkan waktu saat merancang, selalu pertimbangkan dua hal yang utama. Pertama, seberapa konsisten pola penggunaannya? Kedua, apa dampak dari perubahan pola tersebut? Anda dapat meningkatkan akurasi prediksi dengan memantau beban kerja Anda dan menggunakan kecerdasan bisnis. Jika Anda mendapati perubahan yang signifikan dalam pola penggunaan, Anda dapat menyesuaikan waktu untuk memastikan bahwa cakupan tersedia.

Langkah implementasi

  • Konfigurasikan penjadwalan berdasarkan waktu: Untuk perubahan permintaan yang dapat diprediksi, penskalaan berdasarkan waktu dapat memberikan jumlah sumber daya yang benar pada waktu yang tepat. Hal ini juga bermanfaat jika pembuatan dan konfigurasi sumber daya tidak cukup cepat untuk merespons perubahan permintaan. Menggunakan analisis beban kerja untuk mengonfigurasi penskalaan terjadwal menggunakan AWS Auto Scaling.

  • Konfigurasikan Penskalaan Otomatis: Untuk mengonfigurasi penskalaan berdasarkan metrik beban kerja yang aktif, gunakan Amazon Auto Scaling. Gunakan analisis dan konfigurasikan penskalaan otomatis untuk memicu tingkat sumber daya yang benar, serta memastikan bahwa beban kerja diskalakan pada waktu yang diperlukan.

Sumber daya

Dokumen terkait: