Anda di halaman 1dari 10

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X

Vol. 3, No. 4, April 2019, hlm. 3478-3487 http://j-ptiik.ub.ac.id

Implementasi Load Balancing Server Web Berbasis Docker Swarm


Berdasarkan Penggunaan Sumber Daya Memory Host
Mohamad Rexa Mei Bella1, Mahendra Data 2, Widhi Yahya3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: 1rexameibella@student.ub.ac.id, 2 mahendra.data@ub.ac.id, 3 widhi.yahya@ub.ac.id
Abstrak
Virtualisasi bebasis container sangat popular dikalangan programming development di karenakan
virtualisasi yang ringan dimana kernel Linux dapat membagi penggunakan resource antar container
bertujuan agar kinerja container tidak saling terganggu antar lainnya. Salah satu virtualiasi berbasis
container yang sering digunakan adalah Docker.Docker sendiri merupakan open source software yang
dapat di ubah sesuai dengan keinginan. Container Docker dapat digunakan untuk clustering web server.
Hal ini bertujuan untuk mengurangi "a single point of failure" (SPOF) dalam web server. Bagaimanapun
mengatur container dalam jumlah banyak sangatlah rumit, tetapi Docker memiliki engine untuk
mengaturnya yang disebut Docker Swarm. Docker Swarm memiliki load balancing internal tetapi hanya
mengatur antar container dalam host dan tidak dapat di monitor. Sehingga dapat mengakibatkan
resource antar host tidak tebagi secara rata. Oleh karena itu penelitian ini bertujuan untuk
mendistribusikan traffic web server secara rata antar host dengan loadbalancing berdasarkan sumber
daya memory dan failover berdasarkan waktu.Terdapat beberapa pengujian terhadap sistem untuk
menguji fungsionalitas serta kinerja dalam loadbalancer berdasarkan memory utilization. Dan dari hasil
pengujian dilakukan bahwa failover berdasarkan waktu dan load balancer berdasarkan sumber daya
memory dapat bekerja dalam Docker Swarm dan dapat menangangi masalah pembagian resource antar
host.
Kata kunci: Docker, swarm, load balancer, web cluster
Abstract
Virtualization based container is very popular among programming development because this
virtualization is lightweight virtualization where Linux kernel allow to share resource between
containers so performace container does not interfere with each other. One of the most used
virtualization based container is Docker. Docker is open source software which can be change as we
wish. Docker container can be used to clustering web server. This method can be used to decrease a
single point of failure (SPOF) in web server. However to manage a lot container is complex, but Docker
have engine to solve this problem called Docker Swarm. Docker Swarm have internal load balancing
but just to manage between container and can’t be monitored.So can make resource between host is not
unequal distributed. Therefore this research purpose is to distribute web server traffic inside a Docker
swarm using loadbalancing based on the resource utilization of the host machine. There are several
tests to test the system's functionality and performance in overcoming gaps in failover based time and
load balancer based memory. From the test results, we obtained that failover based time and
loadbalancer based memory can work in Docker Swarm and can solved the problem about unequal
distributed between host.
Keywords: Docker, swarm, load balancer, web cluster

Hypervisior yang hanya mengisolasi proses


1. PENDAHULUAN tanpa mengisolasi perangkat keras, kernel
Teknik virtualiasi adalah teknik dimana dan operating sistem sehingga dapat
mengisolasi suatu sistem sehingga tidak mengurangi overhead pada hardware juga
menganggu sistem yang lainnya. Salah satu performanya lebih baik dari virtulasi mesin
teknik virtulisasi adalah virtualisasi berbasis (Adiputra, 2015). Salah satu virtualisasi
container. Virtualisasi berbasis container berbasis container adalah Docker.
adalah teknik yang tidak menerapkan

Fakultas Ilmu Komputer


Universitas Brawijaya 3478
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3479

Docker dapat digunakan untuk software dan hardware. Terdapat banyak


