Container Application Dynamic Resource Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Container-based applications face scalability issues when system resources are exhausted, leading to increased latency due to queuing of incoming requests, as they are designed to scale up only before reaching resource limits, without dynamic adjustment capabilities.
Innovation Solution
A method that analyzes performance data against predefined limits to dynamically adjust resources or functionality of container-based applications, allowing for real-time processing of function calls by identifying performance measure limits, such as scalability or cost thresholds, and adjusting accordingly, such as switching from Software as a Service to Function as a Service architecture.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If container-based applications scale up to meet increased workload demand, then processing capacity and throughput are improved, but system resource constraints are eventually reached leading to service unavailability and increased latency
Solution Approach 1:
The patent implements dynamic adjustment of container-based application resources by monitoring performance data and automatically scaling resources up or down based on real-time workload conditions. This dynamic approach allows the system to adapt to changing demands without manual intervention, maintaining service availability while optimizing processing capacity utilization.
Solution Approach 2:
The system continuously monitors performance data from container-based applications and uses this feedback to trigger automatic scaling actions. When performance metrics indicate approaching resource limits, the system responds by allocating additional resources or load-balancing to newly spawned containers, preventing service unavailability before it occurs.
2Stability of the object's composition
If container-based applications queue new requests when resource limits are reached, then system stability is maintained, but request processing latency increases
Solution Approach 1:
The system performs preliminary scaling actions by proactively monitoring performance metrics and triggering resource allocation before resource exhaustion occurs. This advance action prevents the need to queue requests by ensuring sufficient processing capacity is available ahead of time, thereby maintaining both system stability and low latency.
Solution Approach 2:
The patent introduces a load balancer as an intermediary component that distributes incoming requests across multiple containers. When resource limits are approached, the load balancer redirects new requests to newly spawned containers, avoiding the need to queue requests and reducing processing latency while maintaining system stability.
3Reliability
If container-based applications are designed to scale before reaching resource limits, then service availability is maintained, but system resources are underutilized leading to increased costs
Solution Approach 1:
The system implements self-service scaling where container-based applications automatically monitor their own performance metrics and trigger resource allocation when needed. This self-service approach eliminates the need for conservative pre-scaling, allowing resources to be allocated precisely when required rather than being permanently reserved, thereby improving resource utilization efficiency while maintaining service availability.
Solution Approach 2:
The patent dynamically changes system parameters such as container replication count and resource allocation based on real-time performance data. Rather than maintaining fixed resource reservations, the system adjusts parameters adaptively, scaling resources up when performance degradation is detected and scaling down when demand decreases, optimizing both availability and resource efficiency.
Data Source
AI summary
Provided is a method, computer program product, and system for adjusting a container-based application. A processor may receive one or more function calls at a container-based application. The processor may process the one or more function calls using the container-based application. The processor may obtain performance data from the container-based application based on the processing of the one or more function calls. The processor may analyze the performance data against a performance measure limit. The processor may adjust an aspect of the container-based application based on the analysis of the performance data. The aspect may be one or more selected from the group consisting of a resource and a functionality of the contain-based application.


