2021 : Penggunaan Docker dan Kubernetes dalam Deployment Aplikasi di Lingkungan ITS

Adetiya Bagus Nusantara

Year

2021

Published in

-

External link

Type

RESEARCH

Keywords

-


Abstract

Deployment merupakan salah satu tahap utama dalam proses pengembangan perangkat lunak. Deployment adalah sebuah kegiatan untuk menyebarkan aplikasi yang telah dikerjakan oleh pengembang sehingga aplikasi yang telah dibuat dapat diakses oleh pengguna. Saat ini proses deployment perangkat lunak di DPTSI ITS kebanyakan masih menggunakan cara tradisional. Proses deployment dilakukan dengan melakukan instalasi aplikasi web beserta environment yang dibutuhkan ke dalam server tunggal. Tetapi deployment menggunakan metode tersebut memiliki kekurangan yaitu setiap aplikasi tidak terisolasi, sehingga apabila mendeploy beberapa aplikasi di dalam satu server, maka masing-masing aplikasi memiliki ketergantungan dengan paket versi tertentu dan dapat menimbulkan Dependecy Hell. Terkadang setiap perangkat lunak memiliki kebutuhan pustaka dan environment yang berbeda-beda. Deployment menggunakan cara ini tentunya rawan menyebabkan terjadinya crash ketika environment tidak sesuai dengan kebutuhan perangkat lunak. Selain itu pengembang harus melakukan repetisi instalasi environment server berulang kali untuk melakukan deployment di setiap server. Mulai dari tingkat local,development hingga production. Dengan adanya penelitian ini diharapkan dapat meningkatkan efisiensi dalam proses deployment perangkat lunak di ITS. Teknologi yang akan digunakan dalam penelitian ini adalah Container. Container adalah sebuah Teknik virtualisasi yang dapat membungkus suatu aplikasi beserta dependency dan environment-nya ke dalam sebuah wadah. Setiap container ini memiliki proses yang terisolir sehingga tidak mengganggu host OS ataupun container yang lain. Pembuatan container dilakukan dengan menggunakan Docker. Docker adalah sebuah aplikasi open source yang memungkinkan pengembang perangkat lunak untuk membuat, menjalankan, melakukan percobaan dan meluncurkan aplikasi di dalam sebuah container. Docker dapat membuat proses pemaketan aplikasi bersama komponennya secara cepat , sehingga perangkat lunak dapat dijalankan dalam infrastruktur local,development maupun production tanpa melakukan perubahan konfigurasi pada container. Konsep container membuat proses deployment menjadi lebih cepat. Namun, juga diperlukan perangkat untuk dapat memaintain/memelihara serta mengatur skala container tersebut. Oleh karena itu dalam penelitian kali ini menggunakan Kubernetes sebagai container orchestra. Kubernetes memungkinkan pengembang untuk mengelola aplikasi multi-kontainer dalam skala besar.