pengembangan web server dikarenakan software load balancing diantaranya yaitu
memudahkan proses deployment HAproxy, Nginx, dan Zevenet . Pada
(penyebaran) aplikasi web beserta software penelitian sebelumnya yang berjudul “Load
pendukung seperti web server, database, Balancing Server Web Berdasarkan Jumlah
dependensi dan environment lain. Oleh Koneksi Klien Pada Docker Swarm” bahwa
karena itu tidak menimbulkan konflik load balancing pada Nginx dapat diterapkan
ketergantungan antar web server (M. pada Docker Swarm (Dimas Setiawan Afis,
Fadlulloh Romadlon Bik, 2017). Jika hanya 2018). Kelebihan menggunakan Nginx
menggunakan satu host web server maka dalam Docker adalah terdapat modul load
dapat mengakibatkan a single point of balancer yang teresedia langsung di
failure" (SPOF), yaitu kondisi server yang dalamnya sehingga mengurangi penggunaan
jika gagal merespons request client maka resource pada host dan ketergantungan
sistem akan tidak berfungsi dikarenakan modul lainnya. Nginx terdapat pada
terlalu banyak menangani request dari client repository Docker yang telah di package
(Julianto, 2017). Salah satu teknik untuk menjadi container sehingga mudah untuk di
mengatasi masalah tersebut adalah implementasikan. (NGIX Software.INC,
menggunakan teknik web cluster. Teknik ini 2014)
adalah menggunakan beberapa mesin dapat
berupa virtualisasi host atau host asli lebih Kekurangan dari penggunaan load
dari satu dalam satu jaringan yang saling balancer pada container Nginx adalah
terhubung. Jika salah satu host mati maka hanya membagi request client antar
terdapat host lainnya untuk menangani container sehingga dapat mengakibatkan
request dari client sehingga tercapai fungsi penggunaan resource yang tidak merata
ketersediaan (availability) (Singh, 2015). antar mesin host dan tidak dapat memonitor
Bagaimanapun mengatur banyak host resource yang digunakan. Salah satu
sangatlah kompleks, tetapi Docker memiliki resource yang penting dalam mesin host
modul untuk menangani masalah tersebut adalah memory. Fungsi dari memory adalah
yang disebut Docker Swarm. mempercepat kinerja host dikarenakan
menyediakan ruang penyimpanan sementara
Docker Swarm memiliki dua node yang sehingga data mudah untuk di proses oleh
berkerja yaitu node Manager dan node CPU. Oleh sebab itu , jika memory host
Worker. Node Manager adalah node yang mengalami overload maka kinerja dari host
mengatur dan memberikan tugas (task) pada akan melambat dan dapat pula
node Worker. Sedangkan node Worker mengakibatkan host mati (Liberios
adalah node yang bekerja sesui dengan tugas Vokorokos, 2015).
(task) yang diberikan oleh node Manager.
Docker Swarm bekerja dengan cara routing Dari refrensi diatas dapat disimpulkan
mesh yang memungkinkan setiap node bahwa penggunaan load balancing dapat
untuk menerima semua port yang dipublish mengoptimalkan suatu web server dengan
dari layanan yang berjalan dalam swarm dan membagi beban traffic dengan bebagai
jika tidak terdapat terdapat tugas yang algoritma dan metode yang berbeda. Oleh
bekerja pada node. Routing mesh karena itu peneliti menggunakan metode
memungkingkan untuk meneruskan semua load balancing berbasis sumber daya
request client ke container yang aktif yang Metode ini dipilih karena dengan
berada dalam node (Docker, 2013). mengetahui penggunaan memory web server
kita bisa mengetahui Node worker mana
Dalam suatu web cluster harus memiliki yang bebannya sedikit memproses suatu
satu atau lebih entitas interface load request sehingga beban dapat di
balancing. Fungsi load balancing adalah distribusikan dengan baik dan dapat
memaksimalkan troughput, traffic dapat mendekteksi host yang down ketika bekerja.
berjalan optimal, memperkecil latency dan
menghindari overload pada salah satu jalur
koneksi (Dewobroto, 2009). Load balancer
terbagi menjadi 2 yaitu loadbalancer

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3480

