Memanfaatkan elastisitas

Last reviewed 2026-10-22 UTC

Prinsip dalam pilar pengoptimalan performa Google Cloud Well-Architected Framework ini memberikan rekomendasi untuk membantu Anda menerapkan elastisitas, yaitu kemampuan untuk menyesuaikan resource secara dinamis berdasarkan perubahan persyaratan workload.

Elastisitas memungkinkan berbagai komponen sistem untuk diskalakan secara independen. Penskalaan yang ditargetkan ini dapat membantu meningkatkan performa dan efisiensi biaya dengan mengalokasikan resource secara tepat di tempat yang diperlukan, tanpa menyediakan resource secara berlebihan atau kurang.

Ringkasan prinsip

Persyaratan performa sistem secara langsung memengaruhi kapan dan bagaimana sistem melakukan penskalaan vertikal atau penskalaan horizontal. Anda perlu mengevaluasi kapasitas sistem dan menentukan beban yang diharapkan dapat ditangani oleh sistem pada baseline. Kemudian, Anda perlu menentukan bagaimana sistem merespons peningkatan dan penurunan beban.

Saat beban meningkat, sistem harus melakukan penyebaran skala secara horizontal, peningkatan skala secara vertikal, atau keduanya. Untuk penskalaan horizontal, tambahkan node replika untuk memastikan bahwa sistem memiliki kapasitas keseluruhan yang memadai untuk memenuhi peningkatan permintaan. Untuk penskalaan vertikal, ganti komponen aplikasi yang ada dengan komponen yang berisi lebih banyak kapasitas, lebih banyak memori, dan lebih banyak penyimpanan.

Saat beban menurun, sistem harus memperkecil skala (secara horizontal, vertikal, atau keduanya).

Tentukan keadaan saat sistem meningkatkan atau memperkecil skala. Rencanakan untuk meningkatkan skala sistem secara manual untuk periode traffic tinggi yang diketahui. Gunakan alat seperti penskalaan otomatis, yang merespons peningkatan atau penurunan beban.

Rekomendasi

Untuk memanfaatkan elastisitas, pertimbangkan rekomendasi di bagian berikut.

Merencanakan periode beban puncak

Anda perlu merencanakan jalur penskalaan yang efisien untuk peristiwa yang diketahui, seperti periode peningkatan permintaan pelanggan yang diperkirakan.

Pertimbangkan untuk meningkatkan skala sistem Anda sebelum periode traffic tinggi yang diketahui. Misalnya, jika Anda adalah organisasi retail, Anda memperkirakan permintaan akan meningkat selama penjualan musiman. Sebaiknya lakukan penskalaan vertikal atau penskalaan horizontal sistem secara manual sebelum penjualan tersebut untuk memastikan sistem Anda dapat segera menangani peningkatan beban atau segera menyesuaikan batas yang ada. Jika tidak, sistem mungkin memerlukan waktu beberapa menit untuk menambahkan resource sebagai respons terhadap perubahan real-time. Kapasitas aplikasi Anda mungkin tidak meningkat cukup cepat dan menyebabkan beberapa pengguna mengalami penundaan.

Untuk peristiwa yang tidak diketahui atau tidak terduga, seperti lonjakan permintaan atau traffic yang tiba-tiba, Anda dapat menggunakan fitur penskalaan otomatis untuk memicu penskalaan elastis yang didasarkan pada metrik. Metrik ini dapat mencakup pemakaian CPU, kapasitas penyaluran load balancer, latensi, dan bahkan metrik kustom yang Anda tentukan di Cloud Monitoring.

Misalnya, pertimbangkan aplikasi yang berjalan di grup instance terkelola (MIG) Compute Engine. Aplikasi ini memiliki persyaratan bahwa setiap instance harus berperforma optimal hingga pemakaian CPU rata-rata mencapai 75%. Dalam contoh ini, Anda dapat menentukan kebijakan penskalaan otomatis yang membuat lebih banyak instance saat pemakaian CPU mencapai nilai minimum. Instance yang baru dibuat ini membantu menyerap beban, yang membantu memastikan bahwa pemakaian CPU rata-rata tetap pada tingkat yang optimal hingga jumlah maksimum instance yang telah Anda konfigurasi untuk MIG tercapai. Saat permintaan menurun, kebijakan penskalaan otomatis akan menghapus instance yang tidak lagi diperlukan.

Rencanakan pemesanan slot resource di BigQuery atau sesuaikan batas untuk konfigurasi penskalaan otomatis di Spanner menggunakan autoscaler terkelola.

Menggunakan penskalaan prediktif

Jika komponen sistem Anda mencakup Compute Engine, Anda harus mengevaluasi apakah penskalaan otomatis prediktif cocok untuk workload Anda. Penskalaan otomatis prediktif memperkirakan beban mendatang berdasarkan tren historis metrik Anda, misalnya, pemakaian CPU. Perkiraan dihitung ulang setiap beberapa menit, sehingga autoscaler menyesuaikan perkiraannya dengan cepat ke perubahan muatan terbaru. Tanpa penskalaan otomatis prediktif, autoscaler hanya dapat menskalakan grup secara reaktif, berdasarkan perubahan beban yang diamati secara real-time. Penskalaan otomatis prediktif berfungsi dengan data real-time dan data historis untuk merespons beban saat ini dan yang diperkirakan.

Mengimplementasikan arsitektur serverless

Pertimbangkan untuk menerapkan arsitektur serverless dengan layanan serverless yang secara inheren elastis, seperti berikut:

Tidak seperti penskalaan otomatis di layanan lain yang memerlukan aturan penyesuaian (misalnya, Compute Engine), penskalaan otomatis serverless bersifat instan dan dapat memperkecil skala hingga nol resource.

Menggunakan mode Autopilot untuk Kubernetes

Untuk aplikasi kompleks yang memerlukan kontrol lebih besar atas Kubernetes, pertimbangkan mode Autopilot di Google Kubernetes Engine (GKE). Mode Autopilot menyediakan otomatisasi dan skalabilitas secara default. GKE secara otomatis menskalakan node dan resource berdasarkan traffic. GKE mengelola node, membuat node baru untuk aplikasi Anda, dan mengonfigurasi upgrade dan perbaikan otomatis.