COST09-BP03 Menyediakan sumber daya secara dinamis - Pilar Optimalisasi Biaya

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 diterapkan: 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 opsi ini adalah dengan menggunakan Instans Penjadwal AWS, yang membuat proses mulai dan henti instans Amazon Elastic Compute Cloud (Amazon EC2) dan instans Amazon Relational Database Service (Amazon RDS) menjadi otomatis. 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 memungkinkan Anda untuk mengonfigurasi penghentian dan pengaktifan instans Amazon EC2 dan Amazon RDS Anda pada waktu yang telah ditentukan sehingga Anda dapat memenuhi permintaan untuk sumber daya yang sama dalam pola waktu yang konsisten, misalnya setiap hari pengguna mengakses instans Amazon EC2 pada pukul delapan pagi dan mereka tidak perlu mengaksesnya setelah pukul enam sore. Solusi ini membantu mengurangi biaya operasional dengan menghentikan sumber daya yang tidak digunakan dan memulainya saat diperlukan.

Diagram yang menunjukkan pengoptimalan biaya menggunakan Penjadwal Instans AWS.

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 instans Amazon RDS dengan Penjadwal Instans AWS dan Anda dapat menghentikan dan memulai instans yang ada. Namun, Anda tidak dapat menghentikan dan memulai instans-instans yang merupakan bagian dari grup Auto Scaling (ASG) atau yang mengelola layanan seperti Amazon Redshift atau Amazon OpenSearch Service. Grup Auto Scaling (penskalaan otomatis) memiliki penjadwalannya sendiri untuk instans-instans di grup dan instans-instans ini dibuat.

AWS Auto Scaling akan membantu Anda menyesuaikan kapasitas Anda untuk menjaga kinerja yang stabil dan terprediksi dengan biaya serendah mungkin untuk memenuhi permintaan yang berubah. Ini adalah sebuah layanan yang dikelola sepenuhnya dan gratis untuk menskalakan kapasitas aplikasi Anda yang terintegrasi dengan instans Amazon EC2 dan Armada Spot, Amazon ECS, Amazon DynamoDB, dan Amazon Aurora. Penskalaan otomatis 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.

Ada beberapa opsi penskalaan yang tersedia untuk menskalakan kapasitas grup Auto Scaling Anda:

  • Menjaga tingkat instance saat ini setiap saat

  • Menskalakan secara manual

  • Menskalakan berdasarkan jadwal

  • Menskalakan berdasarkan permintaan

  • Gunakan penskalaan prediktif

Kebijakan Auto Scaling (penskalaan otomatis) 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 yang dinamis, terjadwal, dan prediktif. Anda juga dapat menggunakan metrik dan peringatan dari Amazon CloudWatch untuk memicu event penskalaan beban kerja Anda. Kami menyarankan Anda menggunakan templat peluncuran, yang memungkinkan Anda mengakses fitur-fitur dan peningkatan terbaru. Tidak semua fitur-fitur Auto Scaling (penskalaan otomatis) tersedia saat Anda menggunakan konfigurasi peluncuran. Misalnya, Anda tidak dapat membuat grup Auto Scaling yang meluncurkan Instans Spot dan Instans Sesuai Permintaan atau yang menentukan beberapa jenis instans. Anda harus menggunakan templat peluncuran untuk mengonfigurasi fitur ini. Saat menggunakan templat peluncuran, kami sarankan Anda melakukan penentuan versi masing-masing. Dengan penentuan versi templat peluncuran, Anda dapat membuat subset dari set lengkap parameter. Kemudian, Anda dapat menggunakannya kembali untuk membuat versi lain dari templat peluncuran yang sama.

Anda dapat menggunakan AWS Auto Scaling atau menggabungkan pengurangan kapasitas 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, dan perubahan dapat dilakukan dengan lebih cepat. Hal ini juga menyesuaikan pengadaan sumber daya beban kerja Anda dengan permintaan Anda kapan saja. Agar dapat mengikuti praktik terbaik ini dan menyediakan sumber daya secara dinamis untuk organisasi Anda, Anda harus memahami penskalaan horizontal dan penskalaan vertikal di AWS Cloud, serta sifat aplikasi yang berjalan di instans Amazon EC2. Sebaiknya tim Manajemen Keuangan Cloud Anda bekerja dengan tim teknis untuk mengikuti praktik terbaik ini.