2. DASAR TEORI Docker akan digantikan dengan host yang


sedang aktif.
2.1 Docker

Docker adalah sebuah aplikasi yang bersifat


open source yang berfungsi sebagai
wadah/container untuk mengepak/memasukkan
sebuah software secara lengkap beserta semua
hal lainnya yang dibutuhkan oleh software
tersebut dapat berfungsi. Pengaturan software
beserta file/hal pendukung lainnya akan menjadi
sebuah Image (istilah yang diberikan oleh
Docker). Kemudian sebuah instan dari Image
tersebut kemudian disebut Container. Gambar. 1. Arsitektur Docker Swarm
Perbadingan antara Docker Container Sumber : (Docker, 2013)
dibandingkan VM dapat dilihat di Tabel 2.1.
2.3 Web Server NGIX

Web Server NGIX adalah


server HTTP dan Proxy dengan kode sumber
terbuka yang bisa juga berfungsi sebagai proxy
IMAP/POP3. Kode sumber nginx ditulis oleh
seorang warga negara Rusia yang bernama Igor
Sysoev pada tahun 2002 dan dirilis ke publik
pada tahun 2004. Nginx terkenal karena stabil,
memiliki tingkat performansi tinggi dan minim
mengonsumsi sumber daya (NGIX
Software.INC, 2014).

Selain itu NGIX juga dapat digunakan


sebagai load balancing karena memiliki fitur
Tabel. 1. Perbandingan Antara Container Dan
Proxy pass yang berfungsi untuk memindahkan
VM
jalur ke Node yang ditunjuk dan juga memiliki
Sumber : (Adiputra, 2015) modul load balancing yang menggunakan
2.2 Docker Swarm metode :

Docker memperkenalkan Swarm mode 1. Round-Robin;


pada versi 1.12. Mode ini memungkinkan
2. Leastconn;
pengguna untuk me-deploy container pada
multiple hosts atau Node, menggunakan overlay
3. Weight.
network. Swarm mode merupakan bagian dari
command line interface Docker yang
2.4 JSON
memudahkan pengguna untuk menngelola
komponen container (Docker, 2013). JSON (JavaScript Object Notation) adalah
format pertukaran data yang ringan, mudah
Dalam Docker Swarm terdapat manager dibaca dan ditulis oleh manusia, serta mudah
dan worker dimana kita bisa mengontrol lebih diterjemahkan dan dibuat (generate) oleh
dari satu worker dengan manager. dengan
komputer. Format ini dibuat berdasarkan bagian
Docker Swarm kita dapat disebut
dari Bahasa Pemprograman JavaScript, Standar
mengelompokan suatu machine dalam grup ECMA-262 Edisi ke-3 - Desember 1999. JSON
tertentu dengan 1 manager atau lebih dan merupakan format teks yang tidak bergantung
worker manager berfungsi sebagai pengontrol
pada bahasa pemprograman apapun karena
bagi worker. Kelebihan dari Docker Swarm
menggunakan gaya bahasa yang umum
adalah jika salah satu host down maka service digunakan oleh programmer keluarga C
termasuk C, C++, C#, Java, JavaScript, Perl,

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3481

Python dll. Oleh karena sifat-sifat tersebut, monitor oleh Node Manager dan paket akan di-
menjadikan JSON ideal sebagai bahasa forward ke Node Worker yang Aktif.
pertukaran-data.

JSON terbuat dari dua struktur:


Begin
 Kumpulan pasangan nama/nilai. TM= Time_Manager
