Mengenal Teknologi Load Balancing



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.

Mengapa Menggunakan Load Balancer?

Ada banyak alasan mengapa menggunakan load balancing untuk website atau aplikasi berbasis web lainnya. Dua alasan yang utama adalah:
  1. Waktu Respon. Salah satu manfaat terbesar adalah untuk meningkatkan kecepatan akses website saat dibuka. Dengan dua atau lebih server yang saling berbagi beban lalu lintas web, masing-masing akan berjalan lebih cepat karena beban tidak berada pada 1 server saja. Ini berarti ada lebih banyak sumber daya untuk memenuhi permintaan halaman website.
  2. Redundansi. Dengan load balancing, akan mewarisi sedikit redundansi. Sebagai contoh, jika website kita berjalan seimbang di 3 server dan salah satu server bermasalah, maka dua server lainnya dapat terus berjalan dan pengunjung website kita tidak akan menyadarinya downtime apapun.

Cara Kerja Load Balancing

Load Balancer (perangkat load balancing) menggunakan beberapa peralatan yang sama untuk menjalankan tugas yang sama. Hal ini memungkinkan pekerjaan dilakukan dengan lebih cepat dibandingkan apabila dikerjakan oleh hanya 1 peralatan saja dan dapat meringankan beban kerja peralatan, serta mempercepat waktu respons. Load Balancer bertindak sebagai penengah diatara layanan utama dan pengguna, dimana layanan utama merupakan sekumpulan server/mesin yang siap melayani banyak pengguna.
Disaat Load Balancer menerima permintaan layanan dari user, maka permintaan tersebut akan diteruskan ke server utama. Biasanya Load Balancer dengan pintar dapat menentukan server mana yang memiliki load yang lebih rendah dan respons yang lebih cepat. Bahkan bisa menghentikan akses ke server yang sedang mengalami masalah dan hanya meneruskannya ke server yang dapat memberikan layanan. Hal ini salah satu kelebihan yang umumnya dimiliki load balancer, sehingga layanan seolah olah tidak ada gangguan di mata pengguna.

Algoritma Load Balancing

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

Fitur Load Balancing

Beberapa fitur yang ada pada baik load balancer hardware maupun load balancer software, yaitu:
  • Asymmetric load. rasio dapat dibuat dengan menentukan koneksi yang menjadi primary yang dianggap paling baik backbonenya dan terbaik dalam path routingnya, jadi kita dapat membuat mesin untuk mencari best path determination dan routing yang terpendek dan terbaik untuk sampai ketujuan.
  • Aktivitas berdasarkan prioritas. Disaat load jaringan lagi peek, server akan dapat membagi aktivitas berdasarkan prioritas dan ke link cadangan.
  • Proteksi dari serangan DDoS. karena kita dapat membuat fiturseperti SYN Cookies dan delayed-binding (suatu metode di back-end server pada saat terjadi proses TCP handshake) pada saat terjadi serangan SYN Flood.
  • Kompresi HTTP. Memungkinkan data untuk bisa mentransfer objek HTTP dengan dimungkinkannya penggunaan utilisasi kompresi gzip yang berada di semua web browser yang modern.
  • TCP Buffering. dapat membuat respon buffer dari server dan berakibat dapat memungkinkan task akses lebih cepat.
  • HTTP Caching. dapat menyimpan content yang static, dengan demikian request dapat di handel tanpa harus melakukan kontak ke web server diluar jaringan yang berakibat akses terasa semakin cepat.
  • Content Filtering. Beberapa load balancing dapat melakukan perubahan trafik pada saat dijalankan.
  • HTTP Security. beberapa system load balancing dapat menyembunyikan HTTP error pages, menghapus identifikasi header server dari respon HTTP, dan melakukan enkripsi cookies agar user tidak dapat memanipulasinya.
  • Priority Queuing. berguna untuk memberikan perbedaan prioritas traffic paket.
  • Spam Filtering. Spam istilah lainnya junk mail merupakan penyalahgunaan dalam pengiriman berita elektronik untuk menampilkan berita iklan dan keperluan lainnya yang mengakibatkan ketidaknyamanan bagi para pengguna web. Bentuk berita spam yang umum dikenal meliputi: spam surat elektronik, spam instant messaging, spam Usenet newsgroup, spam mesin pencari informasi web (web search engine spam), spam blog, spam berita pada telepon genggam, spam forum Internet, dan lain lain. Spam ini biasanya datang bertubi-tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya. Beberapa contoh lain dari spam ini bisa berupa surat elektronik berisi iklan, sms pada telepon genggam, berita yang masuk dalam suatu forum newsgroup berisi promosi barang yang tidak terkait dengan aktifitas newsgroup tersebut, spamdexing yang mendominir suatu mesin pencari (search engine) untuk mencari popularitas bagi suatu URL tertentu, ataupun bisa berupa berita yang tak berguna dan masuk dalam suatu blog, buku tamu situs web, dan lain-lain.

