Cloud Plugin Installer for Legacy Application Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy on-premises applications transitioning to a cloud environment face challenges in managing plugins due to lack of independence between container-implemented executables and libraries, leading to extensive testing and resource-intensive data migrations, and users lack direct access to install or remove plugins, limiting flexibility and introducing security risks.
Innovation Solution
A plugin installer service at the cloud environment manages plugin installation, upgrade, and removal through a frontend service and plugin catalog, allowing users to select plugins without direct access to application containers, reducing security risks and maintaining flexibility without full re-factoring to a cloud-native format.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If users are granted direct access to install or remove plugins in cloud environment, then flexibility and ease of operation are improved, but security risks and system stability deteriorate
Solution Approach 1:
A plugin service is introduced as an intermediary component between users and the application containers. The service receives plugin installation, upgrade, and removal requests from users, validates them, and executes the appropriate actions. This mediator architecture allows users to manage plugins flexibly without having direct access to the container filesystem, thereby maintaining security while enabling ease of operation.
2Adaptability or versatility
If legacy on-premises applications are migrated to cloud environment with containerization, then scalability and deployment flexibility are improved, but plugin management complexity and testing requirements worsen due to lack of independence between executables and libraries
Solution Approach 1:
The system is segmented into distinct components: the application container with its executables and libraries, and a separate plugin service component. This segmentation allows the plugin service to manage plugins independently without requiring changes to the containerized application structure. The service handles plugin installation, validation, and execution as separate manageable units, reducing the complexity of managing plugins in a containerized environment.
Solution Approach 2:
The plugin service acts as a mediator that bridges the gap between the containerized application and external plugin management requirements. It provides the necessary functionality to install, upgrade, and remove plugins without requiring users to have direct access to container internals, thereby simplifying plugin management while maintaining cloud deployment benefits.
3Reliability
If extensive testing and data migration are performed to ensure plugin compatibility, then reliability is improved, but loss of time and productivity worsen
Solution Approach 1:
The plugin service performs preliminary actions by validating plugin compatibility with the running application version before installation. It checks whether the plugin is compatible with the current application state and prevents installation of incompatible plugins. This preliminary validation ensures reliability by avoiding incompatible plugin installations without requiring extensive post-installation testing, thereby reducing time loss.
4Adaptability or versatility
If full re-factoring to cloud-native format is performed to enable independent plugin management, then adaptability is improved, but loss of substance and productivity worsen due to extensive re-development requirements
Solution Approach 1:
The plugin management functionality is extracted from the application container itself and placed into a separate external service. This extraction allows the legacy on-premises application to remain unchanged in its containerized form while still enabling independent plugin management through the external service. The application code does not need to be re-factored to cloud-native format, preserving the existing substance while gaining adaptability.
Data Source
AI summary
Various examples described herein are directed to systems and methods for managing a cloud-implemented database management application. A frontend service executing at a cloud environment may receive a plugin request from a first user associated with a first user group and determine a version of a database management application executing at the cloud environment for the first user group. The frontend service may access a plugin catalog to determine at least one plugin compatible with the database management application and provide an indication of the at least one plugin to the first user. The frontend service may receive from the first user a selection of a first plugin from the at least one plugin and call a plugin installer service executing at the cloud environment to install the first plugin to the database management application.


