Manfaatkan skalabilitas horizontal

Last reviewed 2024-12-30 UTC

Prinsip dalam pilar keandalan Google Cloud Framework yang Dirancang dengan Baik ini memberikan rekomendasi untuk membantu Anda menggunakan skalabilitas horizontal. Dengan menggunakan skalabilitas horizontal, Anda dapat membantu memastikan bahwa workload di Google Cloud dapat diskalakan secara efisien dan mempertahankan performa.

Prinsip ini relevan dengan area fokus penentuan cakupan keandalan.

Ringkasan prinsip

Mendesain ulang sistem Anda ke arsitektur horizontal. Untuk mengakomodasi pertumbuhan traffic atau data, Anda dapat menambahkan lebih banyak resource. Anda juga dapat menghapus resource saat tidak digunakan.

Untuk memahami nilai penskalaan horizontal, pertimbangkan batasan penskalaan vertikal.

Skenario umum untuk penskalaan vertikal adalah menggunakan database MySQL sebagai database utama dengan data penting. Seiring meningkatnya penggunaan database, diperlukan lebih banyak RAM dan CPU. Pada akhirnya, database mencapai batas memori di mesin host, dan perlu diupgrade. Proses ini mungkin perlu diulang beberapa kali. Masalahnya adalah ada batasan ketat terkait seberapa besar database dapat berkembang. Ukuran VM tidak tidak terbatas. Database dapat mencapai titik ketika tidak mungkin lagi menambahkan lebih banyak resource.

Meskipun resource tidak terbatas, VM besar dapat menjadi titik tunggal kegagalan. Masalah apa pun pada VM database utama dapat menyebabkan respons error atau menyebabkan gangguan di seluruh sistem yang memengaruhi semua pengguna. Hindari titik tunggal kegagalan, seperti yang dijelaskan dalam Membangun sistem dengan ketersediaan tinggi melalui redundansi resource.

Selain batas penskalaan ini, penskalaan vertikal cenderung lebih mahal. Biaya dapat meningkat secara eksponensial saat mesin dengan daya komputasi dan memori yang lebih besar diperoleh.

Sebaliknya, penskalaan horizontal dapat lebih murah. Potensi penskalaan horizontal hampir tidak terbatas dalam sistem yang dirancang untuk penskalaan.

Rekomendasi

Untuk bertransisi dari arsitektur VM tunggal ke arsitektur multi-mesin horizontal, Anda harus merencanakan dengan cermat dan menggunakan alat yang tepat. Untuk membantu Anda mencapai penskalaan horizontal, pertimbangkan rekomendasi di subbagian berikut.

Menggunakan layanan terkelola

Layanan terkelola menghilangkan kebutuhan untuk mengelola penskalaan horizontal secara manual. Misalnya, dengan grup instance terkelola (MIG) Compute Engine, Anda dapat menambahkan atau menghapus VM untuk menskalakan aplikasi secara horizontal. Untuk aplikasi dalam container, Cloud Run adalah platform serverless yang dapat menskalakan container stateless Anda secara otomatis berdasarkan traffic yang masuk.

Mempromosikan desain modular

Komponen modular dan antarmuka yang jelas membantu Anda menskalakan setiap komponen sesuai kebutuhan, bukan menskalakan seluruh aplikasi. Untuk mengetahui informasi selengkapnya, lihat Mempromosikan desain modular dalam pilar pengoptimalan performa.

Menerapkan desain stateless

Desain aplikasi agar stateless, yang berarti tidak ada data yang disimpan secara lokal. Dengan begitu, Anda dapat menambahkan atau menghapus instance tanpa mengkhawatirkan konsistensi data.