Dalam pengembangan suatu aplikasi, sangat penting untuk memperhatikan beberapa metrik utama yang menunjang keberlangsungan aplikasi tersebut. Metrik yang dimaksud dalam pembahasan ini adalah Performance, Scalability, Availability, dan Maintenance. Pada umumnya pembuatan sebuah aplikasi dimulai dengan arsitektur monolitik untuk menghindari kompleksitas dan mempercepat proses pengembangan dengan jumlah developer yang terbatas. Seiring dengan dilakukannya continuous development akan menyebabkan codebase dari aplikasi tersebut membesar dan akan sangat sulit untuk melakukan perawatan maupun penambahan sebuah fitur baru. Hal tersebut dikarenakan setiap perubahan yang dilakukan dapat mempengaruhi keseluruhan aplikasi karena pada dasarnya setiap servis ditempatkan dalam sebuah instance yang sama. Dengan melakukan migrasi dari arsitektur monolitik menuju microservice terdapat beberapa keuntungan yang diperoleh seperti pengembangan secara paralel, melakukan scaling hanya pada layanan tertentu, memungkinkan penerapan pipeline, dan meningkatkan fleksibilitas aplikasi . Keuntungan tersebut dapat diperoleh dikarenakan setiap servis akan terpisah antara satu dengan yang lainnya. Namun, pelaksanaan migrasi tentunya bukan hal yang mudah untuk dilakukan karena diperlukan perancangan terlebih dahulu yang didasarkan pada kebutuhan masing-masing aplikasi. Dari penerapan migrasi yang dilakukan pada aplikasi Automation Messaging System, diperoleh bahwa terdapat peningkatan performa sebesar 68.10% dalam response time dan 36.02% lebih ringan dalam CPU Utilization. Perbandingan pada metrik lainnya juga mampu memberikan keunggulan dibandingkan arsitektur monolitik, seperti kemampuan scaling yang lebih efektif, kemudahan dalam melakukan perawatan, dan penurunan biaya bulanan infrastruktur sebesar 16.26%.
There are several important metrics needs to be considered when developing an application such as Performance, Scalability, Availability, and Maintenance aspects. In general, an application started developed using monolithic architecture to simplify and shorten the development process with limited amount of engineers. However, as we implemented the continuous development process, the source code of the application will expand as the time goes on and it will be very hard to maintain or add a new feature into it. This can happen because every code changes in monolithic application will affect the entire application as all the service registered inside are placed inside the same instance. Hence, the migration from Monolithic to Microservices is important because it provides numerous benefits, such as the separation of each service from one another, which enables parallel development possibilities. The other advantage are allowing pipeline implementation, increase technology stack flexibility, and improve scalability. These advantages can be obtained because each service is loosely-coupled or separated from one another. However, the implementation of the migration itself is not an easy task as it requires prior planning based on the specific needs of each application. Through the performed migration on the Automation Messaging System application, it was found that there was a 68.10% improvement in response time and a 36.02% less usage in CPU utilization. Furthermore, the comparison with other metrics also showed the superiority of the microservices architecture over the monolithic architecture, such as more effective scaling capabilities, ease of maintenance, and a monthly infrastructure cost reduction of 16.26%.