Pada beberapa bahasa, hal ini TW1=Time_Worker1
dinyatakan sebagai objek (object), NW1=Node_Worker1
rekaman (record), struktur (struct), TW2=Time_Worker2
NW2=Node_Worker2
kamus (dictionary), tabel hash (hash
TR= Time_Tolerance
table), daftar berkunci (keyed list), If ((TM< TW1+TR) && (TM<TW2+TR))
atau associative array. Do Loadbalancing()
 Daftar nilai terurutkan (an ordered If ((TM< TW1+TR) && (TM>TW2+TR))
list of values). Pada kebanyakan Do Web Service route to
bahasa, hal ini dinyatakan sebagai NW1;
larik (array), vektor (vector), daftar If ((TM> TW1+TR) && (TM<TW2+TR))
(list), atau urutan (sequence). Do Web Service route to
NW2;
If ((TM> TW1+TR) && (TM>TW2+TR))
Struktur-struktur data ini disebut sebagai Print (‘All Web Server
struktur data universal. Pada dasarnya, semua Down’)
bahasa pemprograman moderen mendukung
struktur data ini dalam bentuk yang sama Gambar. 2. Pseudocode fungsi deteksi host
maupun berlainan. Hal ini pantas disebut down dan monitoring host down
demikian karena format data mudah
dipertukarkan dengan bahasa-bahasa Pada Gambar 2 diatas menjelaskan cara
pemprograman yang juga berdasarkan pada kerja Fail Over dimana jika semua Node Worker
struktur data ini (JSON ORG, 2017). Aktif atau waktu melebihi waktu Node Manager
maka akan menjalankan method loadbalancer.
2.5 Load Balancing Jika salah 1 Node worker down atau waktu Mode
Worker kurang dari waktu Node Manager ketika
Load balancing adalah salah satu teknik pengecekan maka paket akan di forward ke Node
atau metode yang digunakan dalam pembagian Worker yang aktif. Dan Jika semua Node
beban web server dalam jaringan. Teknik ini Worker Down atau semua waktu Node Worker
mendistribusikan beban trafik pada dua atau kurang dari waktu pengecekan maka terdapat
lebih jalur koneksi secara seimbang, agar trafik notifikasi bahwa semua Node Worker Down.
dapat berjalan optimal.Load balancing juga
mendistribusikan beban kerja secara merata di 2.5.2 Load Balancing Berdasarkan Sumber
dua atau lebih komputer, link jaringan, CPU, Daya Memory
hard drive, atau sumber daya lainnya, untuk
mendapatkan pemanfaatan resource yang Penulis menggunakan load balancing
optimal (Dewobroto, 2009). metode berbasis sumber daya atau resource,
karena dengan mengetahui resource dari Node
2.5.1 Fungsi Deteksi dan Monitoring Host server (Node Worker), dapat memperkecil
down kemungkinan server gagal merespons atau error
dengan mengetahui apakah beban server terlalu
Penulis menggunakan Fungsi Deteksi dan berat dengan melihat resource-nya yaitu nilai
Monitoring Host down antar Node Manager dan Memory yang terpakai. Ketika user melakukan
Node Worker. Node Worker dianggap down jika request, sebelumnya server (Node Worker) telah
pengecekan waktu Node Worker ditambah mengirimkan data resource ke Manager Node
waktu toleransi kurang dari waktu real Node dan membandingkan nilai resource tersebut
Manager, dimana waktu toleransi adalah waktu yaitu berupa nilai Memory Usage server.
yang dapat ditolerir oleh penulis menggangap Kemudian diambil nilai terkecil lalu Node
Node Worker sedang down. Sehingga ketika Manager mengirimkan perintah untuk forward
salah satu Node Worker down maka dapat di

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3482

paket ke Node Worker dengan resource terkecil 3.1. Perancangan Topologi


tersebut agar beban server seimbang.

Mekanisme pemilihan server dengan


algoritma resource based dapat dilihat pada
pseudocode berikut.

