Auto-scale Compute based on Custom Metrics from Applications¶
As a user of OpenStack I want to define a logical group of compute resources which are increased or decreased automatically based on metrics which are emitted from an application running in the cloud.
Problem description¶
An Application developer will define metrics which their application can emit to a Monitoring Service. This could be a report of RPS from a web application. Or information about distribution of objects reported by Swift. The Monitoring Service would generate alarms based on the metrics or report them to a Decision Service for analysis. Commands would be passed to an Orchestration Engine to scale up or down.
This use case was called out in the Denver 2019 PTG - https://etherpad.openstack.org/p/DEN-auto-scaling-SIG
OpenStack projects used¶
…
…
Inputs and decision-making¶
Auto-scaling¶
Existing implementation(s)¶
Monasca and Heat
Monasca can receive metrics from an application and generate alarms if a metric exceeds a threshold. The alarm notification can then trigger a Heat template and scale the topology appropriately.
<TODO: record other options>