Implementasi Failover Dan Autoscaling Kontainer Web Server Nginx Pada Docker Menggunakan Kubernetes
Main Author: | Sumbogo, Yosua Tito |
---|---|
Format: | Thesis NonPeerReviewed Book |
Bahasa: | eng |
Terbitan: |
, 2018
|
Subjects: | |
Online Access: |
http://repository.ub.ac.id/161386/1/Yosua%20Tito%20Sumbogo.pdf http://repository.ub.ac.id/161386/ |
Daftar Isi:
- Web server merupakan salah satu komponen penting didalam proses hosting sebuah website. Web server yang baik harus mampu melayanai request dari pengguna selama 24 jam 7 hari dimana jika web server mati maka layanan website akan berhenti. Kondisi web server tidak dapat bekerja atau failure memiki beberapa penyebab seperti putusnya sumber daya listrik, malfungsi perangkat keras, crash pada web server, dan kegagalan jaringan. NGINX merupakan salah satu web server yang populer digunakan, web server tersebut mampu di-deploy pada komputer server secara virtual menggunakan metode kontainer dimana virtualisasi hanya dilakukan pada level sistem operasi, hal ini memudahkan proses deployment karena kontainer bersifat lightweight dan portabel. Agar web server mampu terus melayani request dari pengguna maka diperlukan mekanisme failover dan autoscaling. Failover mampu melakukan back up layanan untuk memastikan web server terus bekerja, sementara autoscaling mampu membuat layanan web server beradaptasi sesuai CPU usage yang dibutuhkan untuk menangani request. Kubernetes merupakan perangkat lunak yang memiliki mekanisme failover dan autoscaling kontainer berbasis Docker. Kubernetes mampu memanajemen kontainer berjumlah banyak dan bersifat open source sehingga biaya penelitian mampu diminimalkan. Pada penelitian ini jumlah perangkat keras yang digunakan adalah tiga server yang membentuk sebuah cluster menggunakan Kubernetes, dimana satu server akan berperan sebagai master dan dua server sebagai minion. Pengujian yang dilakukan adalah menguji fungsionalitas sistem seperti menjalankan web server, menguji mekanisme failover dan autoscaling, dan non fungsionalitas seperti uji koneksi antar server pada cluster, rata-rata waktu yang dibutuhkan untuk melaksanakan failover dan autoscaling serta CPU usage yang dihasilkan pada saat scaling. Hasil dari penelitian didapat rata-rata waktu yang dibutuhkan untuk failover adalah 264,74s untuk node failure, dan 3s untuk service failure. Untuk rata-rata waktu autoscaling sistem membutuhkan 45s untuk scale up dan 120s untuk Scale down. Autoscaling Kubernetes mampu mengurangi CPU usage sebesar 0,4% dibanding sistem yang tidak menggunakan autoscaling. Sistem yang dibangun mampu menjalankan web server secara virtual dengan metode clustering.