Begin
NW= Node_Worker
M= Free_Memory_Host
NW_M = { (NW,M) }
If No Resource In List
Find maximum M in NW_M
Return NW Gambar 4. Topologi jaringan pada Docker Swarm
Do Web Service route to NW
End Gambar 4 menunjukkan bahwa topologi
yang digunakan terdiri atas 3 Node Server
dimana dalam topologi ini tediri dari 1 Node
Gambar. 3. Pseudocode load balancer
Manager dan 2 Node Worker. Dimana Node
berdasarkan memory
Manager bertujuan untuk mengatur Node
Pada Gambar 3 diatas menjelaskan cara Worker. Dalam Node Manager telah tepasang
kerja load balancing dengan metode memory container NGINX untuk load balancing dan
resource yaitu memilih IP dan Memory Resource Node Worker telah terpasang container Apache
dari Node Worker 1 sebagai default jika tidak yang digunakan untuk web server.
ada resource yang dikirim ke Node Manager.
Jika terdapat Node Worker yang memiliki 3.2. Diagram Alur Sistem
penggunaan free space memory terbanyak maka
Dalam subab ini terdapat tahapan
Node Manager akan memerintahkan agar Node
mekanisme sistem. Alur sistem ini bertujuan
Worker yang menggunakan free space memory
untuk menjelaskan aliran data sistem. Berikut ini
terbanyak untuk mengambil alih route web
adalah gambar diagram alir dari perancangan
service. Pembagian beban pada web server dapat
topologi sistem yang dibuat.
dilakukan dengan seimbang maka kinerja web
server dapat memberikan respons yang baik
terhadap request dari user (Julianto, 2017).

3. PERANCANGAN
Pada bagian ini dijelaskan langkah-langkah
untuk merancang dan mengimplementasi
sebuah sistem Web Server dengan
mengunakan Docker Swarm dengan fail
over berbadasarkan waktu dan load
balancing berdasarkan sumber daya
komputer dengan berpedoman pada
metodologi penelitian yang telah dibahas
sebelumnya.

Gambar 5. Flowchart alur sistem


Pada Gambar 5 menjelaskan alur dari kerja
sistem yang akan dikembangkan. Pertama sistem
akan menerima request layanan dari client,

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3483

kemudian jika request tidak diterima oleh node waktu nyata Node Manager maka beban traffic
Manager maka sistem semua sistem mati. Jika akan di bebankan pada salah satu Node Worker
request diterima oleh node Manager, maka yang memiliki data waktu lebih besar dari waktu
sistem mengecek apakah semua node worker nyata Node Manager dan menghasilkan output
mati. Jika iya, maka layanan akan ditangani oleh bahwa salah satu Node Worker down. Dan jika
node Manager. Jika tidak ,maka akan dilakukan semua data waktu dari Node Worker kurang dari
pengecekan apakah node worker1 mati. Jika waktu nyata Node Manager maka beban traffic
node worker1 mati, maka layanan akan ditangani akan diambil oleh Node Manager dan
oleh node worker2. Jika tidak ,maka akan menghasilkan output bahwa semua Node
dilakukan pengecekan apakah node worker2 Worker down.
mati. Jika node worker2 mati, maka layanan
akan ditangani oleh node worker1. Jika tidak 3.3. Perancangan Load Balancing
,maka akan melakukan proses load balancing. Berdasarkan Perbandingan Sumber Daya
Proses load balancing dapat dilihat pada Memory
Gambar 4.3.

3.2. Perancangan Fungsi Deteksi dan Begin


