Cross-Platform Software Deployment for Cost-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 from different service providers, and maintaining optimal deployment conditions is difficult due to changing resource information and pricing.
Innovation Solution
A software deployment supervisor that automates the selection and redeployment of software across multiple platforms based on resource information and deployment parameters, monitoring for changes, and optimizing cost and performance by moving software during downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software is deployed on a computing platform, then the software becomes available for use, but it becomes difficult to adapt to changing resource information and pricing across multiple platforms
Solution Approach 1:
The system implements self-service through automated monitoring and decision-making capabilities. The software deployment supervisor automatically monitors resource information changes across platforms and autonomously selects optimal platforms for deployment without requiring manual intervention, enabling the system to adapt to changing conditions independently
Solution Approach 2:
The system achieves universality by designing a multi-functional software deployment supervisor that can operate across diverse computing platforms (cloud and on-premise). This single system performs multiple functions including monitoring, analysis, decision-making, and deployment management across different platform types, eliminating the need for separate management systems for each platform
2Productivity
If software is deployed on a computing platform, then the software operates continuously, but redeployment during downtime is required to optimize cost and performance
Solution Approach 1:
The system applies preliminary action by proactively monitoring resource information and identifying optimal redeployment opportunities before they become critical. The software deployment supervisor continuously analyzes pricing and resource changes, preparing redeployment strategies in advance and executing them during scheduled downtime periods to minimize operational disruption
Solution Approach 2:
The system implements dynamics by making the deployment configuration flexible and adaptable. The software can be dynamically relocated between different computing platforms based on real-time resource information and pricing conditions. The deployment supervisor continuously adjusts the deployment strategy to optimize cost and performance while minimizing impact on software operation
3Ease of operation
If manual platform selection is used, then deployment decisions can be made, but the process is difficult and time-consuming due to multiple platform options
Solution Approach 1:
The system replaces manual mechanical decision-making processes with automated computational systems. The software deployment supervisor uses algorithms to automatically analyze resource information, compare platform options, and select optimal deployment targets, substituting human manual evaluation with automated computational analysis that is both faster and more consistent
Solution Approach 2:
The system implements feedback mechanisms where the software deployment supervisor continuously monitors resource information changes and deployment performance. This feedback loop enables the system to learn from past decisions and continuously improve its platform selection accuracy, providing increasingly better recommendations over time while reducing the time required for selection
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.


