Modular Monoliths: Revolutionizing Software Architecture for Efficient Payment Systems in Fintech |
||
|
|
|
© 2023 by IJCTT Journal | ||
Volume-71 Issue-10 |
||
Year of Publication : 2023 | ||
Authors : Kalpesh Barde | ||
DOI : 10.14445/22312803/IJCTT-V71I10P103 |
How to Cite?
Kalpesh Barde, "Modular Monoliths: Revolutionizing Software Architecture for Efficient Payment Systems in Fintech," International Journal of Computer Trends and Technology, vol. 71, no. 10, pp. 20-27, 2023. Crossref, https://doi.org/10.14445/22312803/IJCTT-V71I10P103
Abstract
The evolution of software architecture has led to the emergence of various paradigms, including monolithic, microservices, and the lesser-explored modular monolith architecture. This paper delves into the historical development of these architectures, assessing their advantages and limitations, with a specific focus on their application in the fintech domain. Through an in-depth literature review and case studies of organizations like Shopify, Root, and Google, the study evaluates the potential of modular monolith architecture as the primary choice for developing efficient payment systems. By addressing the research gaps in existing studies and comparing modular monoliths with traditional monolithic and microservices architectures, this paper provides valuable insights for software developers, architects, and fintech industry professionals.
Keywords
Software design architecture, Monolithic architecture, Microservices architecture, Modular monolith software architecture, Fintech domain.
Reference
[1] James Lewis, and Martin Fowler, “Microservices,” Martinfowler.com, 2014.
[Google Scholar] [Publisher Link]
[2] Chandler Harris, “Microservices vs. Monolithic Architecture,” Atlassian, 2023.
[Google Scholar] [Publisher Link]
[3] Diogo Faustino et al., “Stepwise Migration of a Monolith to a Microservices Architecture: Performance and Migration Effort Evaluation,” arXiv, pp. 1-12, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[4] Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice: Software Architect Practice, Pearson Education, pp. 1- 589, 2012.
[Google Scholar] [Publisher Link]
[5] Dewayne E. Perry, and Alexander L. Wolf, “Foundations for the Study of Software Architecture,” ACM Sigsoft Software Engineering Notes, vol. 14, no.4, pp. 40-52, 1992.
[CrossRef] [Google Scholar] [Publisher Link]
[6] Humberto Cervantes, and Rick Kazman, “Designing Software Architectures: A Practical Approach, Pearson Education, pp. 1-320, 2016.
[Google Scholar] [Publisher Link]
[7] Omar Al-Debagy, and Peter Martinek, “A Comparative Review of Microservices and Monolithic Architectures,” 2018 IEEE 18th International Symposium on Computational Intelligence and Informatics (CINTI), pp. 149-154, 2018.
[CrossRef] [Google Scholar] [Publisher Link]
[8] Kirsten Westeinde, Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity, Shopify, 2019. [Online]. Available: https://shopify.engineering/deconstructing-monolith-designing-software-maximizes-developer-productivity
[9] Freddy Tapia et al., “From Monolithic Systems to Microservices: A Comparative Study of Performance,” Applied Sciences, vol. 10, no. 17, pp. 1-35, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[10] Nuha Alshuqayran, Nour Ali, and Roger Evans, “A Systematic Mapping Study in Microservice Architecture,” 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), pp. 44-51, 2016.
[CrossRef] [Google Scholar] [Publisher Link]
[11] Luciano Baresi, and Martin Garriga, Microservices: The Evolution and Extinction of Web Services?, Microservices, pp. 3-28, 2019.
[CrossRef] [Google Scholar] [Publisher Link]
[12] Ran Mo et al., “The Existence and Co-Modifications of Code Clones within or Across Microservices,” Proceedings of the 15th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), no. 22, pp. 1-11, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[13] Nicola Dragoni et al., Microservices: Yesterday, Today, and Tomorrow, Present and Ulterior Software Engineering, pp. 195-216, 2017.
[CrossRef] [Google Scholar] [Publisher Link]
[14] Pooyan Jamshidi et al., “Microservices: The Journey So Far and Challenges Ahead,” IEEE Software, vol. 35, no. 3, pp. 24-35, 2018.
[CrossRef] [Google Scholar] [Publisher Link]
[15] Alan Sill, “The Design and Architecture of Microservices,” IEEE Cloud Computing, vol. 3, no. 5, pp. 76-80, 2016.
[CrossRef] [Google Scholar] [Publisher Link]
[16] Sean Whitesell, Rob Richardson, and Matthew D. Groves, Introducing Microservices, Pro Microservices in .NET 6, pp. 1-27, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[17] Mohamed Ibrahim Elkholy, and Marwa A. Marzok, “Trusted Microservices: A Security Framework for Users’ Interaction with Microservices Applications,” Journal of Information Security and Cybercrimes Research, vol. 5, no. 2, pp. 135-143, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[18] Jeremy M.R. Martin, “Designing and Verifying Microservices Using CSP,” 2021 IEEE Concurrent Processes Architectures and Embedded Systems Virtual Conference (COPA), pp. 1-4, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[19] Simon Eismann et al., “Microservices: A Performance Tester’s Dream or Nightmare?,” Proceedings of the ACM/SPEC International Conference on Performance Engineering, pp. 138-149, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[20] Khaled Sellami et al., “Improving Microservices Extraction Using Evolutionary Search,” Information and Software Technology, vol. 151, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[21] Catalin Strimbei et al., “Software Architectures-Present and Visions,” Informatica Economică, vol. 19, no. 4, pp. 13-27, 2015.
[CrossRef] [Google Scholar] [Publisher Link]
[22] Luís Nunes, Nuno Santos, and António Rito Silva, From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts, European Conference on Software Architecture, pp. 37-52, 2019.
[CrossRef] [Google Scholar] [Publisher Link]
[23] Judith A. Stafford, and Alexander L. Wolf, “Software architecture,” Component-Based Software Engineering: Putting the Pieces Together, pp. 371-387, 2001.
[Google Scholar] [Publisher Link]
[24] David Garlan, and Dewayne Perry, “Introduction to the Special Issue on Software Architecture,” IEEE Transactions on Software Engineering, vol. 21, no. 4, pp. 269-274, 1995.
[Google Scholar] [Publisher Link]
[25] Rikard Land, “A Brief Survey of Software Architecture,” Mälardalen Real-Time Research Center (MRTC) Report, pp. 1-15, 2002.
[Google Scholar] [Publisher Link]
[26] Robert L. Glass, “Silver Bullet” Milestones in Software History,” Communications of the ACM, vol. 48, no. 8, pp. 15-18, 2005.
[CrossRef] [Google Scholar] [Publisher Link]
[27] Nabor C. Mendonça et al., “The Monolith Strikes Back: Why Istio Migrated from Microservices to a Monolithic Architecture,” IEEE Software, vol. 38, no. 5, pp. 17-22, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[28] Salvatore Augusto Maisto, Beniamino Di Martino, and Stefania Nacchia, From Monolith to Cloud Architecture Using Semi-Automated Microservices Modernization, International Conference on P2P, Parallel, Grid, Cloud and Internet Computing, Advances on P2P, Parallel, Grid, Cloud and Internet Computing, vol. 96, pp. 638-647, 2019.
[CrossRef] [Google Scholar] [Publisher Link]
[29] Miika Kalske, Niko Mäkitalo, and Tommi Mikkonen, Challenges when Moving from Monolith to Microservice Architecture, International Conference on Web Engineering, Current Trends in Web Engineering, volume 10544, pp. 32-47, 2018.
[CrossRef] [Google Scholar] [Publisher Link]
[30] Justas Kazanavičius, Dalius Mažeika, and Diana Kalibatienė, “An Approach to Migrate a Monolith Database into Multi-Model Polyglot Persistence Based on Microservice Architecture: A Case Study for Mainframe Database,” Applied Sciences, vol. 12, no. 12, pp. 1-29, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[31] Alex Mathai et al., “Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network,” arXiv, pp. 1-15, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[32] Justin Scott Lowery, and Frank Anthony Nuzzi, “Modular Web Content Software Architecture,” United States Patent Application, pp. 1-13, 2019.
[Google Scholar] [Publisher Link]
[33] Cody Allard et al., “Modular Software Architecture for Fully Coupled Spacecraft Simulations,” Journal of Aerospace Information Systems, vol. 15, no. 12, 2018.
[CrossRef] [Google Scholar] [Publisher Link]
[34] Nuno Gonçalves et al., “Monolith Modularization Towards Microservices: Refactoring and Performance Trade-offs,” 2021 IEEE 18th International Conference on Software Architecture Companion (ICSA-C), pp. 1-8, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[35] Mohammad Raji, and Behzad Montazeri, “On the Relationship between Modularity and Stability in Software Packages,” arXiv, pp. 1-4, 2018.
[CrossRef] [Google Scholar] [Publisher Link]
[36] Dan Haywood, In Defence of the Monolith, Part 2, InfoQ, 2017. [Online]. Available: https://www.infoq.com/articles/monolith-defense-part-2/
[37] Matt Campbell, Google Service Weaver Enables Coding as a Monolith and Deploying as Microservices, InfoQ, 2023. [Online]. Available: https://www.infoq.com/news/2023/03/google-weaver-framework/
[38] Dan Manges, The Modular Monolith: Rails Architecture, Medium, 2018. [Online]. Available: https://medium.com/@dan_manges/the-modular-monolith-rails-architecture-fb1023826fc4
[39] Rahul Garg, When (Modular) Monolith is the Better Way to Build Software, Thoughtworks, 2023. [Online]. Available: https://www.thoughtworks.com/en-us/insights/blog/microservices/modular-monolith-better-way-build-software