Product Version Map for Legacy Microservice Integration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Integrating on-premises legacy applications with cloud-native microservices in a microservices environment is challenging due to differences in update frequencies and rollback capabilities, leading to difficulties in maintaining software quality and supporting multiple application versions.
Innovation Solution
A product version map is introduced to manage available application versions, allowing for decoupled lifecycle management of orchestration services and application instances, enabling early testing of new versions in the cloud, and facilitating upgrades while maintaining maturity levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If on-premises legacy applications are integrated with cloud-native microservices, then application functionality and cloud capabilities are enhanced, but integration complexity and difficulty increase due to differences in update frequencies and rollback capabilities
Solution Approach 1:
The patent introduces an intermediary layer (service mesh, API gateway, or adapter pattern) that mediates between on-premises legacy applications and cloud-native microservices. This intermediary handles protocol translation, update coordination, and rollback management, allowing both systems to coexist without direct complex integration while maintaining enhanced functionality.
Solution Approach 2:
The system is segmented into distinct deployment environments (on-premises and cloud) with independent update cycles. The on-premises legacy application maintains its traditional update frequency and rollback capabilities, while cloud-native microservices operate with faster update cycles. This segmentation allows each component to evolve independently, reducing integration complexity.
2Productivity
If update frequency of on-premises applications is increased to match cloud-native microservices, then software quality and bug fixation improve, but risk of deploying buggy versions and loss of stability increase
Solution Approach 1:
The system implements dynamic update strategies where different components update at different frequencies based on their risk profiles. Cloud-native microservices update frequently with automated rollback capabilities, while on-premises legacy applications update less frequently with more conservative change management. The system dynamically adjusts update cadence based on environmental context and risk tolerance.
Solution Approach 2:
The system implements preparatory measures before updates: comprehensive testing in staging environments, automated regression testing, and pre-configured rollback mechanisms. These cushioning measures ensure that even with increased update frequency, the risk of deploying buggy versions is mitigated through multiple safety checks and escape hatches before production deployment.
3Adaptability or versatility
If multiple versions of application instances are supported simultaneously, then flexibility and testing capabilities improve, but version management complexity and difficulty increase
Solution Approach 1:
The system segments application instances by version and environment, creating isolated deployment units for each version. This allows multiple versions to coexist in different namespaces, environments, or container groups without interfering with each other. Each version can be independently managed, tested, and rolled back without affecting other versions, reducing management complexity.
Solution Approach 2:
The system implements a universal version management platform that handles multiple application versions through a single interface and control mechanism. This universal layer provides standardized operations for version provisioning, activation, deactivation, and rollback across all versions, simplifying management despite supporting multiple concurrent versions.
Data Source
AI summary
A data structure called a product version map is introduced. The product version map contains a catalog of available application versions to be used by the application orchestration services. It can describe the available versions. For each version, there is an image, such as a DockerĀ® container image, that can be used to instantiate the application instance. Furthermore, in some example embodiments, an expiration date can be given, which could be used to enforce upgrades of application instances when their used version expires.


