AI-Driven Partitioning Framework for Migrating Monolithic Applications to Microservices
Vijay Ramamoorthi
Independent Researcher
Keywords: Microservices, Microservice architecture, Neuromorphic AI integration, CARGO framework System Dependency Graphs
Abstract
Microservice Architecture (MSA) has become a standard for designing scalable and flexible enterprise applications. However, the process of migrating monolithic systems to microservices is fraught with challenges, including the risk of creating distributed monoliths and managing complex distributed transactions. To address these issues, we present CARGO (Context-sensitive lAbel pRopaGatiOn), an AI-guided framework that improves microservice partitioning through the use of System Dependency Graphs (SDGs) and a context-sensitive label propagation algorithm. SDGs enable detailed modeling of both intra-service and inter-service dependencies, capturing critical aspects like call-return, data, heap, and transactional edges. By iteratively refining partition boundaries, CARGO minimizes inter-service coupling, reduces the occurrence of distributed transactions, and enhances service cohesion. Evaluations conducted on benchmark applications such as Daytrader and JPetStore demonstrate that CARGO significantly outperforms state-of-the-art tools like Mono2Micro and CoGCN in terms of transaction purity, latency, throughput, and architectural quality. This work establishes a foundation for automating the migration of monolithic applications into efficient, scalable microservice architectures and opens avenues for applying CARGO to other programming environments like Python and .NET.
Author Biography
Vijay Ramamoorthi, Independent Researcher
Vijay Ramamoorthi is a seasoned software architect with a background in artificial intelligence and machine learning. He has designed and implemented complex systems for Fortune 500 companies and has a passion for building scalable, reliable software solutions. His expertise spans cloud computing, microservices, and distributed systems. Vijay holds a Master's degree in Computer Science and a Bachelor's in Mathematics.