Monitoring Host down NW= Node_Worker
M= Free_Memory_Host
Begin NW_M = { (NW,M) }
TM= Time_Manager If No Resource In List
NM=Node_Manager Find maximum M in NW_M
TW1= Time_Worker1 Return NW
NW1=Node_Worker1 Do Web Service route to NW
TW2= Time_Worker2 End
NW2=Node_Worker2 Gambar .7. Pseudocode load balancer berdasarkan
TR= Time_Tolerance sumber daya memory
If ((TM< TW1+TR) && (TM<TW2+TR)) Load balancing pada Docker Swarm
Do Loadbalancing();
berjalan di Node master (192.168.56.101) yang
If ((TM< TW1+TR) && (TM>TW2+TR))
Print (‘Node Worker1 dapat memproses request user yang masuk dan
Down’) meneruskannya ke Node yang ada di dalam
Do Web Service route to Swarm. Dalam penyebaran Swarm,
NW1; loadbalancer menangani permintaan klien
If ((TM> TW1+TR) && (TM<TW2+TR)) masuk serta permintaan layanan ke layanan
Print (‘Node Worker2 internal. Sistem ini membutuhkan koneksi
Down’) internet agar masing-masing komponen atau
Do Web Service route to Node saling terhubung. Proses diawali dengan
NW2;
If ((TM> TW1+TR) && (TM>TW2+TR))
membuat suatu konten atau layanan pada server
Do Web Service route to master yang telah menerapkan Docker Swarm.
NM; Lalu secara otomatis konten atau layanan yang
Print (‘All Web Server telah di buat akan tersebar ke semua worker yang
Down’) tergabung ke dalam Swarm. Setelah itu
pengembang memberikan konfigurasi load
Gambar .6. Pseudocode Fungsi Deteksi dan balancing pada server master untuk membagi
Monitoring Host down beban request. Kemudian user dapat mengakses
Fungsi Deteksi dan Monitoring Host layanan atau konten yang sudah di buat pada
down pada Docker Swarm berjalan di Node sistem tersebut. Load balancing akan
master (192.168.56.101) yang dapat memproses meneruskan request user ke Node worker yang
request user yang masuk dan meneruskannya ke memiliki free space memory terbesar
Node yang ada di dalam Swarm. Dalam
penyebaran Swarm, fail over ini bekerja ketika 4. ANALISIS PENGUJIAN
data waktu dari Node Worker diproses . Ketika
semua data waktu dari Node Worker lebih dari 4.1. Analisis Pengujian Kinerja
waktu nyata Node Manager maka akan di Pada subab ini menjelaskan analisa dari
teruskan ke method loadbalancing. Ketika salah pengujian kinerja sistem yang telah di uji dengan
satu data waktu dari Node Worker kurang dari

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3484

skenario pengujian dan parameter yang telah di client. Tetapi ketika jumlah Client 250 ada
tetapkan oleh penulis. kenaikan Troughtput yang disebabkan karena
faktor penurunan penggunakan data oleh host
4.1.1. Analisa Pengujian Memory dan CPU dan pengguna jaringan pada jaringan yang sama
(Resource Utilization) pada saat pengujian.
Memory dan CPU merupakan komponen
penting dalam host dan dapat dijadikan sebagai 4.2. Analisis Pengujian Load Balancing
acuan dalam menentukan kinerja host tersebut.
Semakin efektif penggunaan memory dan CPU Pada Subab ini menjelaskan hasil output
pada host, semakin bagus pula kinerjanya. load balancing dari program load balancing dan
Sebuah host dapat dikatakan efektif, jika dapat mengakses web browser dengan alamat manager
menggunakan CPU dan memory secukupnya untuk pengecekan Mapping adalah benar.
untuk mendapat hasil yang maksimal. Untuk
mengetahui pengaruh loadbalancer pada host
terhadap CPU dan memory, dilakukan pengujian
dengan menggunakan load/stress client dengan
beberapa skenario. Berikut hasil pengujian
penggunaan memory dan CPU pada host web
server Docker Swarm.

Tabel. 2. Hasil Pengujian Menggunakan CPU dan


Memory
Memory Utilization
CPU Utilization (%)
Number (Mb)
of clients Worker Worker Worker Worker
Node 1 Node 2 Node 1 Node 2
50 3,8 2,4 214 185

250 4,6 3,0 214 187


Gambar .8. Output Load balancing dan pengecekan
500 8,6 4,0 214 187
Mapping menggunakan web browser

4.1.2. Analisa Pengujian Throughtput Dari Gambar 8 menerangkah bahwa load


