BAB I PENDAHULUAN 1.1
Latar Belakang Seiring dengan semakin kompleksnya layanan dan aplikasi web dalam
berbagai bidang, maka permintaan layanan web dari pengguna semakin meningkat. Contoh layanan dan aplikasi web yang populer adalah layanan dan aplikasi bisnis (e-business), pendidikan (e-learning), berita (e-news), dan lain-lain. Demikian pula dengan perkembangan infrastruktur jaringan dan komunikasi komputer semakin tahun semakin baik. Penerapan serat optis pada kabel [1], Gigabit Ethernet pada LAN [3], broadband-ISDN pada WAN [2], transmisi digital xDSL pada jalur telepon [2], dan modem kabel membuat bandwidth jaringan semakin besar. Bahkan sebuah prediksi yang dibuat oleh George Gilder pada tahun 1995 memperkirakan bahwa perkembangan bandwidth jaringan akan berlipat tiga kali setiap tahun untuk 25 tahun mendatang [4]. Prediksi ini masih berlaku, khusus untuk serat optis, merujuk pada tulisan yang dibuat pada tahun 2008 [12]. Di satu sisi, perkembangan komputer (jumlah transistor dalam keping mikroprosesor), menurut prediksi pendiri Intel, Gordon Moore pada tahun 1960an, hanya akan berlipat dua kali setiap 18 bulan [5]. Prediksi ini sudah terbukti bertahun-tahun hingga saat ini dan lazim disebut dengan hukum Moore (Moore’s Law). Dengan melihat fakta perkembangan bandwidth jaringan yang berlipat lebih dari dua kali perkembangan komputer dan melihat kompleksnya perkembangan layanan dan aplikasi web, maka kemungkinan kemacetan di masa mendatang akan terletak pada sisi server. Masalah kemacetan di sisi server ini dapat diatasi dengan meningkatkan ukuran (skalabilitas) sistem server web. Gambar 1.1 adalah gambar bagan klasifikasi upaya peningkatan skalabilitas sistem server web.
1
Gambar 1.1 Bagan klasifikasi upaya peningkatan skalabilitas sistem server web [6]
Dalam Gambar 1.1, ada dua upaya peningkatan skalabilitas sistem server web yaitu sistem server web tunggal (scale-up) dan sistem server web jamak (scaleout). Peningkatan skalabilitas sistem server web tunggal dicapai dengan meningkatkan kemampuan perangkat keras dan/atau perangkat lunak. Contoh: meningkatkan kecepatan prosesor, kapasitas memori, kecepatan I/O harddisk, dan membuat aplikasi server web pada aras kernel. Upaya-upaya ini sudah cukup baik, akan tetapi mempunyai beberapa kelemahan. Pertama, membutuhkan biaya yang besar agar dapat selalu mengikuti perkembangan teknologi mutakhir. Kedua, tidak dapat menghilangkan fakta bahwa titik tunggal kegagalan (Single Point of Failure, SPOF) justru ada pada server itu sendiri. Ketiga, keberlangsungan dan ketersediaan layanan akan terganggu saat peningkatan skalabilitas server. Keempat, penggantian ke perangkat keras baru menyebabkan perangkat keras lama cenderung tidak terpakai lagi dalam sistem. Kelemahan-kelemahan ini membuat sistem server tunggal tidak lagi memadai dan diperlukan sistem server jamak yang dapat bekerja sama secara bergantian untuk melayani permintaan klien. Situs mesin pencari Google adalah salah satu contoh situs dengan sistem server jamak, yaitu sekitar 100.000 server web. Contoh lainnya adalah situs Akamai dengan 14.372 server web yang tersebar di 2.500 lokasi berbeda di seluruh dunia [11].
2
Secara umum, sistem server jamak dapat dibagi berdasarkan arsitektur pengantaran isinya menjadi dua (lihat Gambar 1.1). 1. Sistem Server Web Terdistribusi Geografis (Geographically Distributed Web Server System). Dalam sistem ini, titik-titik server melayani permintaan klien dari beberapa lokasi yang berbeda (global scale-out). 2. Sistem Server Web Terdistribusi Lokal (Locally Distributed Web Server System). Dalam sistem ini, titik-titik server melayani permintaan klien dari satu lokasi yang sama (local scale-out). Antara kedua arsitektur ini, sistem web terdistribusi lokal sudah lebih matang dalam konsep dan aplikasinya di lapangan [6]. Sistem server web terdistribusi lokal dapat dibagi lagi berdasarkan tampak-tidaknya alamat IP titik-titik server web tersebut dari klien menjadi dua. 1. Sistem Server Web Berbasis Cluster (Cluster-based Web Server System). Alamat IP titik-titik server web tidak terlihat dan hanya dikenali oleh klien sebagai 1 alamat IP, dengan berkedok pada alamat IP penyeimbang beban. 2. Sistem Server Web Terdistribusi (Distributed Web Server System). Alamat IP titik-titik server web dapat terlihat oleh klien. Dalam praktek, sistem web berbasis cluster lebih populer karena klien tidak perlu tahu atau berurusan dengan nama, alamat IP, atau lokasi titik-titik server bersangkutan, cukup dengan satu nama dan satu alamat IP. Selain itu sistem mempunyai redundansi perangkat keras dan perangkat lunak. Saat salah satu titik server atau daemon gagal bekerja maka sistem akan dikonfigurasi-ulang dan beban kerja diambil-alih oleh titik server lainnya dalam cluster. Titik-titik server dalam cluster pun dapat ditambahkan atau dikurangi tanpa mengganggu kerja sistem secara keseluruhan. Untuk mewujudkan sistem server web berbasis cluster ini, di pasaran telah beredar berbagai jenis piranti penyeimbang beban, seperti: Cisco LocalDirector, IBM NetDispatcher, dan Intel NetStructure Traffic Director. Namun dalam Tesis ini hanya akan digunakan komputer pribadi biasa beserta perangkat lunak LVS (Linux Virtual Server), dengan alasan kemudahan mendapatkan dan tanpa
3
membeli (gratis). Selain itu, alasan penggunaan LVS adalah karena kelebihannya dibanding ketiga produk komersil di atas. Ketiga produk komersil di atas hanya menggunakan satu mekanisme perutean [6], sedangkan LVS memiliki tiga mekanisme perutean sekaligus di dalamnya [6], yaitu NAT (Network Address Translation), IP Tunneling, dan Direct Routing. 1.2
Perumusan Masalah Sebelum merancang sistem server web berbasis cluster untuk layanan dan
aplikasi web tertentu, perlu ditetapkan jumlah pesat balasan HTTP, waktu tanggapan, dan troughput yang dibutuhkan. Jumlah pesat balasan HTTP adalah jumlah balasan HTTP per detik dari server ke klien (satuan: balasan/detik). Waktu tanggapan adalah waktu yang dibutuhkan server untuk membalas sebuah permintaan klien (satuan: milidetik). Throughput adalah pesat rata-rata pengantaran pesan yang sukses melalui sebuah kanal komunikasi (satuan: bit per second atau bps). Mengapa ketiga parameter ini perlu ditetapkan sebelum perancangan cluster server web? Karena: (1) layaknya orang melakukan sesuatu, perlu ada tujuan, sasaran, atau target yang ingin dicapai, (2) sebagai batasan kebutuhan yang ingin dipenuhi, (3) sebagai tolok ukur untuk menilai sampai sejauh mana penelitian ini akan dilakukan, (4) sebagai representasi keinginan si perancang sistem. Ketiga parameter yang dibutuhkan sangat bergantung pada jenis isi layanan dan aplikasi web, apakah statis atau dinamis. Hal ini berimplikasi pada perangkat keras yang (sebaiknya) dipakai. Kalau isi layanan dan aplikasi web bersifat statis, maka titik berat perangkat keras ada pada harddisk. Kalau isi layanan dan aplikasi web bersifat dinamis, maka titik berat perangkat keras ada pada prosesor. Setelah sistem dibuat, sangat penting untuk melakukan pengujian distribusi beban kerja web pada sistem untuk mengetahui kemampuan maksimum sistem dalam membalas pesat permintaan HTTP dari klien, dimulai dari keadaan idle hingga titik jenuhnya. Hasil pengujian akan sangat membantu untuk mengetahui kemampuan maksimum sistem yang telah dirancang, apakah sudah
4
sesuai dengan kebutuhan atau belum. Hal yang akan dibahas dalam penulisan Tesis ini adalah pengujian distribusi beban kerja web pada sistem server web berbasis cluster dengan cara menghasilkan beban kerja HTTP secara statis (dengan pesat permintaan HTTP per detik yang tetap) dan secara dinamis (dengan pesat permintaan HTTP per detik yang berubah atau naik secara teratur) dari klien ke pool sistem server web. Dan kemudian membandingkan hasil pengujian distribusi beban kerja web tersebut antara algoritma pengiriman Least Connection (tanpa bobot) dan Weighted Least Connection (dengan bobot). Algoritma pengiriman yang dimaksud adalah algoritma pengiriman permintaan HTTP ke realserver. Jenis mekanisme perutean yang dipilih adalah content-blind routing (lapis ke-4), khususnya NAT. Pengujian difokuskan pada penyeimbang beban sebagai tempat berlangsungnya mekanisme perutean dan algoritma pengiriman. 1.3
Keaslian penelitian Penelitian-penelitian sejenis yang membahas tentang teknologi cluster
server antara lain: Tabel 1.1 Penelitian sejenis dibagi menurut Metode atau Fitur dan Waktu
No.
Judul Penelitian dan Peneliti
1.
Provision of Load-balanced Linux Packages Mirror Service in Private Cloud by Yen, Tseng-Chang., Tang, Pei-Yuan, Cybernetics Com. One Load Balancing Solution for Mobile Video Surveillance System by Zhang, Xingming., Zhan, Shaoxin, IEEE 2012 International Conference on Computer Science and Service System. High-Availability Cluster Support for IBM Informix Dynamic Server (IDS) on Linux by Lars Daniel Forseth, University of Cooperative Education in Stuttgart, Germany. Modeling and Simulation of
2.
3.
4.
5
Metode atau Waktu Fitur Menggunakan mekanisme 2012 perutean IP Tunneling Menggunakan mekanisme perutean Direct 2012 Routing dan algoritma Weighted Round-Robin Menggunakan perangkat lunak Linux-HA untuk IDS
2007
Menggunakan
2006
5.
Performance Analysis for A algoritma RoundCluster-based Web Server by Robin Jianhua Yang et al, Journal of Simulation Modelling Practice and Theory, Volume 14, Issue 2, February 2006. Menggunakan A Performance Study of LAM and perangkat lunak MPICH on a SMP Cluster by Brian Patrick Kearns, Portland State LAM dan MPICH untuk Cluster SMP University, USA.
2003
Penelitian-penelitian sejenis tentang teknologi cluster server di atas berbeda dengan Tesis ini. Tesis ini diterapkan pada PC biasa, menggunakan mekanisme perutean NAT, menguji algoritma Least Connection dan Weighted Least Connection, melakukan penentuan bobot, melakukan pengujian beban web secara statis dan dinamis, dan melakukan analisis lalu-lintas paket data. 1.4 Tujuan Penelitian 1. Merancang sistem server web berbasis cluster yang saat ini banyak dipakai oleh situs web dengan skalabilitas tinggi. 2. Menguji batas-batas kemampuan distribusi beban kerja web pada sistem server web berbasis cluster dengan mekanisme perutean Content-Blind dan algoritma pengiriman Least Connection (LC) dibandingkan dengan algoritma Weighted Least Connection (WLC). 1.5 Manfaat Penelitian 1. Menghasilkan sebuah server web berbasis cluster performa tinggi secara ekonomis. 2. Memperoleh data hasil pengujian tentang algoritma mana yang lebih baik untuk menangani distribusi beban kerja web secara statis dan dinamis, apakah Weighted Least Connection atau Least Connection. 1.6 Batasan Masalah Penentuan bobot pada pengukuran kinerja ini dibatasi pada faktor harddisk dan prosesor saja.
6