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 penyediaan yang terlalu banyak atau terlalu sedikit.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Rendah
Panduan implementasi
Ada sejumlah cara bagi pelanggan AWS untuk meningkatkan sumber daya yang tersedia untuk aplikasi mereka dan menyediakan sumber daya untuk memenuhi permintaan. Salah satu opsinya adalah dengan menggunakan Penjadwal Instans AWS, yang mengotomatiskan pengaktifan dan penghentian instans Amazon Elastic Compute Cloud (Amazon EC2) dan Amazon Relational Database Service (Amazon RDS). Opsi lainnya adalah menggunakan AWS Auto Scaling, yang memungkinkan Anda untuk secara otomatis menskalakan sumber daya komputasi berdasarkan permintaan aplikasi atau layanan Anda. Memasok sumber daya berdasarkan permintaan akan memungkinkan Anda membayar sumber daya yang Anda gunakan saja, menekan biaya dengan meluncurkan sumber daya hanya saat dibutuhkan, dan menghentikannya saat tidak dibutuhkan.
Penjadwal Instans AWS
![Diagram yang menunjukkan pengoptimalan biaya menggunakan Penjadwal Instans AWS.](images/instance-scheduler-diagram.png)
Optimalisasi biaya dengan Penjadwal Instans AWS.
Anda juga dapat dengan mudah mengonfigurasi jadwal untuk instans Amazon EC2 Anda di seluruh akun dan Wilayah Anda dengan antarmuka pengguna (UI) yang sederhana menggunakan Pengaturan Cepat AWS Systems Manager. Anda dapat menjadwalkan instans Amazon EC2 atau Amazon RDS dengan Penjadwal Instans AWS dan Anda dapat menghentikan dan memulai instans yang ada. Namun, Anda tidak dapat menghentikan dan memulai instans yang merupakan bagian dari grup Auto Scaling (ASG) Anda atau yang mengelola layanan seperti Amazon Redshift atau Amazon OpenSearch Service. Grup Auto Scaling memiliki penjadwalan sendiri untuk instans di dalam grup dan instans-instans tersebut adalah hasil buatan.
AWS Auto Scaling
Ada beberapa opsi penskalaan yang tersedia untuk menskalakan grup Auto Scaling Anda:
-
Pertahankan level instans saat ini setiap saat
-
Skalakan secara manual
-
Skalakan berdasarkan jadwal
-
Skalakan berdasarkan permintaan
-
Gunakan penskalaan prediktif
Kebijakan Auto Scaling berbeda-beda dan dapat dikategorikan ke dalam kebijakan penskalaan dinamis dan terjadwal. Kebijakan dinamis ditujukan untuk penskalaan manual atau dinamis, sedangkan kebijakan terjadwal ditujukan untuk penskalaan terjadwal atau prediktif. Anda dapat menggunakan kebijakan penskalaan untuk penskalaan dinamis, terjadwal, dan prediktif. Anda juga dapat menggunakan metrik atau alarm dari Amazon CloudWatch
Anda dapat menggunakan AWS Auto Scaling atau menggabungkan penskalaan di dalam kode Anda dengan API atau SDK AWS
Elastic Load Balancing (Elastic Load Balancing)
Metrik yang umum dapat berupa metrik Amazon EC2 standar, seperti pemanfaatan CPU, throughput jaringan, dan latensi respons atau permintaan terobservasi Elastic Load Balancing. Jika memungkinkan, Anda harus menggunakan metrik yang menggambarkan pengalaman pelanggan, biasanya berupa metrik kustom yang berasal dari kode aplikasi di dalam beban kerja Anda. Untuk menguraikan cara memenuhi permintaan secara dinamis dalam dokumen ini, kami akan mengelompokkan Auto Scaling ke dalam dua kategori yakni model penyediaan berdasarkan permintaan dan berdasarkan waktu, dan kami akan menjelaskan masing-masing.
Penyediaan berdasarkan permintaan: Manfaatkan elastisitas cloud untuk memasok sumber daya guna memenuhi permintaan yang berubah dengan mengandalkan kondisi permintaan yang mendekati waktu nyata. Untuk penyediaan berdasarkan permintaan, gunakan fitur layanan atau API untuk mengelompokkan jumlah sumber daya cloud secara terprogram di arsitektur Anda. Hal ini memungkinkan Anda untuk menskalakan komponen di arsitektur Anda, serta meningkatkan jumlah sumber daya saat permintaan melonjak guna mempertahankan kinerja, dan mengurangi kapasitas saat permintaan menurun untuk mengurangi biaya.
![Diagram yang menjelaskan kebijakan penskalaan berdasarkan permintaan seperti penskalaan sederhana/langkah dan pelacakan target.](images/demand-based-supply.png)
Kebijakan penskalaan dinamis berdasarkan permintaan
-
Penskalaan Sederhana/Langkah: Memantau metrik dan menambahkan/menghapus instans sesuai langkah yang ditentukan oleh pelanggan secara manual.
-
Pelacakan Target: Mekanisme kontrol mirip termostat yang secara otomatis menambahkan atau menghapus instans untuk mempertahankan metrik pada target yang ditentukan pelanggan.
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 menangani rasio perubahan dalam permintaan dan juga siap dengan kegagalan sumber daya.
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 menghidupkan atau pemeriksaan konsistensi. Menggunakan pendekatan berdasarkan waktu, Anda dapat menyediakan sumber daya tambahan atau meningkatkan kapasitas selama periode sibuk.
![Diagram yang menggambarkan kebijakan penskalaan berdasarkan waktu seperti penskalaan terjadwal dan prediktif.](images/time-based-supply.png)
Kebijakan penskalaan berdasarkan waktu
Anda dapat menggunakan penskalaan otomatis yang terjadwal atau prediktif untuk menerapkan pendekatan berdasarkan waktu. Beban kerja dapat dijadwalkan untuk penskalaan ke luar atau ke dalam pada waktu yang ditentukan (misalnya, awal jam kerja), sehingga sumber daya tersedia saat pengguna datang atau permintaan meningkat. Penskalaan prediktif menggunakan pola untuk menskalakan ke luar sedangkan penskalaan terjadwal menggunakan waktu yang ditetapkan di awal untuk menskalakan ke luar. Anda juga dapat menggunakan strategi pemilihan jenis instans berbasis atribut (ABS) di grup Auto Scaling, yang memungkinkan Anda untuk menyatakan persyaratan instans Anda dalam bentuk rangkaian atribut, seperti vCPU, memori, dan penyimpanan. Ini juga memungkinkan Anda untuk menggunakan tipe instans generasi lebih baru secara otomatis ketika tipe tersebut dirilis dan mengakses cakupan kapasitas yang lebih luas dengan Instans Spot Amazon EC2. Armada Amazon EC2 dan Amazon EC2 Auto Scaling memilih dan meluncurkan instans yang cocok dengan atribut yang ditentukan, sehingga tipe instans tidak perlu dipilih secara manual.
Anda juga dapat memanfaatkan API serta SDK AWS
Jika Anda menggunakan pendekatan berdasarkan waktu saat merancang, selalu pertimbangkan dua hal 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 penskalaan terjadwal: 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 konfigurasikan penskalaan terjadwal menggunakan AWS Auto Scaling. Untuk mengonfigurasi penjadwalan berdasarkan waktu, Anda dapat menggunakan penskalaan prediktif dari penskalaan terjadwal untuk menambah jumlah instans Amazon EC2 di dalam grup Auto Scaling Anda sebelumnya berdasarkan perkiraan dan prediksi perubahan beban.
-
Konfigurasikan penskalaan prediktif: Penskalaan prediktif memungkinkan Anda untuk menambah jumlah instans Amazon EC2 di dalam grup Auto Scaling Anda sebelum pola harian atau mingguan dalam arus lalu lintas. Jika Anda sering mengalami lonjakan lalu lintas dan aplikasi Anda perlu waktu lama untuk memulai, Anda sebaiknya mempertimbangkan untuk menggunakan penskalaan prediktif. Penskalaan prediktif dapat membantu Anda melakukan penskalaan lebih cepat dengan memulai kapasitas sebelum beban yang diperkirakan dibandingkan dengan penskalaan dinamis saja, yang memiliki sifat reaktif. Sebagai contoh, jika pengguna mulai menggunakan beban kerja Anda pada awal jam kerja dan tidak menggunakannya setelah jam kerja, maka penskalaan prediktif dapat menambah kapasitas sebelum jam kerja, sehingga tidak terjadi keterlambatan penskalaan dinamis dalam menanggapi perubahan lalu lintas.
-
Konfigurasikan penskalaan otomatis dinamis: Untuk mengonfigurasi penskalaan berdasarkan metrik beban kerja yang aktif, gunakan Auto Scaling. Gunakan analisis dan konfigurasikan Auto Scaling untuk melakukan peluncuran pada tingkat sumber daya yang benar, dan pastikan beban kerja menyesuaikan skala pada waktu yang diinginkan. Anda dapat meluncurkan dan secara otomatis menskalakan armada Instans Sesuai Permintaan dan Instans Spot di dalam satu grup Auto Scaling. Selain menerima diskon karena menggunakan Instans Spot, Anda dapat menggunakan Instans Terpesan atau Savings Plan untuk menerima tarif diskon untuk harga Instans Sesuai Permintaan biasa. Semua kombinasi faktor tersebut membantu Anda mengoptimalkan penghematan biaya Anda untuk instans Amazon EC2 dan membantu Anda mendapatkan skala dan kinerja yang diinginkan untuk aplikasi Anda.
Sumber daya
Dokumen terkait:
Video terkait:
Contoh terkait: