Monolith to Microservice Translation via Function Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques fail to effectively generate functionally independent and deployable microservices from refactored clusters of monolith applications, limiting the transition to microservice architectures.
Innovation Solution
The method involves isolating non-overlapping software functions, converting them into standardized APIs, and generating deployable microservices, including the use of URI generation and representation in Swagger documents for clarity and deployment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If monolith application architecture is used, then development and deployment are simplified, but system flexibility and cloud compatibility are reduced
Solution Approach 1:
The patent automatically partitions monolith application code into multiple candidate microservices based on software function analysis. Each microservice encapsulates specific non-overlapping functions, enabling independent deployment and cloud compatibility while maintaining manageable complexity through automated segmentation.
Solution Approach 2:
The system extracts specific software functions from the monolith application to create independent microservices. By identifying and isolating non-overlapping functions, the patent enables selective extraction of business logic while preserving core functionality, improving cloud adaptability without overwhelming complexity.
2Adaptability or versatility
If microservice architecture is implemented, then cloud compatibility and resource allocation improve, but development complexity increases
Solution Approach 1:
The patent performs preliminary analysis of the monolith application to automatically identify candidate microservices and their boundaries before implementation. By pre-defining service partitions based on software function analysis, the system reduces development complexity while maintaining cloud compatibility benefits.
Solution Approach 2:
The system automatically generates candidate microservices from the monolith application code without requiring manual intervention for each service definition. The automated analysis and partitioning process enables the system to self-organize into microservices, reducing development complexity while achieving cloud compatibility.
3Ease of operation
If manual microservice creation is performed, then control over service design is maximized, but time consumption and productivity are reduced
Solution Approach 1:
The patent implements an automated system that analyzes monolith application code and self-generates candidate microservices with proper function isolation. This self-service approach maintains design quality through systematic analysis while dramatically improving productivity by eliminating manual service creation processes.
Solution Approach 2:
The system replaces manual mechanical processes of microservice design and code extraction with automated software analysis and generation. By substituting human effort with algorithmic function analysis and automatic code partitioning, the patent achieves both design control and high productivity in microservice generation.
4Ease of manufacture
If software functions are shared across microservices, then code reusability improves, but service independence and deployability are reduced
Solution Approach 1:
The patent assigns different software functions to different microservices based on their specific functional requirements. By ensuring non-overlapping function distribution, each microservice achieves local quality optimization with unique, independent functionality, enabling reliable independent deployment while maintaining overall system functionality.
Data Source
AI summary
Methods, systems, and computer program products for translating clusters of a monolith application to microservices are provided herein. A computer-implemented method includes obtaining a plurality of candidate microservices for refactoring a monolith application, each candidate microservice including one or more of a plurality of software classes of the monolith application; analyzing the monolith application to identify one or more software functions in the plurality of software classes to expose as one or more application programming interfaces; automatically isolating non-overlapping software functions of the monolith application between the plurality of candidate microservices; converting source code corresponding to the identified one or more software functions into a standardized application programming interface format based at least in part on the isolating; and using the converted source code to generate a plurality of deployable microservices corresponding to the plurality of candidate microservices.


