Cloud Database Application Versioning With Container Instance Metadata
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Transitioning a software application designed for on-premises execution to a cloud environment is non-trivial due to differences in architecture and testing challenges, and partial re-factoring is often undesirable, leading to suboptimal continuous updating and difficult data migrations.
Innovation Solution
Utilizing application orchestration services with a product version map and upgrade strategy map to manage different versions of the application for various user groups, allowing independent testing and controlled upgrades through container orchestration systems like Kubernetes, enabling flexible version management and data migration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a software application is transitioned from on-premises to cloud environment, then the application can leverage cloud computing resources and scalability, but architectural differences and testing challenges make the transition non-trivial and require extensive re-coding
Solution Approach 1:
The system segments the application into containerized microservices that can be independently deployed and managed in the cloud environment. This segmentation allows partial migration without complete re-coding, as containers encapsulate existing application logic while adapting to cloud infrastructure through standardized interfaces.
Solution Approach 2:
The patent introduces an intermediary layer (container orchestration system) between the legacy application and the cloud environment. This intermediary handles architectural differences, resource management, and scaling operations, allowing the application to run in the cloud without extensive re-coding while still leveraging cloud capabilities.
2Adaptability or versatility
If different user groups need to test different versions of the application independently, then testing flexibility improves, but version management complexity increases
Solution Approach 1:
The system divides the application into separate container instances, each representing a specific version. Different user groups can be assigned to specific container instances for testing, enabling independent version testing without interfering with other groups. The version management complexity is reduced by using container identifiers and metadata to track and manage different versions.
Solution Approach 2:
The container orchestration system dynamically manages version allocation and user group assignments. Containers can be created, updated, or deleted based on testing requirements, and user group memberships can be dynamically adjusted. This dynamic approach allows flexible version management without requiring complex static configuration.
3Productivity
If continuous updating is implemented in the cloud environment, then software currency is maintained, but upgrading legacy applications becomes difficult due to architectural differences
Solution Approach 1:
The system performs preliminary actions by creating container instances with updated versions before fully deploying them. This allows testing and validation of updates in a controlled environment before committing to production. The container orchestration system prepares upgrade paths and validates compatibility before executing updates, making continuous updating of legacy applications feasible.
Solution Approach 2:
The container-based approach enables continuous deployment and updating of application versions without interrupting service. Multiple container instances can run simultaneously, allowing seamless transitions between versions. The orchestration system maintains continuous operation by managing container lifecycles and ensuring service availability during updates.
4Productivity
If data migration is performed during application upgrade, then new versions can be deployed, but risks of data loss and incompatibility increase
Solution Approach 1:
The system implements beforehand cushioning by creating backup container instances and validating data compatibility before performing migrations. The orchestration system checks data schema compatibility and creates restore points before initiating data migration. This protective approach minimizes risks of data loss and incompatibility while maintaining deployment speed through automated validation and rollback capabilities.
Data Source
AI summary
Various examples described herein are directed to systems and methods for managing a cloud-implemented database management application, the method comprising. At least one cloud service may receive a request from a first user group to launch a first instance of the database management application. The at least one cloud service may access a version metadata record for the database management application and use the version metadata record to launch the first instance of the database management application. The at least one cloud service may store first instance metadata for first instance of the database management application at a container management metadata persistence associated with the first instance of the database management application. The first instance metadata may comprise an indication of the first container image.


