Refactoring Arsitektur Microservice Pada Aplikasi Absensi PT. Graha Usaha Teknik
DOI:
https://doi.org/10.25077/TEKNOSI.v5i1.2019.57-68Kata Kunci:
Monolithic, Microservice, Refactoring, Strangler Pattern, AbsensiAbstrak
Meningkatnya jumlah pengguna aplikasi berbasis arsitektur monolithic dapat mempengaruhi proses pemeliharaan, kinerja dan kompleksnya pembaruan aplikasi. Resilient challenges merupakan salah satu permasalahan yang sering terjadi pada arsitektur monolithic, dimana jika terjadi kegagalan pada saat pembaruan atau penambahan fitur baru pada aplikasi, maka seluruh fitur aplikasi akan mengalami kegagalan sistem. Permasalahan selanjutnya jika terjadi perubahan salah satu modul aplikasi pada arsitektur monolithic, maka dibutuhkan proses restart seluruh aplikasi. Semakin besar sebuah aplikasi, maka proses restart aplikasi menjadi semakin lama sehingga selama proses restart berlangsung, aplikasi tidak dapat digunakan. Dengan berbagai permasalahan pada arsitektur monolithic, penggunaan arsitektur microservice dalam mengembangkan sebuah aplikasi dapat memperbaiki permasalahan pada arsitektur monolithic melalui pemisahan servis - servis menjadi kecil. Untuk dapat mengatasi permasalahan aplikasi dengan menggunakan arsitektur monolithic, diperlukan proses refactoring aplikasi dari arsitektur monolithic menjadi arsitektur microservice. Pada penelitian ini, dilakukan refactoring arsitektur monolithic menjadi arsitektur microservice dengan menggunakan 13 tahapan dan strategi strangler pattern pada aplikasi absensi PT. Graha Usaha Teknik. Proses refactoring dengan strategi strangler pattern hanya digunakan pada 10 tahapan dari 13 tahapan refactoring. Tahapan strategi strangler pattern dilakukan hingga seluruh servis pada arsitektur monolithic berhasil dilakukan refactoring. Hasil refactoring yang dilakukan pada aplikasi absensi PT. Graha Usaha Teknik menghasilkan tujuh servis yang dapat dikembangkan pada arsitektur microservice. Berdasarkan hasil pengujian dengan menggunakan load test, arsitektur microservice yang telah dibangun lebih optimal dibandingkan arsitektur monolithic pada saat jumlah pengguna dinaikan menjadi 15 tps dengan menggunakan spesifikasi komputer yang sama.Referensi
[1] APJII, "Infografis penetrasi dan perilaku pengguna internet indonesia survey 2017" tech. rep., Asosiasi Penyelenggara Jasa Internet Indonesia, 2017. Available: https://web.kominfo.go.id/sites/default/files/Laporan%20Survei%20APJII_2017_v1.3.pdf [January 15, 2019]. [2] APJII, "Infografis penetrasi dan perilaku pengguna internet indonesia survey 2016" tech. rep., Asosiasi Penyelenggara Jasa Internet Indonesia, 2016. Available: https://apjii.or.id/downfile/downloadsurvei/infografis_apjii.pdf [January 15, 2019]. [3] S. Daya et al. (2015, August). Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach. (1st edition). [On-Line]. Available: http://www.redbooks.ibm.com/abstracts/sg248275.html [January 15, 2019]. [4] N. Dragoni et al. (2017, September 6). Microservices: Yesterday, Today, and Tomorrow. [On-Line]. Available: https://link.springer.com/chapter/10.1007/978-3-319-67425-4_12 [January 15, 2019]. [5] K. Katuwal. “Microservices: A Flexible Architecture for the Digital Age Version 1.0â€. American Journal of Computer Science and Engineering, Volume 3, September 2016, Pages 20-24. [6] A. Messina, R. Rizzo, P. Storniolo, and A. Urso. “A Simplified Database Pattern for the Microservice Architecture†In Conference: DBKDA, 2016. [7] A. Balalaie, A. Heydarnoori, P. Jamshidi, D. A. Tamburri, and T. Lynn. “Microservices Migration Patternâ€. Software: Practice and Experience. Volume 48, Juli 2018, https://doi.org/10.1002/spe.2608. [8] T. Ueda, T. Nakaike and M. Ohara. “Workload characterization for microservices†in 2016 IEEE International Symposium on Workload Characterization (IISWC), 2016, pp. 1-10. [9] S. De Santis. L. Florez, D. V Nguyen and E. Rosa, (2016, December). Evolve the Monolith to Microservices with Java and Node. (1st edition). [On-Line]. Available: http://www.redbooks.ibm.com/abstracts/sg248358.html [January 15, 2019]. [10] K. Finnigan. (2018, October). Enterprise Java microservices. (1st edition). [On-Line]. Available: https://www.oreilly.com/library/view/enterprise-java-microservices/9781617294242 [January 15, 2019]. [11] A. D’Sousa and S. Bhatia. “Refactoring of a Databaseâ€. arXiv preprint arXiv:0912.1016. Volume 6, December 2009. [12] K. A. Carlos Buenosvinos Christian Soronellas. (2016). Domain-Driven Design in PHP. [On-Line]. Available: https://leanpub.com/ddd-in-php [January 15, 2019]. [13] N. Tune and S. Millett. (2015, May). Patterns, Principles, and Practices of Domain-Driven Design [On-Line]. Available: https://learning.oreilly.com/library/view/patterns-principles-and/9781118714706 [January 15, 2019].
Unduhan
Telah diserahkan
Diterima
Diterbitkan
Cara Mengutip
Terbitan
Bagian
Lisensi
Hak cipta untuk artikel ini ditransfer ke Jurnal Nasional Teknologi dan Sistem Informasi (TEKNOSI) jika dan ketika artikel diterima untuk publikasi. Yang bertanda tangan di bawah ini dengan ini mentransfer setiap dan semua hak di dalam dan ke kertas termasuk tanpa batasan semua hak cipta untuk TEKNOSI. Yang bertanda tangan di bawah ini dengan ini menyatakan dan menjamin bahwa makalah tersebut asli dan bahwa ia adalah pembuat makalah, kecuali untuk bahan yang secara jelas diidentifikasi sebagai sumber aslinya, dengan pemberitahuan izin dari pemilik hak cipta jika diperlukan. Yang bertanda tangan di bawah ini menyatakan bahwa ia memiliki kekuatan dan wewenang untuk membuat dan melaksanakan penugasan ini.
Kami menyatakan bahwa:
- Makalah ini belum diterbitkan dalam bentuk yang sama di tempat lain.
- Makalah ini tidak akan dikirimkan di tempat lain untuk publikasi sebelum penerimaan/penolakan oleh Jurnal ini
- Izin hak cipta diperoleh untuk materi yang diterbitkan di tempat lain dan yang memerlukan izin ini untuk reproduksi.
Selanjutnya, Saya/kami dengan ini mentransfer hak publikasi yang tidak terbatas dari makalah yang disebutkan di atas secara keseluruhan kepada TEKNOSI. Transfer hak cipta mencakup hak untuk mereproduksi dan mendistribusikan artikel, termasuk cetak ulang, terjemahan, reproduksi foto, mikroform, bentuk elektronik (offline, online) atau reproduksi lain yang serupa.
Penulis yang sesuai menandatangani dan menerima tanggung jawab untuk merilis materi ini atas nama setiap dan semua penulis bersama. Perjanjian ini harus ditandatangani oleh setidaknya salah satu penulis yang telah memperoleh persetujuan dari rekan penulis jika berlaku. Setelah pengajuan perjanjian ini ditandatangani oleh penulis yang sesuai, perubahan kepengarangan atau dalam urutan penulis yang tercantum tidak akan diterima.
Hak / Syarat dan Ketentuan yang dipertahankan :
- Penulis memiliki semua hak kepemilikan dalam setiap proses, prosedur, atau artikel manufaktur yang dijelaskan dalam Karya ini.
- Penulis dapat mereproduksi atau mengotorisasi orang lain untuk mereproduksi karya ini atau karya turunannya untuk penggunaan pribadi penulis atau untuk penggunaan perusahaan, dengan ketentuan bahwa sumber dan menyatakan hak cipta dimiliki TEKNOSI, salinan tidak digunakan dengan cara apa pun yang menyiratkan pengesahan TEKNOSI atas suatu produk atau layanan dari pihak mana pun, dan salinannya sendiri tidak ditawarkan untuk dijual.
- Meskipun penulis diizinkan untuk menggunakan kembali semua atau sebagian dari karya ini dalam karya lain, ini tidak termasuk mengabulkan permintaan pihak ketiga untuk mencetak ulang, menerbitkan ulang, atau jenis penggunaan ulang lainnya.