Throughput merupakan parameter yang balancing berdasarkan sumber daya memory
umum dijadikan acuan dalam menentukan dapat di jalankan dan dapat di monitor oleh
kualitas koneksi jaringan. Semakin tinggi nilai layar. Dan juga ketika dilakukan pengecekan
throughput semakin bagus juga kualitas Mapping pada web browser bahwa request client
jaringannya. Throughput dapat dijadikan acuan di arahkan pada node Worker1 sesuai dengan
dalam melihat kinerja Host Web Server dalam output program pada gambar 9.
menghubungkan antara jumlah client yang dapat
di handle . Berikut hasil pengujian throughput
dengan menggunakan load/stress client.
Tabel. 3. Hasil Pengujian Troughtput pada host Gambar .9. Output mapping load balancing
server menunggunakan sumber daya memory
Jumlah Client Troughtput
4.3. Analisis Pengujian Fungsinonal
50 48,059904 Mb/s Dalam analisa pengujian fungsional
dilakukan dengan cara menganalisa memonitor
250 49,091328 Mb/s pengiriman dan penerimaan data, output
program dan monitoring node host yang down.
500 43,529728 Mb/s Analisa pengujian fungsional bertujuan untuk
mengecek bahwa sistem dapat bekerja sesuai
dengan yang diharapkan.
Dalam hasil pengujian Troughtput pada
Tabel 3 di jelaskan bahwa penurunan Troughtput
berbanding lurus dengan penambahan jumlah

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3485

4.3.1.Pengujian Fungsi Pengiriman Data Dari Gambar 11 menerangkah bahwa


Node Worker dan Penerimaan Data Node fungsi deteksi dan monitoring host down dapat di
Manager jalankan dan dapat di monitor oleh layar. Ketika
node Worker1 Down, maka request client akan
Pada Subab ini menjelaskan output
di bebankan pada node Worker2. Dan terdapat
monitoring pengiriman data oleh node Worker
output program berupa warning yang
ke node Manager. Dalam output monitoring
menyatakan bahwa node Worker1 Down. Dan
pengiriman data darii node Worker terdapat
juga ketika dilakukan pengecekan Mapping pada
waktu pengiriman data dan data yang telah
web browser bahwa request client di arahkan
dikirim dapat dilihat pada Gambar 10.
pada node Worker2 sesuai dengan output
program pada gambar 12.

Gambar .12 Output mapping menggunakan web


browser dengan node Worker1 down

Gambar .9. Output monitoring pengiriman data oleh


4.3.3.Pengujian Fungsi Deteksi dan
node Worker Monitoring Host Down Ketika Node Worker2
down
Pada Output monitoring penerimaan data Pada Subab ini menjelaskan hasil fungsi
oleh node Manager dapat dilihat pada Gambar deteksi dan monitoring host down dari program
10. beserta waktu menerima data dari node ketika node Worker2 down dan node Worker1
Worker. aktif . Hasil output dari program dapat dilihat
pada Gambar 13 dan hasil pengecekan dalam
web browser dapat dilihat pada Gambar 14.

Gambar .10. Potongan output monitoring


penerimaan data oleh node Manager

4.3.2.Pengujian Fungsi Deteksi dan


Monitoring Host Down Ketika Node Worker1
Down
Pada Subab ini menjelaskan hasil fungsi
deteksi dan monitoring host down dari program
ketika node Worker1 down dan node Worker2
aktif . Hasil output dari program dapat dilihat Gambar .13.Output program deteksi dan monitoring
pada Gambar 11 dan hasil pengecekan dalam host down ketika node Worker2 Down
web browser dapat dilihat pada Gambar 12. Dari Gambar 13 menerangkah bahwa fungsi
deteksi dan monitoring host down dapat di
jalankan dan dapat di monitor oleh layar. Ketika
node Worker2 Down, maka request client akan
di bebankan pada node Worker1. Dan terdapat
output program berupa warning yang
menyatakan bahwa node Worker1 Down. Dan
juga ketika dilakukan pengecekan mapping pada
web browser bahwa request client di arahkan
pada node Worker1 sesuai dengan output
Gambar .11.Output program deteksi dan monitoring program pada Gambar 14
host down ketika node Worker1 down

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3486

