Secara harafiah, load balancing artinya adalah pembagian beban menjadi seimbang (balance). Begitu juga artinya dalam dunia Internet, server farm, dan jaringan komputer, load balancing adalah proses distribusi beban terhadap sebuah servis yang ada pada sekumpulan server atau perangkat jaringan ketika ada permintaan dari pengguna.
Dari contoh di atas, sebenarnya Anda sudah langsung dapat mengetahui apa manfaat yang bisa didapatkan dari menggunakan sistem load balancing. Ketika mendapati server atau jaringan Anda diakses oleh banyak pengguna, di sinilah keuntungan load balancing paling dirasakan. Atau ketika sebuah aplikasi yang sangat penting yang ada di sebuah server, tiba-tiba tidak bisa diakses karena server-nya mengalami gangguan, load balancing bagaikan malaikat penolong di sini.
- Menjamin reliabilitas servis
Reliabilitas sistem artinya adalah tingkat kepercayaan terhadap sebuah sistem untuk dapat terus melayani pengguna dengan sebaik-baiknya. Reliabilitas yang terjamin artinya tingkat kepercayaan yang selalu terjaga agar para penggunanya dapat menggunakan servis tersebut dan melakukan pekerjaannya dengan lancar. Hal ini amat penting bagi situs-situs dan servis-servis komersial yang memang mengeruk uang dari server-server-nya. - Skalabilitas dan availabilitas bisa didapat
Satu buah server yang digunakan untuk melayani beribu-ribu pengguna, tentunya tidak mungkin dapat menghasilkan pelayanan yang baik. Meskipun Anda telah menggunakan sebuah server dengan teknologi tercanggih sekalipun, tetap saja bisa kewalahan melayani penggunanya.
Proses load balancing sebenarnya merupakan proses fleksibel yang dapat diciptakan dengan berbagai cara dan metode. Proses ini tidak hanya dapat dilakukan oleh sebuah perangkat tertentu atau sebuah software khusus. Cukup banyak cara dan pilihan untuk mendapatkan jaringan Anda dilengkapi dengan sistem load balancing. Cara kerja dan prosesnya pun berbeda-beda satu dengan yang lainnya. Namun, cara yang paling umum dan banyak digunakan adalah dengan mengandalkan konsep Virtual server atau Virtual IP.
Tujuan dibuatnya sistem perwakilan tersebut adalah agar ketika nama atau alamat IP tersebut diakses dari luar, yang dapat melayani permintaan tersebut tidak terbatas hanya satu perangkat server saja. Sekelompok server atau perangkat jaringan yang diwakilinya memiliki kemampuan untuk menjawab permintaan-permintaan tersebut.
Dalam sistem load balancing, proses pembagian bebannya memiliki teknik dan algoritma tersendiri. Pada perangkat load balancing yang kompleks biasanya disediakan bermacam-macam algoritma pembagian beban ini. Tujuannya adalah untuk menyesuaikan pembagian beban dengan karakteristik dari server-server yang ada di belakangnya.
- Round Robin
Algoritma Round Robin merupakan algoritma yang paling sederhana dan banyak digunakan oleh perangkat load balancing. Algoritma ini membagi beban secara bergiliran dan berurutan dari satu server ke server lain sehingga membentuk putaran. - Ratio
Ratio (rasio) sebenarnya merupakan sebuah parameter yang diberikan untuk masing-masing server yang akan dimasukkan kedalam sistem load balancing. Dari parameter Ratio ini, akan dilakukan pembagian beban terhadap server-server yang diberi rasio. Server dengan rasio terbesar diberi beban besar, begitu juga dengan server dengan rasio kecil akan lebih sedikit diberi beban. - Fastest
Algoritma yang satu ini melakukan pembagian beban dengan mengutamakan server-server yang memiliki respon yang paling cepat. Server di dalam jaringan yang memiliki respon paling cepat merupakan server yang akan mengambil beban pada saat permintaan masuk. - Least Connection
Algoritma Least connection akan melakukan pembagian beban berdasarkan banyaknya koneksi yang sedang dilayani oleh sebuah server. Server dengan pelayanan koneksi yang paling sedikit akan diberikan beban yang berikutnya akan masuk.
Seperti telah dijelaskan di atas, sistem load balancing sebenarnya dapat dibuat dengan banyak cara. Pembuatannya tidak terikat oleh sebuah operating system saja, atau hanya dapat dibuat oleh sebuah perangkat saja. Namun secara garis besar cara pembuatan sistem load balancing terbagi menjadi tiga kategori besar, yaitu load balancing dengan menggunakan DNS round robin, Integrated load balancing, dan Dedicated load balancing.
Metode yang paling sederhana untuk menciptakan sistem load balancing adalah dengan menggunakan metode DNS Round robin. Metode ini sebenarnya merupakan sebuah fitur dari aplikasi bernama BIND (Berkeley Internet Name Domain). Ini merupakan aplikasi open source khusus untuk membangun server DNS yang tampaknya sudah menjadi semacam standar yang digunakan di mana-mana. Sistem DNS round robin banyak mengandalkan teknik input penamaan yang teratur rapi dan dipadukan dengan sistem perputaran round robin.
Di sini, sistem load balancing sebenarnya sudah terjadi. Alamat IP dari server-server yang diwakili oleh nama lain tersebut akan diberikan kepada para peminta secara bergiliran sesuai dengan algoritma round robin. Ini menjadikan beban terbagi-bagi secara bergilir ke server-server lain dengan sendirinya.
Sesuai dengan namanya, Integrated load balancing biasanya merupakan solusi load balancing tambahan dari sebuah aplikasi atau operating system. Biasanya aplikasi atau operating system yang memiliki fitur ini adalah yang memiliki kemampuan beroperasi sebagai server.
- Network Load Balancing (NLB)
Network load balancing merupakan fasilitas yang memungkinkan mesin Windows 2000 Advance Server melakukan load balancing terhadap aplikasi-aplikasi yang berjalan berdasarkan jaringan IP. Aplikasi yang berjalan diatas IP seperti HTTP/HTTPS, FTP, SMTP, dan banyak lagi dapat dengan mudah di-load balance dengan menggunakan fasilitas ini.
Dengan menggunakan NLB, Anda dapat membuat satu grup cluster server yang dilengkapi dengan sistem load balancing terhadap semua servis-servis TCP, UDP, dan GRE (Generic Routing Encapsulation). Untuk semua proses tersebut, dikenal sebuah istilah Virtual Server yang bertindak sebagai satu titik pusat pengaksesan server-server di bawahnya.
Dengan adanya fasilitas ini, servis dan layanan yang dijalankan oleh server-server ini lebih terjamin kelancarannya. Sangat ideal digunakan untuk keperluan servis-servis front end, seperti web server agar masalah-masalah seperti bottleneck pada server dapat dikurangi. - Component Load Balancing (CLB)
Teknologi load balancing ini menyediakan sistem load balance terhadap komponen-komponen yang mendukung jalannya sebuah software atau aplikasi. Aplikasi atau software yang dapat di-load balance adalah yang komponen-komponennya menggunakan COM+.
Dengan melakukan load balancing terhadap komponen-komponen COM+ yang ada di beberapa server, maka jalannya sebuah aplikasi lebih terjamin dan lebih skalabel melayani para pengguna aplikasi. - Server Cluster
Dengan menggunakan teknologi Server Cluster ini, Anda dapat membuat aplikasi dan data yang ada pada beberapa server terpisah dapat bergabung menjadi satu dalam sebuah konfigurasi cluster. Semua dapat saling terhubung untuk melayani penggunanya, sehingga integritas data tetap terjaga. Biasanya teknologi ini ideal untuk keperluan aplikasi-aplikasi back-end dan database.
Metode load balancing yang satu ini diklaim sebagai sistem load balancing yang sesungguhnya karena kerja dan prosesnya secara total diperuntukan bagi proses load balancing terhadap server atau jaringan di bawahnya. Secara umum, metode ini masih dibagi lagi menjadi tiga jenis:
- Load balancing dengan hardware atau switch
Sistem load balancing jenis ini diciptakan dengan menggunakan bantuan sebuah chip yang dikhususkan untuk itu. Biasanya chip khusus tersebut sering disebut dengan istilah ASICS, yang biasanya berwujud sebuah microprocessor khusus yang hanya memproses algoritma dan perhitungan spesifik. Dengan adanya ASICS ini, performa load balancing tidak perlu diragukan lagi kehebatannya karena memang hanya perhitungan dan logika load balancing saja yang dioptimisasi di dalamnya.
Load balancing jenis ini umumnya berwujud sebuah switch. Dalam praktiknya, sering kali perangkat jenis ini membutuhkan keahlian khusus untuk digunakan karena interface-nya yang kurang user friendly.
Selain itu, tingkat fleksibilitas perangkat ini juga rendah karena sebagian besar intelejensinya sudah tertanam di dalam hardware, sehingga penambahan fitur dan fasilitas-fasilitas lain menjadi lebih sulit dilakukan. - Load balancing dengan software
Keuntungan yang paling menonjol dari solusi load balancing menggunakan software adalah tingkat kemudahan pengoperasiannya yang sudah lebih user friendly dibandingkan jika Anda mengonfigurasi switch load balancing. Keuntungan lainnya, jika ada fitur tambahan atau ada versi upgrade terbaru, Anda tidak perlu mengganti keseluruhan perangkat load balancing ini.
Namun karena proses logikanya berada di dalam sebuah software, maka tentu untuk menggunakannya dibutuhkan sebuah platform sebagai tempat bekerjanya. Perangkat komputer dengan spesifikasi tertentu pasti dibutuhkan untuk ini.
Performa dan kehebatannya melakukan proses load balancing juga akan dipengaruhi oleh perangkat komputer yang digunakan, tidak bisa hanya mengandalkan kemapuan software yang hebat saja. Kartu jaringan yang digunakan, besarnya RAM pada perangkat, media penyimpanan yang besar dan cepat, dan pernak-pernik lainnya tentu juga dapat mempengaruhi kinerja dari software ini. Karena dari isu inilah, maka performa dari keseluruhan sistem load balancing ini lebih sulit diperkirakan. - Load balancing dengan perangkat perpaduan hardware dan software
Solusi membuat sistem dedicated load balancing adalah dengan memadukan kedua jenis sistem load balancing di atas, yaitu memadukan software load balancing dengan perangkat yang dibuat khusus untuk melayaninya. Performa dari hardware yang khusus yang sengaja dioptimisasi untuk mendukung software load balancing yang user friendly dan fleksibel, menjadikan perangkat load balancing jenis ini lebih banyak disukai oleh pengguna saat ini. Perangkat jenis ini sering disebut dengan istilah load balancing black box.
Hardware yang dioptimisasi dan diisi dengan platform berbasis Linux atau BSD yang dioptimisasi adalah konfigurasi yang biasanya digunakan untuk menjalankan software utama load balancing. Dari konfigurasi ini, banyak sekali manfaat yang bisa didapatkan oleh pengguna maupun produsennya. Fleksibilitas yang luar biasa bisa didapatkan mulai dari menggunakan hardware yang selalu up-to-date sampai dengan operating system dengan patch terbaru.
Dengan demikian, waktu guna dari perangkat ini dapat lebih panjang daripada sebuah switch khusus yang tidak fleksibel. Solusi ini tentunya jauh lebih murah dibandingkan dengan solusi hardware khusus, atau bahkan dari solusi software saja.