Dalam komputasi, cluster adalah sekelompok mesin, biasanya komputer atau server, yang didedikasikan untuk satu tugas. Praktek pengelompokan server dengan cara ini disebut server clustering. Pengelompokan aplikasi adalah pengelompokan server menggunakan program perangkat lunak untuk mengkonfigurasi server ke cluster. Program perangkat lunak membuat koneksi di antara server yang memungkinkan mereka melakukan tugas seperti penyeimbangan beban, deteksi kegagalan, dan kompensasi untuk kegagalan server individu.
Ketika suatu sistem menggunakan pengelompokan aplikasi, itu berarti menggunakan aplikasi yang telah diinstal secara individual di setiap server untuk memungkinkan server menangani beban server seolah-olah mereka adalah satu server raksasa. Aplikasi menangani pekerjaan merutekan data ke dan dari server yang dikelompokkan. Pengelompokan aplikasi berbeda dengan pengelompokan perangkat keras, yang menggunakan perangkat keras lain untuk mengelompokkan server. Jenis perangkat pengelompokan perangkat keras termasuk kotak jaringan yang memungkinkan satu set server untuk berkomunikasi sebagai sebuah cluster, atau kabinet cluster yang secara fisik menampung dan mengelompokkan serangkaian server. Ketika perangkat keras digunakan untuk mengelompokkan satu set server, umumnya menangani tugas data yang sama seperti program perangkat lunak pengelompokan aplikasi.
Load balancing adalah proses mendistribusikan beban data di antara server yang tersedia. Untuk server yang menampung situs web di Internet, penyeimbangan beban akan membantu menentukan server mana yang merespons permintaan lalu lintas web mana. Jenis cluster meliputi cluster simetris dan cluster asimetris. Cluster simetris adalah cluster yang mendistribusikan beban secara merata di antara semua server yang terhubung, sedangkan cluster asimetris mencadangkan server tertentu ketika server utama gagal. Karena server yang dikelompokkan secara simetris yang menerima beban konstan dapat lebih cenderung gagal ketika terkena beban tambahan karena kegagalan server lain, yang dapat menurunkan seluruh sistem, server asimetris menawarkan perlindungan yang lebih besar terhadap kegagalan keseluruhan.
Manfaat menggunakan server berkerumun mencakup peningkatan skalabilitas dan perlindungan terhadap waktu henti. Skalabilitas adalah kemampuan untuk menambah atau mengurangi jenis sumber daya tertentu jika sistem perlu menyusut atau tumbuh. Pengelompokan aplikasi membuat sistem server dapat diskalakan karena memungkinkan server dengan mudah ditambahkan atau dihapus dari cluster.
Karena cluster server berarti beberapa server didedikasikan untuk tujuan yang sama, clustering dapat menampung fungsi server yang lebih mulus dan bebas kesalahan. Ini penting untuk bisnis yang bergantung pada penjualan yang dilakukan melalui situs web mereka. Bahkan downtime server yang singkat dapat menyebabkan kerugian finansial yang besar bagi sebuah toko online. Ketika sebuah bisnis menggunakan cluster server, kemungkinan downtime berkurang secara signifikan karena umumnya membutuhkan kegagalan beberapa server untuk mencatat cluster server.