Authors:
Vincent Bushong
;
Dipta Das
and
Tomas Cerny
Affiliation:
Computer Science, Baylor University, One Bear Pl, Waco, TX, U.S.A.
Keyword(s):
Software Architecture Reconstruction, Reverse Engineering, Static Analysis, Microservices, Cloud-native.
Abstract:
Cloud-native systems, fueled by microservice architecture, provide several benefits to enterprises. These benefits include scalability, short deployment cycles, and flexibility for evolution. Most benefits come from microservices’ independence and decentralization. However, the pay-off comes as a lack of a centralized view of the overall system’s architecture. The system’s data model is separated among and partially replicated between each microservice, requiring extra effort to create a single view on the context map. Additionally, while a microservice’s API and its interaction can be statically documented (i.e., communication diagram), system evolution makes it difficult to maintain. As a result, modifications to the system can decay from the original intended design, and the changes will be obscured by the lack of an up-to-date centralized view. To address this, we propose a method of software architecture reconstruction based on static code analysis of the microservice mesh, gene
rating a communication diagram, context map, and microservice-specific bounded contexts. This gives developers and Development and Operations engineers (DevOps) a centralized view of how the overall program works, useful for furthering system comprehension and observation.
(More)