Dynamic Horizontal Autoscaling for Multi-Tenant Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container platforms face inefficiencies in power and resource utilization due to continuous operation of control plane components regardless of workload, leading to potential instability and underutilization of resources.
Innovation Solution
Implementing dynamic horizontal autoscaling in a multi-tenant service environment, where a horizontal service-level autoscaler monitors client requests and creates new pods and service mappings to align resource utilization with client demands, thereby optimizing resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If control plane components are continuously powered and kept alive regardless of workload, then service availability and reliability are maintained, but power and resource utilization efficiency deteriorates
Solution Approach 1:
The patent implements dynamic horizontal autoscaling that adjusts the number of running containers based on monitored workload aspects. When workload decreases, containers are terminated to save resources; when workload increases, new containers are created to maintain service availability. This dynamic adjustment resolves the contradiction between continuous operation for reliability and resource efficiency.
Solution Approach 2:
The system changes operational parameters by monitoring workload aspects and adjusting the number of active containers accordingly. The autoscaler modifies system state based on threshold comparisons, transitioning from static continuous operation to dynamic parameter-adjusted operation that balances reliability and energy efficiency.
2Loss of energy
If multiple clients share the same service in a multi-tenant environment, then resource utilization efficiency improves, but resource contention and potential instability increase
Solution Approach 1:
The patent segments the shared service into multiple isolated containers, each handling specific client requests. The autoscaler monitors workload per client and creates separate container instances when needed, providing both resource efficiency through sharing and stability through isolation. Each container operates independently, preventing resource contention from affecting other clients.
Solution Approach 2:
The service mesh acts as an intermediary layer between clients and backend services, enabling dynamic routing and isolation. It mediates resource allocation by directing requests to appropriate container instances based on current workload conditions, maintaining both efficiency and stability in the multi-tenant environment.
3Productivity
If new pods and service mappings are dynamically created based on workload monitoring, then resource allocation efficiency improves, but system complexity increases
Solution Approach 1:
The autoscaler implements self-service automation by automatically monitoring workload aspects, comparing them against thresholds, and creating or terminating container instances without manual intervention. The system serves itself by dynamically adjusting resource allocation based on real-time conditions, improving efficiency while managing complexity through automation rather than manual processes.
Solution Approach 2:
The system establishes a feedback loop where the autoscaler continuously monitors workload aspects, compares current state against desired state (thresholds), and makes adjustments accordingly. This closed-loop control automates complex resource allocation decisions, improving productivity while managing system complexity through structured feedback mechanisms rather than ad-hoc management.
Data Source
AI summary
Embodiments relate to dynamic horizontal autoscaling for a multi-tenant service. According to an aspect, a computer-implemented method includes configuring a network computing element to route a plurality of requests from two or more clients to a service in a containerized-networked system. A horizontal service-level autoscaler monitors one or more aspects of the requests to the service from the two or more clients. A new pod including a set of running containers with shared resources in the containerized-networked system is created based at least in part on the horizontal service-level autoscaler determining that at least one of the one or more aspects of the requests exceeds a threshold. A new service mapping is created to accept subsequent requests from one of the two or more clients that triggered creation of the new pod.


