Cross-Platform Software Deployment With Downtime-Aware Redeployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Choosing the appropriate computing platform for software deployment is challenging due to the variety of options available, including on-premise and cloud platforms, and existing solutions lack automation for optimizing cost and performance post-deployment.
Innovation Solution
A software deployment supervisor that selects and deploys software on computing platforms based on resource information and parameters, and iteratively monitors for changes to redeploy during downtime to optimize cost and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If manual selection and deployment of computing platforms is used, then flexibility in choosing platforms is maintained, but automation and continuous optimization are lost
Solution Approach 1:
The deployment supervisor system performs self-service by automatically selecting computing platforms and executing deployments without requiring manual intervention. The system monitors resource information changes and autonomously determines redeployment actions, eliminating the need for human operators to manually manage platform selections and deployment processes.
Solution Approach 2:
The system performs preliminary actions by pre-establishing deployment configurations, resource monitoring frameworks, and redeployment strategies before actual deployment occurs. Resource information is continuously gathered and analyzed in advance, allowing the system to make informed automated decisions during deployment without requiring complex real-time manual coordination.
2Adaptability or versatility
If software is deployed on a single computing platform, then deployment simplicity is maintained, but cost optimization and performance improvement are limited
Solution Approach 1:
The deployment supervisor provides universal functionality by managing software deployment across multiple different computing platforms (on-premise and cloud) through a single unified system. The same supervisor handles diverse platform types, resource configurations, and deployment scenarios, eliminating the need for separate platform-specific management systems.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring resource information changes on different computing platforms and using this information to trigger automated redeployment decisions. This closed-loop feedback allows the system to adapt to platform conditions dynamically, optimizing cost and performance while maintaining manageable complexity through automated decision-making.
3Productivity
If resource information is monitored continuously, then cost and performance optimization is improved, but monitoring overhead and system resource consumption increase
Solution Approach 1:
The system uses feedback mechanisms to monitor resource information changes and trigger redeployment actions only when necessary. By continuously gathering resource information and comparing it against deployment parameters, the system optimizes productivity through automated decision-making while managing resource consumption by acting only when changes require redeployment.
Solution Approach 2:
The system monitors changes in resource parameters (pricing, capacity, performance metrics) and uses these parameter changes as triggers for automated redeployment decisions. By focusing monitoring on significant parameter changes rather than continuous active intervention, the system achieves optimization efficiency while minimizing unnecessary resource consumption during stable periods.
Data Source
AI summary
System, method, and software for software deployment. In an embodiment, a software deployment supervisor receives deployment parameters from an entity regarding deployment of software, identifies resource information for resources on a plurality of computing platforms to host the software, select a host computing platform based on the deployment parameters and the resource information, and deploy the software on the host computing platform. The software deployment supervisor implements a redeployment process by iteratively performing: monitoring the resource information to identify updated resource information for one or more of the resources, identifying downtime of the software, reselecting the host computing platform from the plurality of computing platforms based on the deployment parameters and the updated resource information, and redeploying the software on the host computing platform during the downtime of the software.


