Manfaatkan skalabilitas horizontal

Last reviewed 2024-12-30 UTC

Prinsip ini dalam pilar keandalan dari Google Cloud Architecture Framework memberikan rekomendasi untuk membantu Anda menggunakan skalabilitas horizontal. Dengan menggunakan skalabilitas horizontal, Anda dapat membantu memastikan bahwa workload Anda diGoogle Cloud dapat diskalakan secara efisien dan mempertahankan performa.

Prinsip ini relevan dengan cakupan area fokus keandalan.

Ringkasan prinsip

Buat ulang arsitektur sistem Anda menjadi arsitektur horizontal. Untuk mengakomodasi pertumbuhan traffic atau data, Anda dapat menambahkan lebih banyak resource. Anda juga dapat menghapus resource jika 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, lebih banyak RAM dan CPU diperlukan. Pada akhirnya, database mencapai batas memori di mesin host, dan perlu diupgrade. Proses ini mungkin perlu diulang beberapa kali. Masalahnya adalah ada batas ketat terkait jumlah database yang dapat tumbuh. Ukuran VM tidak terbatas. Database dapat mencapai titik saat tidak dapat 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 pemadaman layanan seluruh sistem yang memengaruhi semua pengguna. Hindari titik tunggal kegagalan, seperti yang dijelaskan dalam Mem-build sistem yang sangat tersedia melalui resource redundan.

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

Sebaliknya, penskalaan horizontal dapat lebih hemat biaya. Potensi penskalaan horisontal hampir tidak terbatas dalam sistem yang dirancang untuk diskalakan.

Rekomendasi

Untuk bertransisi dari satu arsitektur VM ke arsitektur beberapa mesin horisontal, Anda perlu merencanakan dengan cermat dan menggunakan alat yang tepat. Untuk membantu Anda mencapai penskalaan horizontal, pertimbangkan rekomendasi dalam 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 otomatis menskalakan container stateless Anda 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 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 mengkhawatirkan konsistensi data.