Ensuring microservice architectural consistency through automated detection of drifts and erosions
Loading...
Date
2024
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
In the shift from monolithic to microservices architecture within the software development industry, the benefits of improved system resilience, agility, and decentralized data management are clear. Yet, this also introduces significant challenges in maintaining architectural consistency. The decentralized and heterogeneous nature of microservices imposes challenges in managing and maintaining the architecture integrity, which can lead to architectural degradation. This poses maintenance challenges and risks project success. The role of architectural integrity is crucial across the software lifecycle, affecting the development, deployment, and maintenance phases. Inconsistencies within the architecture can confuse the developers and make existing documentation outdated. Moreover, manual or semi-automated checks for architectural conformance are not only time-consuming but also prone to errors, highlighting the need for automated solutions. Recent studies have discovered the need for mechanisms that can proactively address architectural problems in microservices. The findings vouch that software architecture reconstruction is useful for addressing these architectural issues, with static analysis showing significant promise for the reconstruction of software architecture. However, there remains a notable gap in the utilization of languageneutral artifacts for automated reasoning and generating reports about the integrity of microservices architectures. This research presents a novel approach to ensure the consistency of microservice architecture by automating the detection of drifts and erosions. By adopting Model-Driven Engineering principles, which is widely in practice in the industry, our approach uses a textual technique to create a metamodel for each microservice and its communications, achieving technology neutrality. The process begins with a static analysis of the metamodel files and the intended architecture, followed by the construction of service dependency graphs to compare the intended and modified architectures. This systematic approach allows for the accurate identification of deviations, offering a preventive way to address architectural inconsistencies. To assess the effectiveness of this method, we evaluated it using the popular microservices demo application, OnlineBoutique. The findings demonstrate that our approach can precisely identify all microservices within the application and detect violations. These results suggest that our method is not only effective but also efficient in proactively identifying architectural drifts and erosions, contributing significantly to the maintenance of microservices architecture.
Description
Citation
Jabir, A.Z. (2024). Ensuring microservice architectural consistency through automated detection of drifts and erosions [Master\'s theses, University of Moratuwa]. Institutional Repository University of Moratuwa. https://dl.lib.uom.lk/handle/123/23693