Long Live the Image: On Enabling Resilient Production Database Containers for Microservice Applications
Use este enlace para citar
http://hdl.handle.net/2183/39389Colecciones
- GI-LBD - Artigos [54]
Metadatos
Mostrar el registro completo del ítemTítulo
Long Live the Image: On Enabling Resilient Production Database Containers for Microservice ApplicationsFecha
2024-09Cita bibliográfica
Z. Li, N. Saldías-Vallejos, D. Seco, M. A. Rodríguez and R. Ranjan, "Long Live the Image: On Enabling Resilient Production Database Containers for Microservice Applications," in IEEE Transactions on Software Engineering, vol. 50, no. 9, pp. 2363-2378, Sept. 2024, doi: 10.1109/TSE.2024.3436623.
Resumen
[Abstract]: 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.
Palabras clave
container
data persistence
read-only database
stateless microservice
microservices architecture
data persistence
read-only database
stateless microservice
microservices architecture
Versión del editor
Derechos
© 2024 IEEE. This version of the article has been accepted for publication, after peer review. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. The Version of Record is available online at: https://doi.org/10.1109/TSE.2024.3436623