MAT: Automating Go monolithic applications transform into microservices through dependency analysis and AST
Yiyuan Chen, Kuo-Hsun Hsu, Andrew Weian Hou · 2023
The advancement of containerization and various integration tools has greatly reduced the development cost of microservice architecture. Under this premise, many companies have begun to migrate their legacy systems (monolithic applications) to microservice architectures in order to adapt to market demands. Instead of migrating legacy systems to microservice architecture from scratch, we provide another approach of splitting an existing monolithic system into microservices. In this paper, we use Go language’s AST as a basis to split the original project into multiple independent components and design a method for analyzing dependencies, classifying them, and producing independently runnable microservices.