Metode Migrasi Multi-Aplikasi Monolitik ke Arsitektur Microservice Menggunakan Domain-Driven Design dan Strangler Fig Pattern

Yoga Ari Tofan, Hudan Studiawan, Hadziq Fabroyir

Abstract


Arsitektur monolitik sering menimbulkan masalah skalabilitas, pemeliharaan, dan integrasi ketika jumlah modul dan pengguna terus meningkat. Pada lingkungan organisasi yang memiliki banyak sistem informasi saling bergantung, migrasi ke arsitektur microservice tidak lagi cukup dilakukan terhadap satu aplikasi secara terpisah. Penelitian ini mengusulkan metode migrasi multi-aplikasi monolitik ke arsitektur microservice dengan mengintegrasikan Domain-Driven Design (DDD) untuk identifikasi bounded context dan Strangler Fig Pattern untuk strategi migrasi bertahap. Metode yang diajukan meliputi identifikasi bounded context dari beberapa aplikasi monolitik, analisis ketergantungan dan pengelompokan fungsional lintas aplikasi, perancangan kandidat microservice, serta integrasi bertahap antara modul lama dan layanan baru. Studi kasus pada enam aplikasi monolitik menghasilkan sepuluh kandidat microservice; prototipe implementasi dan pengujian difokuskan pada domain akademik menggunakan tiga microservice (MS-Mahasiswa, MS-FRS, MS-Presensi) yang berjalan dalam sembilan kontainer bersama API gateway, message broker, dan basis data terisolasi per layanan. Implementasi menggunakan Node.js dan Express.js sebagai layanan REST, Apache Kafka sebagai mekanisme komunikasi publish–subscribe untuk sinkronisasi data, PostgreSQL sebagai basis data terpisah per microservice, dan Docker Compose untuk deployment terkontainerisasi. Hasil pengujian menunjukkan konsistensi data antar layanan mencapai 100% (100 record publisher tersinkron ke seluruh subscriber), latensi propagasi event rata-rata 5,10 ms (MS-FRS) dan 5,35 ms (MS-Presensi), serta performa endpoint melalui API gateway pada beban 100 pengguna concurrent dengan response time rata-rata 154,5 ms, throughput 419,7 request/detik, dan error rate 0,00%. Hasil ini menunjukkan bahwa metode migrasi yang diusulkan dapat menghasilkan layanan yang terisolasi secara data, terintegrasi secara event-driven, dan memenuhi kebutuhan operasional pada fase transisi dari monolitik ke microservice.


Full Text:

PDF

References


S. Newman, Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. O’Reilly Media, Inc., 2019.

R. Chen, S. Li, and Z. Li, “From Monolith to Microservices: A Dataflow-Driven Approach,” in 2017 24th Asia-Pacific Software Engineering Conference (APSEC), Dec. 2017, pp. 466–475. doi: 10.1109/APSEC.2017.53.

F. Ponce, G. Márquez, and H. Astudillo, “Migrating from monolithic architecture to microservices: A Rapid Review,” in 2019 38th International Conference of the Chilean Computer Science Society (SCCC), Nov. 2019, pp. 1–7. doi: 10.1109/SCCC49216.2019.8966423.

T. Prasandy, Titan, D. F. Murad, and T. Darwis, “Migrating Application from Monolith to Microservices,” in 2020 International Conference on Information Management and Technology (ICIMTech), Aug. 2020, pp. 726–731. doi: 10.1109/ICIMTech50083.2020.9211252.

C.-Y. Li, S.-P. Ma, and T.-W. Lu, “Microservice Migration Using Strangler Fig Pattern: A Case Study on the Green Button System,” in 2020 International Computer Symposium (ICS), Dec. 2020, pp. 519–524. doi: 10.1109/ICS51289.2020.00107.

S. Li et al., “Understanding and addressing quality attributes of microservices architecture: A Systematic literature review,” Inf. Softw. Technol., vol. 131, p. 106449, Mar. 2021, doi: 10.1016/j.infsof.2020.106449.

C. Bandara and I. Perera, “Transforming Monolithic Systems to Microservices - An Analysis Toolkit for Legacy Code Evaluation,” in 2020 20th International Conference on Advances in ICT for Emerging Regions (ICTer), Nov. 2020, pp. 95–100. doi: 10.1109/ICTer51097.2020.9325443.

R. Mufrizal and D. Indarti, “Refactoring Arsitektur Microservice Pada Aplikasi Absensi PT. Graha Usaha Teknik,” J. Nas. Teknol. Dan Sist. Inf., vol. 5, pp. 57–68, Apr. 2019, doi: 10.25077/TEKNOSI.v5i1.2019.57-68.

J. Kazanavičius and D. Mažeika, “Migrating Legacy Software to Microservices Architecture,” in 2019 Open Conference of Electrical, Electronic and Information Sciences (eStream), Apr. 2019, pp. 1–5. doi: 10.1109/eStream.2019.8732170.

F. Rademacher, J. Sorgalla, and S. Sachweh, “Challenges of Domain-Driven Microservice Design: A Model-Driven Perspective,” IEEE Softw., vol. 35, no. 3, pp. 36–43, May 2018, doi: 10.1109/MS.2018.2141028.

P. Merson and J. Yoder, “Modeling Microservices with DDD,” in 2020 IEEE International Conference on Software Architecture Companion (ICSA-C), Mar. 2020, pp. 7–8. doi: 10.1109/ICSA-C50368.2020.00010.

C. K. Rudrabhatla, “Comparison of Event Choreography and Orchestration Techniques in Microservice Architecture,” Int. J. Adv. Comput. Sci. Appl. IJACSA, vol. 9, no. 8, Sep. 2018, doi: 10.14569/IJACSA.2018.090804.

M. E. Elkholy and A. E. Fatatry, “Framework for Interaction between Databases and Microservice Architecture,” IT Prof., vol. 21, no. 5, pp. 57–63, 2019, doi: 10.1109/MITP.2018.2889268.

S. Aydin and C. B. Çebi, “Comparison of Choreography vs Orchestration Based Saga Patterns in Microservices,” in 2022 International Conference on Electrical, Computer and Energy Technologies (ICECET), Jul. 2022, pp. 1–6. doi: 10.1109/ICECET55527.2022.9872665.

S. Speth, S. Stieß, and S. Becker, “A Saga Pattern Microservice Reference Architecture for an Elastic SLO Violation Analysis,” in 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C), Mar. 2022, pp. 116–119. doi: 10.1109/ICSA-C54293.2022.00029.




DOI: https://doi.org/10.35308/jti.v5i2.14827

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



Jurnal Teknologi Informasi
e-ISSN: 2829-8934  I  DOI: 10.35308
Jl. Alue Peunyareng, Ujong Tanoh Darat, Meureubo, Kabupaten Aceh Barat, Aceh 23681, Indonesia
(0655) 7110535
License Creative Commons is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License