Tipe Load Balancer

Dalam dunia load-balancing, ada dua pilihan untuk dipertimbangkan ketika merancang solusi load-balancing. Pilihan solusinya adalah menggunakan software load balancing atau hardware load balancing. Setiap pilihan memiliki persyaratan, kelebihan, dan kelemahan tersendiri. Terserah kepada kita untuk mengevaluasi kebutuhan bisnis kita, konfigurasi, dan jalur pertumbuhan sehingga kita dapat mengidentifikasi solusi optimal untuk memenuhi kebutuhan. Dan dari tipenya Load Balancing dapat dibedakan menjadi 2 tipe, yaitu:
  • Software Load Balancing. Dimana Load Balancing berjalan disebuah PC/Server, dan aplikasi Load Balancing di install dan perlu dikonfigurasi sebelum dapat berfungsi. Keuntungannya adalah jika ada penambahan fitur atau fasilitas tambahan tidak perlu mengganti keseluruhan perangkat load balancing. Performa proses load balancing dipengaruhi oleh prangkat komputer yang digunakan, tidak bisa hanya mengandalkan kemampuan software yang canggih saja. Perangkat keras yang dapat mempengaruhi performa metode ini adalah kartu jaringan (Network Interface Card) yang digunakan, besarnya RAM pada perangkat, media penyimpanan yang besar dan cepat, dsb. Sehingga performa metode ini sulit untuk bisa diperkirakan. Ada banyak sekali Load Balancer Software, beberapa diantaranya yang paling banyak digunakan adalah: Linux Virtual ServerUltra Monkey,  dan Network Load Balancing.
  • Hardware Load Balancing. Dimana Load Balancing berjalan disebuah device/alat yang sudah disiapkan dari pabrik dan siap digunakan. Tipe Hardware Load Balancing banyak digunakan karena kemudahannya. Beberapa Load Balancer Hardware diantaranya adalah: Cisco System Catalyst, Coyote Point, F5 Network BIG-IP, Baraccuda Load Balancer.

Penggunaan Load Balancer

Pada umumnya Load Balancer digunakan oleh perusahaan/pemilik layanan yang menginginkan layanannya selalu tersedia setiap saat (high availability) walaupun secara kenyataan terdapat kendala yang membuat layanan tidak dapat diakses. Misalnya untuk layanan web server/email server. Dengan load balancer, apabila ada 2 mail server dengan konfigurasi dan tugas yang sama, maka load balancer akan membagi beban ke 2 mail server tersebut. Dan apabila salah satu Mail server tersebut down/tidak dapat diakses/mengalami gangguan, maka Mail server yang lain dapat terus melayani layanan yang diakses oleh user.
Untuk jaringan komputer, Load Balancer digunakan di ISP/Internet provider dimana memungkinkan tersedianya akses internet selama 24x7x365 tanpa ada down time. Tentu hal ini yang diinginkan oleh pelanggan yang menggunakan layanan akses internet ISP tersebut. ISP/Provider hanya perlu memiliki 2 Link internet yang memiliki jalur berbeda, agar disaat salah satu link down, masih ada 1 link yang dapat melayani akses internet ke pelanggannya. Dan ISP menggunakan Load Balancer untuk membagi beban akses internet tersebut sehingga kedua Link Internet tersebut maximal penggunaannya dan beban terbagi dengan baik.

Perbandingan Software vs Hardware Load Balancer

Kelebihan Load Balancer Software:
  • Lebih murah.
  • Beberapa software aplikasi memiliki banyak pilihan konfigurasi yang dapat disesuaikan dengan kebutuhan kita.
Kekurangan Load Balancer Software:
  • Sebagian besar aplikasi tidak dapat menangani situs besar atau jaringan kompleks.
  • Paket aplikasi yang akan mendukung sistem yang lebih besar memerlukan jumlah hardware lebih banyak.
Kelebihan Load Balancer Hardware:
  • Pendekatan biasanya lebih kuat dari pilihan perangkat lunak.
  • Proses lalu lintas pada tingkat jaringan, yang secara nominal lebih efisien daripada dekripsi perangkat lunak.
  • Bekerja dengan banyak OS atau platform.
Kekurangan Load Balancer Hardware:
  • Biaya lebih tinggi dibandingkan menggunakan software load balancer.
Teknologi load balancing dapat menjadi salah satu solusi yang efektif dan efisien untuk menciptakan sistem yang handal dengan tingkat ketersediaan tinggi (high availability), khususnya sebagai web server. Untuk pemanfaatan teknologi load balancing menggunakan software load balancing saat ini memang lebih banyak digunakan pada sistem operasi open souce seperti linux. 🙂
Sekian, semoga bermanfaat....
Previous
Next Post »