Legacy Application Wrapper for Microservice Orchestration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy applications do not follow the microservices principle, making it costly and time-consuming to refactor them, thus missing out on benefits like manageability, scalability, and reuse.
Innovation Solution
A system that wraps legacy applications to enable them to be deployed in a microservices environment, offering two modes: 'watch' for integration and 'recommend' for re-architecting into microservices, using a wrapper that exposes capabilities and identifies candidate components for conversion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If legacy applications are refactored into microservices, then manageability and scalability are improved, but refactoring cost and time increase
Solution Approach 1:
The system performs preliminary analysis of the legacy application's behavior, dependencies, and communication patterns before refactoring. By watching and recording the application's runtime behavior, the system prepares a comprehensive understanding of the application structure in advance, enabling automated generation of microservice architecture recommendations without manual analysis during the refactoring process.
Solution Approach 2:
The legacy application itself provides the information needed for refactoring by instrumenting the application to expose its internal state, dependencies, and communication patterns. The application serves its own analysis data through APIs and hooks, eliminating the need for external reverse engineering tools and enabling automated microservice extraction.
2Adaptability or versatility
If legacy applications are refactored into microservices, then scalability is improved, but refactoring cost increases
Solution Approach 1:
The system extracts specific functional components from the legacy monolithic application based on analyzed dependencies and communication patterns. By identifying natural boundaries in the application's behavior and data flow, the system separates independent functionalities into distinct microservice candidates, reducing the scope of refactoring work required for each service.
Solution Approach 2:
The legacy application is segmented into multiple microservice candidates based on analyzed behavioral patterns, dependency graphs, and communication interfaces. The system divides the monolithic codebase into logical units that can be independently deployed and scaled, with clear boundaries defined by the observed interaction patterns between different functional areas.
3Adaptability or versatility
If a wrapper is provided around legacy applications, then integration with microservice managing platforms is enabled, but system complexity increases
Solution Approach 1:
A wrapper component acts as an intermediary between the legacy application and the microservice managing platform. The wrapper translates the legacy application's monolithic behavior into microservice-compatible interfaces, handling service registration, health checks, and configuration management while keeping the legacy application unchanged.
Solution Approach 2:
The wrapper provides multiple functions within a single component: it serves as a service registry client, health check endpoint, configuration manager, and communication bridge. By consolidating these functions in one universal wrapper, the system avoids creating separate complexity layers for each function.
Data Source
AI summary
Various examples relate to apparatuses, devices, methods and computer programs for wrapping a monolithic application. In one aspect, such an apparatus is to observe a behavior of the monolithic application, and to provide a wrapper for wrapping the monolithic application, the wrapper comprising an interface that exposes one or more capabilities of the monolithic application to a microservice managing platform, with the interface being based on the observed behavior.


