Application-Level Auto-Scaling in Cloud Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing auto-scaling methods rely on load balancer data, which is a proxy for actual service requirements, and do not effectively manage internal-facing services or account for application-specific workload, leading to inefficient scaling decisions.
Innovation Solution
Implementing an application-level auto-scaling system with data collectors and scaling modules that use application-specific data, such as request latency and pending requests, to make informed decisions about instance scaling, utilizing a distributed architecture and a database for coordination to ensure synchronized and efficient scaling actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If load balancer data is used for auto-scaling decisions, then the system can implement automated scaling, but the scaling decisions are inaccurate because load balancer data is only a proxy for actual service requirements
Solution Approach 1:
The patent introduces an intermediary component (the auto-scaling system with data collectors) that sits between the load balancer and the scaling decisions. Instead of directly using load balancer metrics, the system collects and processes multiple data sources including application-level metrics, queue depths, and processing rates to make more informed scaling decisions.
Solution Approach 2:
The system implements feedback loops where scaling decisions are continuously monitored and adjusted based on actual service performance. The auto-scaling system collects data about scaling outcomes and uses this feedback to refine future scaling decisions, improving accuracy over time.
2Adaptability or versatility
If load balancer monitoring is used for scaling, then external-facing services can be scaled, but internal-facing services are not effectively managed
Solution Approach 1:
The auto-scaling system is designed to be universal and support multiple types of services. It can monitor and scale both external-facing services through load balancers and internal-facing services through direct application-level metrics collection, making the system adaptable to different service architectures.
Solution Approach 2:
The system segments its monitoring approach by service type. For external-facing services, it uses load balancer data, while for internal-facing services, it implements separate data collection mechanisms that directly monitor application performance and queue depths, ensuring reliable management of both service types.
3Extent of automation
If basic performance metrics are monitored for scaling decisions, then the system can implement auto-scaling, but the decisions do not account for application-specific workload characteristics
Solution Approach 1:
The system applies local quality by collecting and analyzing application-specific metrics tailored to each service's workload characteristics. Instead of using generic performance metrics, it gathers data specific to each application's processing patterns, queue behaviors, and performance requirements, enabling customized scaling decisions for different workloads.
Data Source
AI summary
A method and system for application-level auto-scaling in a cloud computing environment is provided. An example system includes a data collector and a scaling module. The data collector is to collect application-level data that reflects demand for a subject computing application executing on the virtual instance of a machine provided by a virtualization service. The scaling module is to select a scaling action based on the application-level data and issue a request to perform the scaling action with respect to the virtual instance of a machine.


