Parallel Software Deployment via SSH Script Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current system architectures do not support parallel software installation on multiple servers, making the process slow and inefficient, especially for large and complex applications, requiring manual intervention and repetitive user inputs across multiple servers.
Innovation Solution
A system architecture that utilizes a three-layer microservice approach with a user interface layer, an application layer, and a backend layer, enabling parallel and asynchronous web service calls to execute scripts on backend servers via Secure Shell (SSH) connections, allowing for simultaneous installation of applications across multiple servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual GUI-based installation is performed on each server individually, then installation can be completed with simple procedures, but installation time increases significantly and productivity decreases
Solution Approach 1:
The system segments the installation process into two distinct layers: a simplified user interface layer that handles user interactions, and a backend script execution layer that performs parallel installations on multiple servers. This segmentation allows the user to interact with a simple interface while the backend handles complex parallel operations, resolving the contradiction between ease of operation and productivity.
Solution Approach 2:
The system introduces an intermediary component that translates user-friendly installation requests into parallel script executions on backend servers. This intermediary layer enables users to initiate installations through simple commands while the system automatically manages parallel execution across multiple servers, thereby improving productivity without complicating the user interface.
2Productivity
If parallel installation is implemented to improve productivity, then installation time is reduced, but system complexity increases
Solution Approach 1:
By dividing the system into a simple frontend interface and a backend script execution engine, the complexity of parallel installation management is isolated to the backend layer. The frontend remains simple and user-friendly, while the backend handles the complex coordination of parallel scripts across multiple servers, thus achieving high productivity without increasing perceived system complexity for users.
Solution Approach 2:
The system implements self-service mechanisms where pre-configured scripts automatically handle the parallel installation process on backend servers without requiring user intervention. Once the user initiates the installation through the simple interface, the system autonomously manages script execution, resource allocation, and coordination across servers, maintaining simplicity while achieving parallel productivity.
3Ease of operation
If script-based silent installation is used to reduce user input repetition, then ease of operation improves, but parallel execution capability is lost
Solution Approach 1:
The system separates the silent script execution capability from the parallel execution capability by implementing a backend script engine that can simultaneously run multiple script instances across different servers. Each script continues to operate in silent mode without user input, while the backend orchestrates parallel execution, thus maintaining ease of operation while gaining parallel productivity.
Solution Approach 2:
The backend script execution engine is designed with multi-functionality to handle both silent installation execution and parallel process coordination. This universal component can manage multiple script instances simultaneously across various servers, combining the benefits of user-friendly silent installation with high-performance parallel execution capabilities in a single system.
Data Source
AI summary
Systems and methods for performing parallel program installations using a script-based installation mode are provided. An exemplary system can include: a plurality of backend servers on which a plurality of scripts is executed to automatically install application programs; and an application server, the application server being configured to: receive a plurality of web service calls from a user device via a user interface; locate web services in response to the web service calls; and send a plurality of Secure Shell (SSH) calls to a plurality of backend servers; in response to the web service calls, provide and expose the plurality of the scripts being as the web services, wherein a number of the web service calls processed by the application server are based on a hardware capacity of the application server.


