Studi Perbandingan Performa Aplikasi Web Monolitik dan Microservice Berbasis Apache Kafka
Comparison Study of Monolitic and Microservice Web Application Performance Based On Apache Kafka
Perkembangan sistem teknologi informasi menjadi salah satu alasan dan upaya untuk mengantisipasi adanya tantangan yang dapat berdampak langsung kepada kualitas layanan sebuah sistem. Pembuatan aplikasi tidak terlepas dari sebuah perancangan dan desain aplikasi itu sendiri. Terdapat dua cara perancangan sebuah infrastruktur aplikasi, yaitu monolitik dan microservice. Pada sistem monolitik pengujian dan perbaikan error sangat sulit, karena sistem tersebut tidak dapat dipisahkan dan dilokalisasikan. Sedangkan dalam sistem microservice sistemnya terpisah dan sangat independen, fokus untuk menyelesaikan tugas-tugas yang ringan, cara kerjanya yang modular, serta sangat cocok untuk sistem yang dinamis dan konstan dalam perkembangannya. Setiap layanan yang dibuat pada microservice juga bisa menggunakan teknologi yang berbeda.
Tujuan dari penelitian ini adalah untuk melakukan perbandingan performa aplikasi web monolitik dan microservice. Pengujian dilakukan dengan cara memberikan beban request yang dikirimkan dari aplikasi stress tool kepada server. Pengujian dilakukan dengan menggunakan pola ramp, yaitu pola yang memberikan beban yangmeningkat seiring berjalannya waktu hingga batas yang telah ditentukan.
Dari hasil pengujian yang dilakukan, performa aplikasi web microservice lebih baik dibanding dengan aplikasi web monolitik karena dapat menerima load yang lebih besar. Meskipun memiliki performa yang lebih baik, aplikasi web microservice menggunakan resource CPU yang lebih tinggi dibandingkan dengan aplikasi web monolitik.
Kata Kunci — sistem, perbandingan, performa, Microservice, Monolitik.
The development of information technology systems is one of the reasons and efforts to anticipate challenges that can have a direct impact on the service quality of a system. Making applications can not be separated from the design of the application itself. There are two ways to design an application infrastructure, namely monolithic and microservice. In a monolithic system, testing and correcting errors is very difficult, because the system cannot be separated and localized. Meanwhile, in the microservice system, the system is separate and very independent, focused on completing light tasks, the way it works is modular, and is very suitable for systems that are dynamic and constant in development. Each service created on a microservice can also use different technologies.
The purpose of this study is to compare the performance of monolithic web applications and microservices. Testing is done by providing a load of requests sent from the stress tool application to the server. The test is carried out using a ramp pattern, which is a pattern that provides an increasing load over time up to a predetermined limit.
From the results of the tests carried out, the performance of the microservice web application is better than the monolithic web application because it can receive a larger load. However, despite the better performance, microservice web apps use higher CPU resources than monolithic web apps.
Keywords — system, comparison, performance, Microservice, Monolithic