Apa itu cluster?

Cluster umumnya didefinisikan sebagai sekumpulan atau grup item dengan karakteristik yang serupa maupun berbeda. Kumpulan item inilah yang disebut cluster. Berikut tiga definisi cluster yang umumnya digunakan dalam konteks teknologi.

1. Enterprise computing. Dalam sistem komputer, cluster adalah sekumpulan server dan resource lain yang bekerja seolah-olah sebagai satu sistem tunggal untuk mendukung high availability, load balancing, dan parallel processing. Sistem ini bisa berupa dua node sederhana dengan dua PC, hingga superkomputer dengan arsitektur berbasis cluster.

2. Personal computing. Dalam teknologi penyimpanan PC, cluster adalah unit logis dari penyimpanan file pada hard disk yang dikelola oleh OS. Setiap file yang disimpan di hard disk akan menempati satu atau lebih cluster. Cluster sebuah file bisa tersebar di lokasi berbeda dalam drive. Hubungan antara file dengan cluster-nya dicatat dalam file allocation table (FAT) milik hard disk. Saat user membaca file, seluruh file dikembalikan tanpa harus tahu lokasi fisiknya.

Karena cluster adalah unit logis, bukan unit fisik yang tertanam di hard disk, ukuran cluster bisa bervariasi. Jumlah maksimum cluster dalam sebuah hard disk ditentukan oleh ukuran entry FAT. FAT pada DOS 4.0 menggunakan panjang 16-bit, sehingga mendukung maksimum 65.536 cluster. Windows 95 OSR2 mendukung entry FAT 32-bit, memungkinkan jumlah cluster yang cukup untuk menyimpan hingga 2 TB data, dengan asumsi kapasitas hard disk mencukupi.

Dalam cluster, file terkecil sekalipun — bahkan sebuah directory — tetap memakan seluruh ukuran cluster. Misalnya, file berukuran 10 byte akan menghabiskan 2.048 byte jika ukuran cluster adalah 2.048 byte. Banyak OS yang secara default menetapkan ukuran cluster 4.096 byte atau 8.192 byte. Hingga Windows 95 OSR2, hard disk terbesar yang bisa ditangani dalam satu partition hanya 512 MB. Hard disk yang lebih besar bisa dibagi menjadi maksimal empat partisi, masing-masing dengan FAT yang mendukung 512 MB cluster.

3. Terminals and workstations. Pada beberapa produk, cluster merujuk pada sekelompok terminal atau workstation yang terhubung ke unit kontrol yang sama.

Aplikasi dan manfaat clustering

Aplikasi clustering, baik yang tertanam dalam OS maupun sebagai tools terpisah, mendukung banyak kebutuhan penting user, yang dapat dikategorikan sebagai berikut:

High-performance computing

High-performance computing (HPC) dicapai dengan memanfaatkan kemampuan komputasi dari banyak node dalam cluster dan menambahkan perangkat tambahan ke sistem. Software clustering memastikan resource tambahan tersebut memenuhi kebutuhan user terkait kecepatan tinggi dan kapasitas storage.

High availability

High availability pada resource prosesor dan storage — juga disebut fault tolerance — memastikan bahwa jika terjadi kegagalan atau gangguan pada salah satu elemen cluster, proses produksi tidak akan berhenti. Anggota cluster bisa dijadikan backup ketika perangkat lain gagal. Jika hal ini terjadi, software failover akan segera mengalihkan proses atau storage ke sistem backup atau standby.

Kemampuan CPU dan storage yang high-availability meningkatkan redundancy di dalam cluster, sedangkan reliability operasional bergantung pada semua anggota cluster sesuai kebutuhan. Dengan menggabungkan banyak perangkat dalam cluster, ketersediaan resource tetap terjaga, sehingga efek negatif gangguan bisa diminimalkan dan sistem lebih tangguh (resilient).

Load balancing

Load balancing mendistribusikan aktivitas pemrosesan ke seluruh node dalam cluster untuk mengoptimalkan performa dan menyebarkan workload secara merata. Cluster berbasis load balancing meningkatkan performa dan pemanfaatan resource tiap node. Aktivitas pemrosesan yang tersebar di beberapa sistem mencapai active/active processing dan memberikan efisiensi skala (economies of scale).

Resource scalability

Komputasi dan storage dapat diperluas atau di-scale dengan dua cara:

  • vertikal, yaitu menambahkan lebih banyak storage atau prosesor pada perangkat utama; atau
  • horizontal, yaitu menambahkan perangkat baru ke dalam cluster itu sendiri.

Kedua pendekatan ini digunakan sesuai kebutuhan aplikasi user. Software clustering dapat mengakomodasi keduanya.

Manajemen container

Container menggabungkan semua resource yang dibutuhkan untuk menjalankan aplikasi ke dalam satu paket. Software clustering digunakan untuk mengelola container-container tersebut seolah-olah mereka adalah anggota cluster.

Software open source Kubernetes memfasilitasi persiapan, orkestrasi, scaling, dan deployment aplikasi berbasis container. Cluster Kubernetes yang terdiri dari banyak container (pods) menangani fungsi seperti manajemen resource, load sharing, fault tolerance, hingga kebutuhan keamanan.

Manajemen resource cloud dalam cluster

Clustering tidak terbatas pada data center on-premise. Clustering juga dapat digunakan dengan cloud computing dan resource storage. Cluster dapat diperluas di luar data center hingga ke resource penyedia cloud, dengan serangkaian node compute dan storage yang diimplementasikan pada VM.

Clustering punya peran penting dalam high-availability computing. Pelajari lebih lanjut tentang tiga best practice utama untuk mencapai high-availability di cloud computing.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *