Perangkat apa yang digunakan untuk melakukan load balancing?


Dalam membangun layanan baik berupa website, aplikasi, database, networking maupun layanan-layanan lain. Diperlukan jaminan bahwa layanan tersebut dapat bekerja dan tersedia dengan baik secara terus menerus agar layanan sudah dibangun dapat dihandalkan untuk digunakan dengan semestinya. Salah satu teknik untuk memberikan jaminan ini yaitu dengan membangun layanan menggunakan teknik Load Balancing. 

Pengertian mendasar, Load Balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi. Load balancing digunakan pada saat sebuah server telah memiliki jumlah user yang telah melebihi maksimal kapasitasnya. 

Load balancing juga mendistribusikan beban kerja secara merata di dua atau lebih komputer, link jaringan, CPU, hard drive, atau sumber daya lainnya, untuk mendapatkan pemanfaatan sumber daya yang optimal. Walaupun pada penggunaan Teknik Load Balancing menggunakan 2 link yang digunakan bersama, tetapi perlu diperhatikan  bahwa load balancing tidak akan menambah besar bandwidth yang diperoleh, tetapi hanya bertugas untuk membagi trafik dari kedua link bandwidth tersebut agar dapat terpakai secara seimbang dan saling mendukung. 

Infrastruktur web tanpa load balancing mungkin terlihat seperti berikut:

Dalam contoh ini, user terhubung langsung ke server web, di yourdomain.com. Jika server web tunggal ini macet, user tidak lagi dapat mengakses situs web. Selain itu, jika banyak pengguna mencoba mengakses server secara bersamaan dan tidak dapat menangani beban, mereka mungkin mengalami waktu yang lambat atau mungkin tidak dapat terhubung sama sekali.

Kegagalan ini bisa dikurangi dengan memasukkan Load balancer dan setidaknya satu server web tambahan di backend. Biasanya, semua server backend akan memasok konten yang identik sehingga pengguna menerima konten yang konsisten tanpa menanggapi server mana yang meresponsnya. Tanpa server yang meresponsnya.


Pada contoh di atas, user mengakses Load balancer, yang meneruskan permintaan pengguna ke server backend, yang kemudian merespons langsung permintaan user. Dalam skenario ini, titik kegagalan sekarang adalah Load balancer itu sendiri. Hal ini dapat dikurangi dengan memperkenalkan Load balancer kedua, tapi sebelum kita membahasnya, mari jelajahi bagaimana Load balancer bekerja.

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 :

  1. DNS round robin
  2. Integrated load balancing
  3. Dedicated load balancing.

Ketiga jenis ini memiliki cara kerja yang unik dan berbeda satu sama lain, tetapi tetap menuju suatu hasil akhir yang sama, yaitu menciptakan sebuah sistem yang lebih menjamin kelangsungan hidup jaringan di belakangnya dan membuatnya lebih scalability.

Load adalah suatu hal yang sangat penting sekali pada sistem yang diharapkan dapat menangani beban simultan yang besar. Load balancing adalah suatu proses untuk memindahkan proses dari host yang memiliki beban kerja tinggi ke host yang memiliki beban kerja kecil. Ini bertujuan agar waktu rata-rata mengerjakan tugas akan rendah dan menaikkan utilitas prosesor.

1. DNS Round - Robin

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.

Seperti Anda ketahui, DNS merupakan sebuah sistem penamaan terhadap perangkat-perangkat komputer. Penamaan ini dibuat berdasarkan alamat IP dari perangkat tersebut. Sebuah perangkat yang memiliki alamat IP dapat diberi nama dan dapat diakses menggunakan namanya saja jika Anda memiliki DNS server.

Sistem penamaan tersebut banyak sekali manfaatnya, misalnya hanya untuk sekadar lebih mudah diakses atau untuk diproses lebih lanjut. Anda tentu akan lebih mudah mengingat nama-nama yang spesifik daripada deretan-deretan angka alamat IP, bukan?

Dari sistem penamaan ini dapat dibuat sebuah sistem load balancing sederhana dan murah yang memanfaatkan sifat alami dari program BIND ini, yaitu sistem perputaran round robin.

Pada sebuah record DNS yang berisikan informasi penamaan, Anda dapat memasukkan beberapa nama lain [canonical] untuk diwakili oleh sebuah nama utama. Beberapa nama lain itu memiliki masing-masing record sendiri yang juga mewakili alamat-alamat IP dari perangkat jaringan. Jadi setelah proses input penamaan selesai, Anda akan mendapatkan sebuah nama utama yang mewakili beberapa nama-nama lain yang mewakili beberapa perangkat jaringan seperti server misalnya.

Di sinilah kuncinya, ketika ada yang mengakses nama utama tersebut, DNS server akan dihubungi oleh si pencari. Setelah menerima permintaan, DNS server akan mencari record dari nama utama tersebut. Ternyata di dalam record tersebut terdapat beberapa nama lain yang berhubungan dengan nama utama. Pada kondisi inilah, DNS server akan menjalankan sistem perputaran round robin untuk menggilir informasi nama-nama lain mana saja yang akan diberikan ke para pemintanya. 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.

Sebagai contoh, misalnya Anda memiliki empat buah server yang ingin digunakan untuk kepentingan situs perusahaan Anda. Nama domain utama Anda bernama myserver.mydomain .com. Empat buah server ini ingin Anda masukkan ke dalam sistem load balancing, sehingga pendistribusian bebannya tidak tersentralisasi. Dengan menggunakan sistem DNS round robin, yang perlu dilakukan adalah melakukan input penamaan keempat server Anda tersebut di DNS server secara teratur.


Gambar 52. DNS Round Robin

Dimisalkan masing-masing server diberi nama myserver0.mydomain.com sampai myserver3.mydomain.com. Input-lah semua alamat IP server-server Anda dan berikan nama record A [biasanya untuk mendeskripsikan sebuah host] pada saat pemberian nama ini. Setelah itu, buatlah nama utamanya dan input-lah semua nama server-server yang Anda dalam record CNAME.


Gambar 53. Record CNAME

Konfigurasi ini akan menjadikan setiap kali pengguna mengakses nama utama yang dibuat, maka DNS server akan memberikan informasi IP ke pengguna secara bergilir dan berurut mulai dari IP myserver0. mydomain.com hingga myserver3. mydomain.com.

Sistem load balancing ini terbilang mudah dan sederhana untuk diimplementasikan, namun ada juga beberapa kelemahan yang cukup signifikan. Problem yang sering terjadi adalah ketika ada sebuah DNS server lain [misalkan DNS A] di Internet yang masih meng-cache hasil pencariannya yang pertama.

Jadi jika kali pertama server DNS A tersebut mendapatkan informasi IP dari myserver.mydomain.com adalah IP 1.1.1.2, maka DNS A tidak mengetahui alamat IP yang lain dari myserver. mydomain.com. Ini membuat para pengguna yang menggunakan server DNS ini juga tidak dapat mengetahui sistem load balancing yang ada, sehingga load balancing tidak bekerja.

Kelemahan lainnya adalah ketika sebuah server di dalam sistem load balancing ini tidak dapat bekerja, maka sistem DNS tidak dapat mendeteksinya. Hal ini menyebabkan server yang tidak dapat bekerja tersebut malahan mendapatkan banyak request dari luar, meskipun tidak dapat bekerja. Kekacauan baru segera dimulai.

2. Integrated Load Balancing


Gambar 54. Integrated Load Balancing

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.

Sistem load balancing-nya bukan merupakan fungsi utama. Oleh sebab itu, biasanya fitur, performa, dan kemampuannya cukup sederhana dan digunakan untuk sistem berskala kecil menengah. Fasilitasnya juga lebih banyak bersifat general saja, jarang yang spesifik. Meski demikian, fitur ini amat berguna jika digunakan pada jaringan yang tepat.

Salah satu Integrated load balancing ini dapat Anda temukan di Microsoft Windows 2000 Advance Server yang merupakan fitur tambahan. Pada operating system yang memiliki kemampuan jaringan yang hebat ini, Anda dapat mengonfigurasi sistem load balancing dengan cukup mudah. Selain itu, fitur-fitur yang diberikan untuk keperluan ini juga terbilang cukup lengkap. Fitur-fitur yang ada dalam teknologi load balancing pada Windows 2000 Advance Server dan juga Windows 2000 Datacenter.

Server adalah sebagai berikut:

2.1 Network Load Balancing [NLB]

Network load balancing merupakan fasilitas yang memungkinkan mesin Windows 2000 Advance Server melakukan load balancing terhadap aplikasiaplikasi 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 servisservis front end, seperti web server agar masalah-masalah seperti bottleneck pada server dapat dikurangi.

2.2 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 komponenkomponennya 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.

2.3 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. Sistem load balancing yang terintegrasi tidak hanya terdapat pada Windows 2000 saja. Jika Anda adalah pecinta open source yang menggunakan Apache sebagai web server Anda, module Backhand merupakan modul khusus untuk menambah kemampuan server Anda agar dapat di-cluster.

Untuk membuat sistem load balancing yang lebih skalabel di Linux, Linux Virtual Server [LVS] merupakan salah satu aplikasi yang dapat Anda gunakan. LVS sudah merupakan semacam standar untuk membangun sistem load balancing di dunia open source. Metode dan teknologinya juga bervariasi dan tidak kalah hebatnya dengan apa yang dimiliki oleh Windows 2000. Di samping kehebatan dan kesederhanaannya, sistem load balancing terintegrasi ini memiliki beberapa kekurangan. Masing-masing fitur tambahan ini tidak dapat digunakan untuk melayani server-server atau perangkat yang berbeda platform dengannya. Misalnya, fitur load balancing dari Microsoft tidak bisa digunakan oleh Apache web server atau sebaliknya modul Apache tidak dapat digunakan oleh Microsoft IIS. Atau misalnya solusi dari IBM Websphere untuk membuat server farm, tidak dapat digunakan oleh sistem yang berbeda platform.

3. Dedicated Load Balancing


Gambar 55. Dedicated Load Balancing

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:

3.1 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.

3.2 Load Balancing dengan Software


Gambar 56. 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.

3.3 Load Balancing dengan 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.Bagian penting dari suatu strategi dalam load balancing adalah migration policy, yang menentukan kapan suatu migrasi terjadi dan proses mana yang dimigrasikan.

Video yang berhubungan

Bài Viết Liên Quan

Bài mới nhất

Chủ Đề