• Tidak ada hasil yang ditemukan

Implementasi Load Balancing Server Web Berbasis Docker Swarm Berdasarkan Penggunaan Sumber Daya Memory Host

N/A
N/A
Protected

Academic year: 2022

Membagikan "Implementasi Load Balancing Server Web Berbasis Docker Swarm Berdasarkan Penggunaan Sumber Daya Memory Host"

Copied!
10
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya 3478

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: 1[email protected], 2[email protected], 3 [email protected]

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

1. PENDAHULUAN

Teknik virtualiasi adalah teknik dimana mengisolasi suatu sistem sehingga tidak menganggu sistem yang lainnya. Salah satu teknik virtulisasi adalah virtualisasi berbasis container. Virtualisasi berbasis container adalah teknik yang tidak menerapkan

Hypervisior yang hanya mengisolasi proses tanpa mengisolasi perangkat keras, kernel dan operating sistem sehingga dapat mengurangi overhead pada hardware juga performanya lebih baik dari virtulasi mesin (Adiputra, 2015). Salah satu virtualisasi berbasis container adalah Docker.

(2)

Docker dapat digunakan untuk pengembangan web server dikarenakan memudahkan proses deployment (penyebaran) aplikasi web beserta software pendukung seperti web server, database, dependensi dan environment lain. Oleh karena itu tidak menimbulkan konflik ketergantungan antar web server (M.

Fadlulloh Romadlon Bik, 2017). Jika hanya menggunakan satu host web server maka dapat mengakibatkan a single point of failure" (SPOF), yaitu kondisi server yang jika gagal merespons request client maka sistem akan tidak berfungsi dikarenakan terlalu banyak menangani request dari client (Julianto, 2017). Salah satu teknik untuk mengatasi masalah tersebut adalah menggunakan teknik web cluster. Teknik ini adalah menggunakan beberapa mesin dapat berupa virtualisasi host atau host asli lebih dari satu dalam satu jaringan yang saling terhubung. Jika salah satu host mati maka terdapat host lainnya untuk menangani request dari client sehingga tercapai fungsi ketersediaan (availability) (Singh, 2015).

Bagaimanapun mengatur banyak host sangatlah kompleks, tetapi Docker memiliki modul untuk menangani masalah tersebut yang disebut Docker Swarm.

Docker Swarm memiliki dua node yang berkerja yaitu node Manager dan node Worker. Node Manager adalah node yang mengatur dan memberikan tugas (task) pada node Worker. Sedangkan node Worker adalah node yang bekerja sesui dengan tugas (task) yang diberikan oleh node Manager.

Docker Swarm bekerja dengan cara routing mesh yang memungkinkan setiap node untuk menerima semua port yang dipublish dari layanan yang berjalan dalam swarm dan jika tidak terdapat terdapat tugas yang bekerja pada node. Routing mesh memungkingkan untuk meneruskan semua request client ke container yang aktif yang berada dalam node (Docker, 2013).

Dalam suatu web cluster harus memiliki satu atau lebih entitas interface load balancing. Fungsi load balancing adalah memaksimalkan troughput, traffic dapat berjalan optimal, memperkecil latency dan menghindari overload pada salah satu jalur koneksi (Dewobroto, 2009). Load balancer terbagi menjadi 2 yaitu loadbalancer

software dan hardware. Terdapat banyak software load balancing diantaranya yaitu HAproxy, Nginx, dan Zevenet . Pada penelitian sebelumnya yang berjudul “Load Balancing Server Web Berdasarkan Jumlah Koneksi Klien Pada Docker Swarm” bahwa load balancing pada Nginx dapat diterapkan pada Docker Swarm (Dimas Setiawan Afis, 2018). Kelebihan menggunakan Nginx dalam Docker adalah terdapat modul load balancer yang teresedia langsung di dalamnya sehingga mengurangi penggunaan resource pada host dan ketergantungan modul lainnya. Nginx terdapat pada repository Docker yang telah di package menjadi container sehingga mudah untuk di implementasikan. (NGIX Software.INC, 2014)

Kekurangan dari penggunaan load balancer pada container Nginx adalah hanya membagi request client antar container sehingga dapat mengakibatkan penggunaan resource yang tidak merata antar mesin host dan tidak dapat memonitor resource yang digunakan. Salah satu resource yang penting dalam mesin host adalah memory. Fungsi dari memory adalah mempercepat kinerja host dikarenakan menyediakan ruang penyimpanan sementara sehingga data mudah untuk di proses oleh CPU. Oleh sebab itu , jika memory host mengalami overload maka kinerja dari host akan melambat dan dapat pula mengakibatkan host mati (Liberios Vokorokos, 2015).

Dari refrensi diatas dapat disimpulkan bahwa penggunaan load balancing dapat mengoptimalkan suatu web server dengan membagi beban traffic dengan bebagai algoritma dan metode yang berbeda. Oleh karena itu peneliti menggunakan metode load balancing berbasis sumber daya Metode ini dipilih karena dengan mengetahui penggunaan memory web server kita bisa mengetahui Node worker mana yang bebannya sedikit memproses suatu request sehingga beban dapat di distribusikan dengan baik dan dapat mendekteksi host yang down ketika bekerja.

(3)

2. DASAR TEORI 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.

Perbadingan antara Docker Container dibandingkan VM dapat dilihat di Tabel 2.1.

Tabel. 1. Perbandingan Antara Container Dan VM

Sumber : (Adiputra, 2015) 2.2 Docker Swarm

Docker memperkenalkan Swarm mode pada versi 1.12. Mode ini memungkinkan pengguna untuk me-deploy container pada multiple hosts atau Node, menggunakan overlay network. Swarm mode merupakan bagian dari command line interface Docker yang memudahkan pengguna untuk menngelola komponen container (Docker, 2013).

Dalam Docker Swarm terdapat manager dan worker dimana kita bisa mengontrol lebih dari satu worker dengan manager. dengan Docker Swarm kita dapat disebut mengelompokan suatu machine dalam grup tertentu dengan 1 manager atau lebih dan worker manager berfungsi sebagai pengontrol bagi worker. Kelebihan dari Docker Swarm adalah jika salah satu host down maka service

Docker akan digantikan dengan host yang sedang aktif.

Gambar. 1. Arsitektur Docker Swarm Sumber : (Docker, 2013)

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 Proxy pass yang berfungsi untuk memindahkan jalur ke Node yang ditunjuk dan juga memiliki modul load balancing yang menggunakan metode :

1. Round-Robin;

2. Leastconn;

3. Weight.

2.4 JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl,

(4)

Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.

JSON terbuat dari dua struktur:

 Kumpulan pasangan nama/nilai.

Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.

 Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini (JSON ORG, 2017).

2.5 Load Balancing

Load balancing adalah salah satu teknik atau metode yang digunakan dalam pembagian beban web server dalam jaringan. Teknik ini mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik dapat berjalan optimal.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 resource yang optimal (Dewobroto, 2009).

2.5.1 Fungsi Deteksi dan Monitoring Host down

Penulis menggunakan Fungsi Deteksi dan Monitoring Host down antar Node Manager dan Node Worker. Node Worker dianggap down jika pengecekan waktu Node Worker ditambah waktu toleransi kurang dari waktu real Node Manager, dimana waktu toleransi adalah waktu yang dapat ditolerir oleh penulis menggangap Node Worker sedang down. Sehingga ketika salah satu Node Worker down maka dapat di

monitor oleh Node Manager dan paket akan di- forward ke Node Worker yang Aktif.

Pada Gambar 2 diatas menjelaskan cara kerja Fail Over dimana jika semua Node Worker Aktif atau waktu melebihi waktu Node Manager maka akan menjalankan method loadbalancer.

Jika salah 1 Node worker down atau waktu Mode Worker kurang dari waktu Node Manager ketika pengecekan maka paket akan di forward ke Node Worker yang aktif. Dan Jika semua Node Worker Down atau semua waktu Node Worker kurang dari waktu pengecekan maka terdapat notifikasi bahwa semua Node Worker Down.

2.5.2 Load Balancing Berdasarkan Sumber Daya Memory

Penulis menggunakan load balancing metode berbasis sumber daya atau resource, karena dengan mengetahui resource dari Node server (Node Worker), dapat memperkecil kemungkinan server gagal merespons atau error dengan mengetahui apakah beban server terlalu berat dengan melihat resource-nya yaitu nilai Memory yang terpakai. Ketika user melakukan request, sebelumnya server (Node Worker) telah mengirimkan data resource ke Manager Node dan membandingkan nilai resource tersebut yaitu berupa nilai Memory Usage server.

Kemudian diambil nilai terkecil lalu Node Manager mengirimkan perintah untuk forward

Gambar. 2. Pseudocode fungsi deteksi host down dan monitoring host down Begin

TM= Time_Manager TW1=Time_Worker1 NW1=Node_Worker1 TW2=Time_Worker2 NW2=Node_Worker2 TR= Time_Tolerance

If ((TM< TW1+TR) && (TM<TW2+TR)) Do Loadbalancing()

If ((TM< TW1+TR) && (TM>TW2+TR)) Do Web Service route to NW1;

If ((TM> TW1+TR) && (TM<TW2+TR)) Do Web Service route to NW2;

If ((TM> TW1+TR) && (TM>TW2+TR)) Print (‘All Web Server Down’)

(5)

paket ke Node Worker dengan resource terkecil tersebut agar beban server seimbang.

Mekanisme pemilihan server dengan algoritma resource based dapat dilihat pada pseudocode berikut.

Gambar. 3. Pseudocode load balancer berdasarkan memory

Pada Gambar 3 diatas menjelaskan cara kerja load balancing dengan metode memory resource yaitu memilih IP dan Memory Resource dari Node Worker 1 sebagai default jika tidak ada resource yang dikirim ke Node Manager.

Jika terdapat Node Worker yang memiliki penggunaan free space memory terbanyak maka Node Manager akan memerintahkan agar Node Worker yang menggunakan free space memory terbanyak untuk mengambil alih route web service. Pembagian beban pada web server dapat 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.

3.1. Perancangan Topologi

Gambar 4. Topologi jaringan pada Docker Swarm Gambar 4 menunjukkan bahwa topologi yang digunakan terdiri atas 3 Node Server dimana dalam topologi ini tediri dari 1 Node Manager dan 2 Node Worker. Dimana Node Manager bertujuan untuk mengatur Node Worker. Dalam Node Manager telah tepasang container NGINX untuk load balancing dan Node Worker telah terpasang container Apache yang digunakan untuk web server.

3.2. Diagram Alur Sistem

Dalam subab ini terdapat tahapan mekanisme sistem. Alur sistem ini bertujuan untuk menjelaskan aliran data sistem. Berikut ini adalah gambar diagram alir dari perancangan topologi sistem yang dibuat.

Gambar 5. Flowchart alur sistem

Pada Gambar 5 menjelaskan alur dari kerja sistem yang akan dikembangkan. Pertama sistem akan menerima request layanan dari client, 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

Do Web Service route to NW End

(6)

kemudian jika request tidak diterima oleh node Manager maka sistem semua sistem mati. Jika request diterima oleh node Manager, maka sistem mengecek apakah semua node worker mati. Jika iya, maka layanan akan ditangani oleh node Manager. Jika tidak ,maka akan dilakukan pengecekan apakah node worker1 mati. Jika node worker1 mati, maka layanan akan ditangani oleh node worker2. Jika tidak ,maka akan dilakukan pengecekan apakah node worker2 mati. Jika node worker2 mati, maka layanan akan ditangani oleh node worker1. Jika tidak ,maka akan melakukan proses load balancing.

Proses load balancing dapat dilihat pada Gambar 4.3.

3.2. Perancangan Fungsi Deteksi dan Monitoring Host down

Gambar .6. Pseudocode Fungsi Deteksi dan Monitoring Host down

Fungsi Deteksi dan Monitoring Host down pada Docker Swarm berjalan di Node master (192.168.56.101) yang dapat memproses request user yang masuk dan meneruskannya ke Node yang ada di dalam Swarm. Dalam penyebaran Swarm, fail over ini bekerja ketika data waktu dari Node Worker diproses . Ketika semua data waktu dari Node Worker lebih dari waktu nyata Node Manager maka akan di teruskan ke method loadbalancing. Ketika salah satu data waktu dari Node Worker kurang dari

waktu nyata Node Manager maka beban traffic akan di bebankan pada salah satu Node Worker yang memiliki data waktu lebih besar dari waktu nyata Node Manager dan menghasilkan output bahwa salah satu Node Worker down. Dan jika semua data waktu dari Node Worker kurang dari waktu nyata Node Manager maka beban traffic akan diambil oleh Node Manager dan menghasilkan output bahwa semua Node Worker down.

3.3. Perancangan Load Balancing Berdasarkan Perbandingan Sumber Daya Memory

Gambar .7. Pseudocode load balancer berdasarkan sumber daya memory

Load balancing pada Docker Swarm berjalan di Node master (192.168.56.101) yang dapat memproses request user yang masuk dan meneruskannya ke Node yang ada di dalam Swarm. Dalam penyebaran Swarm, loadbalancer menangani permintaan klien masuk serta permintaan layanan ke layanan internal. Sistem ini membutuhkan koneksi internet agar masing-masing komponen atau Node saling terhubung. Proses diawali dengan membuat suatu konten atau layanan pada server master yang telah menerapkan Docker Swarm.

Lalu secara otomatis konten atau layanan yang telah di buat akan tersebar ke semua worker yang tergabung ke dalam Swarm. Setelah itu pengembang memberikan konfigurasi load balancing pada server master untuk membagi beban request. Kemudian user dapat mengakses layanan atau konten yang sudah di buat pada sistem tersebut. Load balancing akan meneruskan request user ke Node worker yang memiliki free space memory terbesar

4. ANALISIS PENGUJIAN 4.1. Analisis Pengujian Kinerja

Pada subab ini menjelaskan analisa dari pengujian kinerja sistem yang telah di uji dengan Begin

TM= Time_Manager NM=Node_Manager TW1= Time_Worker1 NW1=Node_Worker1 TW2= Time_Worker2 NW2=Node_Worker2 TR= Time_Tolerance

If ((TM< TW1+TR) && (TM<TW2+TR)) Do Loadbalancing();

If ((TM< TW1+TR) && (TM>TW2+TR)) Print (‘Node Worker1

Down’)

Do Web Service route to NW1;

If ((TM> TW1+TR) && (TM<TW2+TR)) Print (‘Node Worker2

Down’)

Do Web Service route to NW2;

If ((TM> TW1+TR) && (TM>TW2+TR)) Do Web Service route to NM;

Print (‘All Web Server Down’)

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

Do Web Service route to NW End

(7)

skenario pengujian dan parameter yang telah di tetapkan oleh penulis.

4.1.1. Analisa Pengujian Memory dan CPU (Resource Utilization)

Memory dan CPU merupakan komponen penting dalam host dan dapat dijadikan sebagai acuan dalam menentukan kinerja host tersebut.

Semakin efektif penggunaan memory dan CPU pada host, semakin bagus pula kinerjanya.

Sebuah host dapat dikatakan efektif, jika dapat menggunakan CPU dan memory secukupnya 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

Number of clients

CPU Utilization (%) Memory Utilization (Mb) Worker

Node 1

Worker Node 2

Worker Node 1

Worker Node 2

50 3,8 2,4 214 185

250 4,6 3,0 214 187

500 8,6 4,0 214 187

4.1.2. Analisa Pengujian Throughtput

Throughput merupakan parameter yang umum dijadikan acuan dalam menentukan kualitas koneksi jaringan. Semakin tinggi nilai throughput semakin bagus juga kualitas jaringannya. Throughput dapat dijadikan acuan dalam melihat kinerja Host Web Server dalam menghubungkan antara jumlah client yang dapat di handle . Berikut hasil pengujian throughput dengan menggunakan load/stress client.

Tabel. 3. Hasil Pengujian Troughtput pada host server

Dalam hasil pengujian Troughtput pada Tabel 3 di jelaskan bahwa penurunan Troughtput berbanding lurus dengan penambahan jumlah

client. Tetapi ketika jumlah Client 250 ada kenaikan Troughtput yang disebabkan karena faktor penurunan penggunakan data oleh host dan pengguna jaringan pada jaringan yang sama pada saat pengujian.

4.2. Analisis Pengujian Load Balancing Pada Subab ini menjelaskan hasil output load balancing dari program load balancing dan mengakses web browser dengan alamat manager untuk pengecekan Mapping adalah benar.

Gambar .8. Output Load balancing dan pengecekan Mapping menggunakan web browser

Dari Gambar 8 menerangkah bahwa load balancing berdasarkan sumber daya memory dapat di jalankan dan dapat di monitor oleh layar. Dan juga ketika dilakukan pengecekan Mapping pada web browser bahwa request client di arahkan pada node Worker1 sesuai dengan output program pada gambar 9.

Gambar .9. Output mapping load balancing menunggunakan sumber daya memory

4.3. Analisis Pengujian Fungsinonal

Dalam analisa pengujian fungsional dilakukan dengan cara menganalisa memonitor pengiriman dan penerimaan data, output program dan monitoring node host yang down.

Analisa pengujian fungsional bertujuan untuk mengecek bahwa sistem dapat bekerja sesuai dengan yang diharapkan.

Jumlah Client Troughtput

50 48,059904 Mb/s

250 49,091328 Mb/s

500 43,529728 Mb/s

(8)

4.3.1.Pengujian Fungsi Pengiriman Data Node Worker dan Penerimaan Data Node Manager

Pada Subab ini menjelaskan output monitoring pengiriman data oleh node Worker ke node Manager. Dalam output monitoring pengiriman data darii node Worker terdapat waktu pengiriman data dan data yang telah dikirim dapat dilihat pada Gambar 10.

Gambar .9. Output monitoring pengiriman data oleh node Worker

Pada Output monitoring penerimaan data oleh node Manager dapat dilihat pada Gambar 10. beserta waktu menerima data dari node Worker.

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 pada Gambar 11 dan hasil pengecekan dalam web browser dapat dilihat pada Gambar 12.

Gambar .11.Output program deteksi dan monitoring host down ketika node Worker1 down

Dari Gambar 11 menerangkah bahwa fungsi deteksi dan monitoring host down dapat di jalankan dan dapat di monitor oleh layar. Ketika node Worker1 Down, maka request client akan di bebankan pada node Worker2. 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 Worker2 sesuai dengan output program pada gambar 12.

Gambar .12Output mapping menggunakan web browser dengan node Worker1 down 4.3.3.Pengujian Fungsi Deteksi dan Monitoring Host Down Ketika Node Worker2 down

Pada Subab ini menjelaskan hasil fungsi deteksi dan monitoring host down dari program ketika node Worker2 down dan node Worker1 aktif . Hasil output dari program dapat dilihat pada Gambar 13 dan hasil pengecekan dalam web browser dapat dilihat pada Gambar 14.

Gambar .13.Output program deteksi dan monitoring host down ketika node Worker2 Down 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 program pada Gambar 14

(9)

Gambar .14Output mapping menggunakan Web Browser dengan node Worker2 Down

4.3.3.Pengujian Fungsi Deteksi dan Monitoring Host Down Ketika Semua Node Down

Pada Subab ini menjelaskan hasil output fungsi deteksi dan monitoring host down dari program ketika semua node Worker down sehingga diambil alih oleh node Manager. Hasil output dari program dapat dilihat pada Gambar 15 dan hasil pengecekan dalam web browser dapat dilihat pada Gambar 16.

Gambar .15Output Main Program fungsi deteksi dan monitoring host down ketika semua node

Worker down

Dari Gambar 15 menerangkah bahwa fungsi deteksi dan monitoring host down dapat di jalankan dan dapat di monitor oleh layar. Ketika semua node Worker down, maka request client akan di bebankan pada node manager. Dan terdapat output program berupa warning yang menyatakan bahwa semua node Down. Dan juga ketika dilakukan pengecekan Mapping pada web browser bahwa request client di arahkan pada Node Manager sesuai dengan output program pada Gambar 16.

Gambar .16Output Mapping Menggunakan Web Browser

5. PENUTUP 5.1. Kesimpulan

Dari hasil analisis percobaan yang telah dilakukan terhadap data uji yang telah diujikan, penulis menyimpulkan bahwa :

1. Perancangan arsitektur load balancing server web berbasis Docker Swarm bedasarkan penggunaan sumber daya memory dapat diterapkan sesuai dengan rancangan yang telah dibuat;

2. Implementasi dari arsitektur load balancing server web berbasis Docker Swarm bedasarkan penggunaan sumber daya memory dapat bekerja sesuai dengan yang diharapkan;

3. Dari hasil kinerja dari load balancing 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 Docker Swarm , seharusnya dapat membagi pembuatan container secara rata pada setiap host ketika salah 1 container rusak.

2. Megunakan lebih dari 1 parameter agar kinerja load balancer lebih baik dalam membagi beban dalam setiap node.

6. DAFTAR PUSTAKA

Adiputra, F. (2015). CONTAINER DAN DOCKER: TEKNIK VIRTUALISASI DALAM PENGELOLAAN BANYAK APLIKASI WEB. 4(3).

Dewobroto. (2009). Jurnal Jarkom. 1.

Docker. (2013, January 1). Docker. (Docker) Retrieved February 15, 2018, from Docker Web Site:

https://www.docker.com/what- container

JSON ORG. (2017, Juny 2). JSON. (JSON Org) Retrieved February 15, 2018, from JSON Web Site:

(10)

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.

Gambar

Gambar 5.  Flowchart alur sistem
Gambar .6.  Pseudocode Fungsi Deteksi dan  Monitoring Host down
Gambar .9.  Output monitoring pengiriman data oleh  node Worker

Referensi

Dokumen terkait

Dari hasil analisa terhadap implementasi load balancing yang telah dilakukan, sistem load balancing dapat menjadi salah satu solusi yang efektif dan efisien untuk menciptakan

Prepare : Melakukan analisa terhadap masalah yang ada yaitu bagaimana membuat sebuah load balancing pada web server model cluster yang dapat.. meratakan beban

Makalah ini mengambarkan penerapan sistem load balancing pada web-server yaitu dengan menggunakan fungsi Algoritma Round Robin yang disedi- akan oleh Server DNS (Domain Name

Penggunaan server web tidak semuanya yang digunakan memiliki spesifikasi yang sama, dari latar belakang di atas penulis melakukan penelitian menggunakan teknik load

multiple server dengan mempertimbangkan kapasitas dari setiap server untuk mengurangi terjadinya kegagalan server (Alimuddin &amp; Ahmad, 2016). Penerapan

Linux director, yang akan berperan sebagai load balancing yang bertugas mengalihkan permintaan untuk service http ke beberapa real server cluster.. Real server, merupakan

Hasil penelitian menunjukkan bahwa dengan implementasi load balancing menggunakan Linux Virtual Server metode LVS-NAT berhasil meningkatkan kinerja web server dari segi

Tujuan dari penelitian ini untuk menerapkan teknik load balancing dengan metode round robin pada Nginx yang terkoneksi dengan 2 mesin Apache Web Server sehingga dapat membantu mengatur