Off-Peak Application Update Deployment via Standby Fleet
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Updating applications on a programmable execution service (PES) is complex due to concurrent development by multiple teams, disparate business and operational requirements, and the need to balance cost, time, and availability considerations, making it challenging to deploy updates efficiently.
Innovation Solution
A PES platform with a deployment component that creates an optimized update plan based on specified economic, temporal, and operational factors, allowing updates to be applied during off-peak periods, merging updates, and scaling computing resources to minimize downtime and costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If updates are deployed during peak demand periods to minimize downtime, then application availability is improved, but operational costs and complexity increase due to concurrent development and resource constraints
Solution Approach 1:
The system performs preliminary actions by creating a standby fleet of updated instances before the actual update deployment. This allows the update to be prepared in advance during off-peak periods, and then quickly deployed during peak periods without disrupting the main application fleet. The standby fleet acts as a pre-prepared replacement that can be activated immediately when needed.
Solution Approach 2:
The system segments the update deployment process into distinct phases: creating a standby fleet with updated instances, monitoring its stability, and then activating it to replace the main fleet. This segmentation allows updates to be tested and validated in isolation before affecting the production system, reducing overall deployment complexity while maintaining availability.
2Productivity
If additional computing resources are allocated to assist with updates, then update speed and reliability improve, but operational costs increase
Solution Approach 1:
The system uses temporary, disposable standby instances that are created specifically for the update process and then discarded or replaced after use. These standby instances are cheaper and more flexible than permanent additional resources, as they can be instantiated only when needed for the update process and terminated afterward, minimizing ongoing resource consumption while providing the necessary computational power for rapid deployment.
Solution Approach 2:
The system employs periodic action by creating standby instances during off-peak periods when demand is low, and then utilizing them during peak periods for rapid update deployment. This periodic creation and utilization pattern allows the system to have additional computing resources available when needed without continuously maintaining them, thereby reducing overall operational costs while maintaining update speed.
3Quantity of substance
If updates are applied during off-peak periods to reduce costs, then operational costs decrease, but application availability may be compromised
Solution Approach 1:
The system performs all update preparation and standby fleet creation during off-peak periods when operational costs are lower. By completing the heavy lifting of instance creation and update validation in advance, the actual deployment during peak periods becomes rapid and minimal-cost, effectively decoupling the cost-saving off-peak preparation from any potential availability impact.
Solution Approach 2:
The standby fleet acts as an intermediary between the updated software version and the production fleet. It serves as a buffer that can be activated when needed, allowing the system to prepare updates during low-cost off-peak periods while maintaining the option to deploy immediately during peak periods without compromising availability. The standby fleet mediates between cost optimization and availability requirements.
Data Source
AI summary
Update preferences might be utilized to specify that an update to an application should not be applied until the demand for the application falls below a certain threshold. Demand for the application is monitored. The update to the application is applied when the actual demand for the application falls below the specified threshold. The threshold might be set such that updates are deployed during the off-peak periods of demand encountered during a regular demand cycle, such as a diurnal, monthly, or yearly cycle.


