Browse by author
Lookup NU author(s): Professor Raj Ranjan
This work is licensed under a Creative Commons Attribution 4.0 International License (CC BY 4.0).
Microservices architecture advocates decentralized data ownership for building software systems. Particularly, in the Database per Service pattern, each microservice is supposed to maintain its own database and to handle the data related to its functionality. When implementing microservices in practice, however, there seems to be a paradox: The de facto technology (i.e., containerization) for microservice implementation is claimed to be unsuitable for the microservice component (i.e., database) in production environments, mainly due to the data persistence issues (e.g., dangling volumes) and security concerns. As a result, the existing discussions generally suggest replacing database containers with cloud database services, while leaving the on-premises microservice implementation out of consideration. After identifying three statelessness-dominant application scenarios, we proposed container-native data persistence as a conditional solution to enable resilient database containers in production. In essence, this data persistence solution distinguishes stateless data access (i.e., reading) from stateful data processing (i.e., creating, updating, and deleting), and thus it aims at the development of stateless microservices for suitable applications. In addition to developing our proposal, this research is particularly focused on its validation, via prototyping the solution and evaluating its performance, and via applying this solution to two real-world microservice applications. From the industrial perspective, the validation results have proved the feasibility, usability, and efficiency of fully containerized microservices for production in applicable situations. From the academic perspective, this research has shed light on the operation-side micro-optimization of individual microservices, which fundamentally expands the scope of “software micro-optimization” and reveals new research opportunities.
Author(s): Li Z, Saldias-Vallejos N, Seco D, Rodriguez MA, Ranjan R
Publication type: Article
Publication status: Published
Journal: IEEE Transactions on Software Engineering
Year: 2024
Volume: 50
Issue: 9
Pages: 2363-2378
Print publication date: 19/09/2024
Online publication date: 01/08/2024
Acceptance date: 21/07/2024
Date deposited: 13/01/2025
ISSN (print): 0098-5589
ISSN (electronic): 1939-3520
Publisher: IEEE
URL: https://doi.org/10.1109/TSE.2024.3436623
DOI: 10.1109/TSE.2024.3436623
ePrints DOI: 10.57711/h1h4-1841
Altmetrics provided by Altmetric