Load balancing adalah proses pendistribusian beban kerja secara merata pada beberapa server untuk menghindari terjadinya overload dan kelebihan beban pada suatu server. Load balancing digunakan ketika server sudah tidak mampu menampung jumlah pengguna yang semakin banyak.
A. Pengetahuan Dasar Load Balancing
Sebuah server jika sudah tidak kuat melayani permintaan, maka tindakan yang dilakukan adalah melakukan upscale server. Terdapat dua jenis upscaling pada server (peladen) yaitu vertikal dan horizontal. Upscaling adalah kondisi di mana kita harus meningkatkan server karena sumber daya sudah maksimum. Perbedaan antara upscaling vertikal dan horizontal adalah pada vertikal ketika melakukan pergantian server dengan yang lebih tinggi sedangkan horizontal menambah server baru. Ketika melakukan upcale dengan metode horizontal memerlukan perangkat tambahan yang berfungsi untuk mengatur dan membagi lalu lintas ke server, dan perangkat ini disebut dengan load balancing. Load Balancing bisa berbentuk perangkat keras yang bisa dipasang langsung dari vendor atau bisa membuat sendiri menggunakan perangkat lunak open source yang telah tersedia.
Perangkat keras yang terkenal bermain dengan load balancing adalah F5 dan perangkat lunak yang terkenal adalah NGINX. Jika menggunakan layanan komputasi awan biasanya telah disediakan produk khusus untuk fitur Load Balancing. Beberapa contoh produk Load Balancing pada layanan komputasi awan adalah Server Load Balancing milik Alibaba Cloud dan Elastic Load Balancing milik Amazon Web Services. Load Balancer berfungsi untuk mengatur dan membagi trafik. Pada fungsi ini ada 2 tipe dukungan yang bekerja yaitu Layer-4 dan Layer-7 model OSI. Load Balancing Layer-4 mendukung protokol yang bergerak di lapisan fransport pada model OSI yaitu TCP dan UDP. Adapun pada Load Balancing Layer-7 melayani protokol yang bergerak di lapisan Application, Session, dan presentation seperti HTTP & HTTPS.
1. Fungsi Load Balancing
Load balancing identik dengan teknik untuk mendistribusikan beban lalu lintas pada dua atau lebih jalur koneksi secara seimbang. Tujuannya agar lalu lintas dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi. Load balancing dapat menentukan server memiliki beban lebih rendah dan respons lebih cepat. Setiap pilihan dalam load balancing memiliki persyaratan, kelebihan, dan kelemahan tersendiri. Hal ini tergantung kepada user dalam mengevaluasi kebutuhan, konfigurasi, dan jalur pertumbuhan dalam mengidentifikasi solusi optimal untuk memenuhi kebutuhan.
Beberapa fungsi load balancing antara lain sebagai berikut.
a Menyediakan redundancy dengan menggunakan lebih dari satu unit failover scenario.
b. Menginterupsi lalu lintas jaringan (web traffic) yang diarahkan ke sebuah situs tertentu.
c. Menawarkan distribusi content-aware seperti melakukan pembacaan URL. intercepting cookies, dan XML parsing.
d. Memonitor server yang ada serta memastikan server tersebut merespon lalu lintas Jika terjadi kegagalan pada sebuah server, maka server yang gagal tersebut tidak akan digunakan walaupun server masih bekerja.
e. Membagi lalu lintas jaringan menjadi individual request dan menentukan server yang akan menerima individual requests.
Adapun kinerja algoritma load balancing diukur dengan berbagai parameter berikut.
a. Overload rejection.
b. Fault toleran
c. Forecasting accuracy.
d. Stabilitas.
e. Sentralisasi atau desentralisasi.
2. Tipe Load Balancing
Terdapat dua tipe load balance yang dapat dipertimbangkan pada saat merancang solusi load balancing, yaitu sebagai berikut.
a. Hardware load balancing
Tipe hardware load balancing banyak digunakan karena kemudahannya. Beberapa load balance hardware di antaranya adalah Cisco System Catalyst, Coyote Point, F5 Network BIG- IP, dan Baraccuda Load Balance. Posisi load balancing berjalan di sebuah device (alat) yang sudah disiapkan dari pabrik dan siap digunakan
b. Software load balancing Performa proses load balancing dipengaruhi oleh perangkat komputer yang digunakan dan bukan hanya mengandalkan kemampuan software yang cangph Load balancing jenis ini berjalan di sebuah PC/Server dan aplikasi load balenc harus diinstal dan dikonfigurasi sebelum dapat berfungsi Kelebihannya ada jika terdapat penambahan fitur atau fasilitas tidak perlu mengganti keselurute perangkat load balancing. Perangkat keras yang memengaruhi performa mel software load balancing adalah penggunaan kartu jaringan (Network Interta Card), kapasitas RAM yang digunakan, media penyimpanan yang besar sebagainya. Terdapat berbagai jenis load balancing software, tetapi yang pali banyak digunakan adalah Linux Virtual Server.
3. Fitur Load Balancing Load balancing untuk jaringan komputer digunakan di ISP (Internet Service Provider) di mana memungkinkan tersedianya akses internet selama 24 x 7 x 365 tanpa ada down time. Tentu hal ini yang diinginkan oleh pelanggan yang menggunakan layanan akses internet ISP tersebut. ISP/provider hanya perlu memiliki dua Link internet yang memiliki jalur berbeda, agar di saat salah satu link down, masih ada satu link yang dapat melayani akses internet ke pelanggannya. ISP menggunakan load balancing untuk membagi beban akses internet tersebut sehingga kedua Link Internet tersebut
penggunaannya dan beban berbagi dengan baik. Beberapa fitur pada load balancing maupun software, sebagai antara lain sebagai berikut.
a. Proteksi dari sorangan DDoS
Fitur jenis ini melakukan prosedur SYN Cookies dan delayed-binding (suatu metode di back-end server pada saat terjadi proses TCP handshake) pada saat terjadi serangan SYN Flood
b. Priority queuing
Fitur jenis ini berguna untuk memberikan perbedaan prioritas traffic paket.
c. Kompresi HTTP
Fitur jenis ini memungkinkan data bisa mentransfer objek HTTP dengan memanfaatkan penggunaan utilisasi kompresi gzip yang terdapat di semua web browser modern
d. Aktivitas berdasarkan prioritas
Fitur jenis ini digunakan pada saat load jaringan mengalami kelambatan, di mana server akan membagi aktivitas berdasarkan prioritas dan link cadangan.
e.Spam Filtering
Spam (junk mail) merupakan penyalahgunaan dalam pengiriman berita elektronik untuk menampilkan berita iklan dan keperluan lainnya yang mengakibatkan ketidaknyamanan bagi para user 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 biasanya datang bertubi-tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya.
f. TCP Buffering
Fitur jenis ini dapat membuat respon buffer dari server dan berakibat dapat pada task akses lebih cepat.
g. Asymmetric load
Fitur jenis ini berupa rasio yang dapat dibuat dengan menentukan koneksi menjadi primary yang dianggap terbaik dari segi backbone-nya dan path routingnya. Dampaknya adalah membuat mesin mencari best path determination dan routing terpendek untuk sampai ke tujuan.
h. HTTP Caching
Fitur jenis ini dapat menyimpan content statis, sehingga beberapa request dapat ditangani tanpa harus melakukan kontak ke web server diluar jaringan yang
berakibat akses terasa makin cepat.
i. Content Filtering
Beberapa load balancing dapat melakukan perubahan trafik pada saat dijalankan.