Microservice Extraction Anti-Pattern Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy monolithic computing applications face challenges in scalability, resource allocation, and maintenance due to their self-contained nature, making it difficult for businesses to adapt to modern computing requirements such as handling large user bases and rapid changes in user access patterns.
Innovation Solution
A software modernization service that automates the decomposition of monolithic applications into microservices, using anti-pattern detection to identify and address performance issues during extraction and deployment, allowing for efficient deployment on cloud-based services like serverless functions, virtual machines, or containers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If monolithic applications are decomposed into microservices, then scalability and resource allocation improve, but system complexity and deployment difficulty increase
Solution Approach 1:
The patent applies segmentation by dividing the monolithic application into multiple independent microservices based on domain-driven design principles. Each microservice is extracted as a separate deployable unit with its own codebase, database, and deployment lifecycle, enabling independent scaling and resource allocation while reducing overall system complexity through modularization.
Solution Approach 2:
The patent introduces an intermediary service mesh or API gateway that mediates communication between microservices. This intermediary layer handles service discovery, load balancing, and inter-service communication protocols, simplifying the complexity of microservice orchestration while maintaining scalability benefits.
2Ease of operation
If manual extraction and deployment of microservices is performed, then deployment control is maintained, but engineering costs and time consumption increase
Solution Approach 1:
The patent implements self-service through automated microservice extraction and deployment systems that use domain-driven design analysis to automatically identify service boundaries, generate deployment configurations, and orchestrate extraction processes. This automation maintains deployment control through policy-based management while dramatically reducing engineering time and costs by eliminating manual intervention in routine extraction tasks.
Solution Approach 2:
The patent applies preliminary action by performing domain-driven design analysis and service boundary identification before the actual extraction process. This preliminary phase automatically generates extraction blueprints, dependency maps, and deployment manifests, enabling controlled and efficient microservice extraction without manual trial-and-error processes.
3Ease of repair
If domain-driven design constraints are enforced during microservice extraction, then service independence and maintainability improve, but extraction process complexity increases
Solution Approach 1:
The patent applies parameter changes by transforming domain-driven design conceptual models into concrete extraction parameters such as service boundaries, dependency thresholds, and deployment configurations. This parameter transformation automates the enforcement of domain-driven design constraints during extraction, improving service independence while managing process complexity through systematic parameter management rather than manual constraint application.
Data Source
AI summary
Disclosed are various embodiments for anti-pattern detection in extraction and deployment of a microservice. A software modernization service is executed to analyze a computing application to identify various applications. When one or more of the application components are specified to be extracted as an independently deployable subunit, anti-patterns associated with deployment of the independently deployable subunit are determined prior to extraction. Anti-patterns may include increases in execution time, bandwidth, network latency, central processing unit (CPU) usage, and memory usage among other anti-patterns. The independently deployable subunit is selectively deployed separate from the computing application based on the identified anti-patterns.


