Automated Microservice Extraction from Monolithic Code Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy monolithic computing applications face challenges in scalability, resource allocation, and modernization, requiring transformation into microservices to meet modern computing demands, but this process is complex and inefficient due to the need for manual analysis and refactoring.
Innovation Solution
A software modernization service that automatically identifies and extracts independently deployable components from monolithic applications by generating a graph model, visualizing dependencies, and assisting in the refactoring process to deploy these components as microservices, serverless functions, or containers, minimizing code changes and leveraging cloud services for improved scalability and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual analysis and refactoring is used to transform monolithic applications into microservices, then transformation accuracy can be maintained, but productivity is reduced and time consumption increases
Solution Approach 1:
The system performs automated identification of isolated nodes and extraction of microservices components through self-executing algorithms that analyze dependency graphs and generate refactored code without requiring manual intervention for each extraction task
Solution Approach 2:
Manual mechanical refactoring processes are replaced with automated computational systems that use graph theory algorithms and code analysis tools to identify extractable components and generate transformation code automatically
2Manufacturing precision
If comprehensive dependency analysis is performed to ensure accurate microservice extraction, then manufacturing precision is improved, but device complexity increases
Solution Approach 1:
The complex analysis process is segmented into distinct phases: graph model generation from source code, isolated node identification through algorithmic analysis, and automated extraction execution. Each phase handles a specific aspect of the transformation, reducing overall system complexity while maintaining comprehensive analysis
Solution Approach 2:
A dependency graph model serves as an intermediary representation that captures component relationships without requiring direct complex analysis of all code interactions. This graph structure enables efficient identification of isolated nodes through standard graph algorithms
3Ease of operation
If automated extraction is implemented to improve productivity, then ease of operation is improved, but manufacturing precision may deteriorate
Solution Approach 1:
The system incorporates feedback mechanisms where the graph model continuously reflects the current state of component dependencies, and extraction operations are validated against this model to ensure accuracy. The automated process uses the dependency graph as feedback to verify that extracted components are truly isolated
Data Source
AI summary
Disclosed are various embodiments for the extraction of isolated nodes during source code refactoring. A graph model representative of a computing application is generated having nodes and bridges that connect some nodes to other nodes. An application component corresponding to a selected one of the nodes may be extracted from the computing application. An independently deployable component of the computing application may be generated and deployed on a network service such that the independently deployable component is accessible through a network-based call.


