Autonomous Cluster Scaling via Alert-Driven Node Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments like Apache Kafka, cluster expansion to prevent system crashes often requires human intervention, introducing latency when the cluster is under stress, as users must manually add nodes and reassign partitions.

Innovation Solution

A system and method that automatically scales a cluster by using a metrics monitoring system with an exporter process and alert manager to trigger the addition of new nodes and reassign existing partitions, eliminating the need for human intervention and enabling autonomous scaling based on workload and user-configured alerts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual user intervention is used to add nodes and reassign partitions, then the cluster can be expanded, but latency is introduced when the cluster is under stress

Engineering Contradiction:
Improvecluster availabilityVSAvoidscaling latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables automatic self-service scaling by implementing a callback handler that autonomously responds to alerts from the monitoring system. When the alert manager detects that scaling is needed, the callback handler automatically provisions new nodes and reassigns partitions without requiring human intervention, thus eliminating scaling latency while maintaining reliability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a closed-loop feedback mechanism where the alert manager continuously monitors cluster metrics and triggers scaling actions through callback handlers when thresholds are exceeded. This automated feedback loop ensures the cluster scales responsive to actual load conditions, preventing both over-provisioning and under-provisioning while eliminating manual response delays

Inventive Principle:
Principle #23Feedback

2Productivity

If automatic scaling is implemented, then scaling latency is reduced, but system complexity increases

Engineering Contradiction:
Improvescaling speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The callback handler serves multiple functions within a single component: it receives alerts from the alert manager, determines scaling requirements, provisions new nodes, and orchestrates partition reassignment. This multi-functionality consolidates what would otherwise require separate systems, achieving automatic scaling without proportionally increasing overall system complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The callback handler acts as an intermediary component that bridges the monitoring system (alert manager) and the cluster management operations (node provisioning and partition reassignment). This intermediary pattern simplifies the architecture by providing a single integration point for automatic scaling logic, rather than requiring direct coupling between monitoring and execution systems

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11526386B2System and method for automatically scaling a cluster based on metrics being monitored
Publication Date: 2022.12.13 ORACLE INT CORP
  • US11526386B2 patent drawing
  • US11526386B2 patent drawing
  • US11526386B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for use in a distributed computing environment, for automatically scaling a cluster based on metrics being monitored. A cluster that comprises a plurality of nodes or brokers and supports one or more colocated partitions across the nodes, can be associated with an exporter process and alert manager that monitors metrics associated with the cluster. Various metrics can be associated with user-configured alerts that trigger or otherwise indicate the cluster should be scaled. When a particular alert is raised, a callback handler associated with the cluster, for example an operator, can automatically bring up one or more new nodes, that are added to the cluster, and then reassign a selection of existing colocated partitions to the new nodes/brokers, such that computational load can be distributed within the newly-scaled cluster environment.