5. PENUTUP

5.1. Kesimpulan
Dari hasil analisis percobaan yang telah
dilakukan terhadap data uji yang telah diujikan,
Gambar .14 Output mapping menggunakan Web
penulis menyimpulkan bahwa :
Browser dengan node Worker2 Down
1. Perancangan arsitektur load balancing
server web berbasis Docker Swarm
bedasarkan penggunaan sumber daya
4.3.3.Pengujian Fungsi Deteksi dan memory dapat diterapkan sesuai dengan
Monitoring Host Down Ketika Semua Node rancangan yang telah dibuat;
Down
2. Implementasi dari arsitektur load
Pada Subab ini menjelaskan hasil output balancing server web berbasis Docker
fungsi deteksi dan monitoring host down dari Swarm bedasarkan penggunaan sumber
program ketika semua node Worker down daya memory dapat bekerja sesuai
sehingga diambil alih oleh node Manager. Hasil dengan yang diharapkan;
output dari program dapat dilihat pada Gambar
15 dan hasil pengecekan dalam web browser 3. Dari hasil kinerja dari load balancing
dapat dilihat pada Gambar 16. server web berbasis Docker Swarm
bedasarkan penggunaan sumber daya
memory dapat disimpulkan bahwa
penggunaan load balancing
berdasarkan penggunaan sumber daya
memory dapat mengurangi traffic web
server.

5.2. Saran
Saran yang diberikan untuk pengembangan
kedepan load balancing pada Docker Swarm
antara lain:
1. Dalam Metode load balancing pada
Gambar .15 Output Main Program fungsi deteksi Docker Swarm , seharusnya dapat
dan monitoring host down ketika semua node membagi pembuatan container secara
Worker down
rata pada setiap host ketika salah 1
Dari Gambar 15 menerangkah bahwa fungsi container rusak.
deteksi dan monitoring host down dapat di 2. Megunakan lebih dari 1 parameter agar
jalankan dan dapat di monitor oleh layar. Ketika kinerja load balancer lebih baik dalam
semua node Worker down, maka request client membagi beban dalam setiap node.
akan di bebankan pada node manager. Dan
terdapat output program berupa warning yang 6. DAFTAR PUSTAKA
menyatakan bahwa semua node Down. Dan juga Adiputra, F. (2015). CONTAINER DAN
ketika dilakukan pengecekan Mapping pada web DOCKER: TEKNIK VIRTUALISASI
browser bahwa request client di arahkan pada
DALAM PENGELOLAAN BANYAK
Node Manager sesuai dengan output program
APLIKASI WEB. 4(3).
pada Gambar 16. Dewobroto. (2009). Jurnal Jarkom. 1.
Docker. (2013, January 1). Docker. (Docker)
Retrieved February 15, 2018, from
Docker Web Site:
https://www.docker.com/what-
Gambar .16 Output Mapping Menggunakan Web
Browser container
JSON ORG. (2017, Juny 2). JSON. (JSON Org)
Retrieved February 15, 2018, from
JSON Web Site:

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3487

https://www.json.org/json-id.html
Julianto, R. (2017). Implementasi Load
Balancing Di Web Server
Menggunakan Metode. I.
NGIX Software.INC. (2014, January 1). NGIX.
(NGIX Software.INC) Retrieved
February 15, 2018, from NGIX:
https://www.nginx.com/blog/
Nugroho, M. (2016). ANALISIS KINERJA
PENERAPAN CONTAINER UNTUK
LOAD BALANCING WEB SERVER
PADA RASPBERRY PI. 01(02).
Singh, H. (2015). WSQ: Web Server Queueing
Algorithm for Dynamic Load
Balancing.

Fakultas Ilmu Komputer, Universitas Brawijaya

Anda mungkin juga menyukai