Prinsip dalam pilar keandalan Google Cloud Well-Architected Framework ini memberikan rekomendasi untuk membantu Anda menggunakan skalabilitas horizontal. Dengan menggunakan skalabilitas horizontal, Anda dapat membantu memastikan bahwa workload Anda di Google Cloud dapat menskalakan secara efisien dan mempertahankan performa.
Prinsip ini relevan dengan area fokus pencakupan keandalan.
Ringkasan prinsip
Arsitektur 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 peningkatan penggunaan database, RAM dan CPU yang lebih banyak diperlukan. Pada akhirnya, database mencapai batas memori di mesin host, dan perlu diupgrade. Proses ini mungkin perlu diulang beberapa kali. Masalahnya adalah ada batasan ketat tentang 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. Setiap masalah dengan 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 Mem-build sistem yang sangat tersedia melalui redundansi resource.
Selain batas penskalaan ini, penskalaan vertikal cenderung lebih mahal. Biaya dapat meningkat secara eksponensial seiring dengan perolehan mesin dengan daya komputasi dan memori yang lebih besar.
Sebaliknya, penskalaan horizontal dapat lebih murah. Potensi penskalaan horizontal hampir tidak terbatas dalam sistem yang dirancang untuk diskalakan.
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 Anda secara horizontal. Untuk aplikasi dalam container, Cloud Run adalah platform serverless yang dapat otomatis menskalakan container stateless Anda berdasarkan traffic masuk.
Mempromosikan desain modular
Komponen modular dan antarmuka yang jelas membantu Anda menskalakan komponen individual sesuai kebutuhan, bukan menskalakan seluruh aplikasi. Untuk mengetahui informasi selengkapnya, lihat Mempromosikan desain modular di pilar pengoptimalan performa.
Mengimplementasikan desain stateless
Desain aplikasi agar stateless, yang berarti tidak ada data yang disimpan secara lokal. Hal ini memungkinkan Anda menambahkan atau menghapus instance tanpa khawatir tentang konsistensi data.