Penyeimbang Beban Elastis (Penyeimbang Beban Elastis) membantu Anda melakukan penskalaan dengan mendistribusikan permintaan ke berbagai sumber daya. Dengan menggunakan ASG dan Penyeimbang Beban Elastic, Anda dapat mengelola permintaan masuk dengan merutekan lalu lintas secara optimal sehingga tidak ada instans yang kewalahan di dalam grup Auto Scaling. Permintaan akan didistribusikan di antara semua target dari grup target secara round-robin tanpa mempertimbangkan kapasitas atau pemanfaatan.

Metrik yang umum bisa berupa metrik-metrik standar Amazon EC2, seperti pemanfaatan CPU, throughput jaringan, dan latensi respons atau permintaan Penyeimbang beban Elastic yang terobservasi . 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 Penskalaan Otomatis ke dalam dua kategori yakni model penyediaan berdasarkan permintaan dan berdasarkan waktu, dan kami akan menjelaskan masing-masing.

Pasokan berdasarkan permintaan: Manfaatkan elastisitas cloud untuk memasok sumber daya guna memenuhi permintaan yang berubah-ubah 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.

Kebijakan penskalaan dinamis berdasarkan permintaan

  • Penskalaan Sederhana per 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.

Pasokan berdasarkan wkatu: Pendekatan berdasarkan waktu yang 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.

Kebijakan penskalaan berdasarkan waktu

Anda dapat menggunakan penskalaan otomatis yang terjadwal atau prediktif untuk menerapkan pendekatan berdasarkan waktu. Beban kerja dapat dijadwalkan untuk menambahkan skala (scale out) atau menurunkan skala (scale in) pada waktu yang ditentukan (misalnya, awal jam kerja), sehingga sumber daya tersedia saat pengguna datang atau permintaan meningkat. Penskalaan prediktif menggunakan pola untuk menambahkan skala (scale out) sedangkan penskalaan terjadwal menggunakan waktu yang ditetapkan di awal untuk menambahkan skala (scale out). Anda juga dapat menggunakan strategi pemilihan jenis instans berbasis atribut (ABS) di grup Auto Scaling (penskalaan otomatis), yang memungkinkan Anda 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. Amazon EC2 Fleet dan Amazon EC2 Auto Scaling memilih dan meluncurkan instans yang cocok dengan atribut yang sudah ditentukan, sehingga menghilangkan kebutuhan untuk memilih jenis instans secara manual.

Anda juga dapat memanfaatkan API dan SDK AWS dan AWS CloudFormationuntuk secara otomatis menyediakan dan menonaktifkan seluruh lingkungan saat Anda ingin melakukannya. 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 EBS, yang dapat diubah untuk meningkatkan ukuran, menyesuaikan kinerja (IOPS), atau mengubah jenis volume saat sedang digunakan.

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-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. Penskalaan 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. Untuk mengonfigurasi penjadwalan berbasis waktu, Anda dapat menggunakan penskalaan prediktif dari penskalaan terjadwal untuk menambah jumlah instans Amazon EC2 di dalam grup Auto Scaling (penskalaan otomatis) Anda sebelumnya berdasarkan perkiraan dan prediksi perubahan beban.

  • Mengonfigurasi penskalaan prediktif: Penskalaan prediktif memungkinkan Anda meningkatkan jumlah instans Amazon EC2 dalam sebuah grup Auto Scaling sebelum terjadi lonjakan trafik yang dapat diprediksi berdasarkan pola harian dan mingguan dalam alur 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 (penskalaan otomatis) untuk melakukan peluncuran pada tingkat sumber daya yang benar, dan pastikan beban kerja menskalakan pada waktu yang diinginkan. Anda dapat meluncurkan dan secara otomatis menyesuaikan armada Instans Sesuai Permintaan dan Instans Spot dalam satu grup Auto Scaling. Selain menerima diskon untuk menggunakan Spot Instance, Anda dapat menggunakan Instans Pesanan atau Savings Plan untuk menerima tarif diskon dengan harga biasa Instans Sesuai Permintaan. 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: