Implementasi Web Server Cluster Menggunakan Metode Load Balancing Pada Container Docker, Lxc, Dan Lxd - Rivaldy Arif Pratama; Ratna Mayasari; Danu Dwi Sanjoyo (eProceedings of Engineering, 2018)
Abstrak Load balancing merupakan salah satu metode pada cluster computing yang dapat digunakan untuk meningkatkan skalabilitas serta mengurangi beban kerja sebuah server dengan cara mendistribusikan beban trafik ke beberapa server cluster secara seimbang agar trafik dapat berjalan dengan optimal, sehingga tidak menyebabkan server tersebut kelebihan beban (overload) atau bahkan down. Dalam penerapannya, teknologi virtualisasi berbasis container dapat digunakan untuk mengimplementasikan load balancing dengan memanfaatkan HAProxy sebagai load balancer. Container merupakan sebuah teknologi virtualisasi yang dapat memungkinkan program yang berjalan didalamnya berhubungan langsung dengan linux kernel pada host operating system. Tidak seperti Virtual Machine, container tidak menggunakan hardware untuk virtualisasi. Pada beberapa penelitian, container dipercaya sebagai platform yang ringan dibanding hypervisor, sehingga menjadi alasan yang tepat dan memungkinkan untuk melakukan proses load balancing pada container dalam tugas akhir ini. Tugas akhir ini akan diimplementasikan sistem load balancing yang dijalankan diatas tiga container yaitu Docker, LXC, dan LXD. Penelitian ini bertujuan untuk mengetahui kinerja dari ketiga container tersebut dari sisi layanan web server dan resource utilization pada saat server menggunakan load balancing dan tidak menggunakan load balancing (single server). Dari hasil pengujian yang dilakukan diketahui bahwa kinerja server yang menggunakan load balancing memiliki hasil yang lebih baik dibandingkan single server. Pada penelitian ini juga diketahui bahwa Docker menunjukkan hasil performansi yang lebih baik pada parameter throughput, response time, dan request per second. Sedangkan LXC menunjukkan hasil yang lebih baik pada parameter request loss dan CPU utilization. Dari segi fairness, algoritma Round Robin lebih fair dibanding Least Connection dengan nilai fairness index mencapai 1. Kata kunci : Load Balancing, Cluster Computing, Container, Docker, LXC, LXD Abstract Load balancing is a method in cluster computing that can be used to increase the scalability and decrease the server workloads by distributing traffic load to several clusters of server in equals, in order that the traffic can run optimally, so that it doesn't cause the server becomes overload or down. In it's implementation, the container-based virtualization can be used to implement the load balancing by using HAProxy image as the load balancer. Container is the virtualization technology that allows the program run directly connects with linux kernel in host operating system. Different from Virtual Machine, container doesn't use hardware to virtualize. In some researches, it's believed that container is more lightweight than hypervisor, so that it allowed to process load balancing on the container in this final project. This final project will implement load balancing system that are run on three containers, those are Docker, LXC, and LXD. This research is to know the performance from those three containers from web server services side and resource utilization when server are using load balancing and not (single server). From the research, we know that the performance of server using load balancing had better result than the single server. In this final project we also got that Docker showed better performance on throughput, response time, and request per second. While LXC showed better result on request loss and CPU utilization parameters. In terms of fairness, Round Robin algorithm is more fair than Least Connection with the fairness index is 1. Keywords : Load Balancing, Cluster Computing, Container, Docker, LXC, LXD