Autoscaling should be able to provision new nodes when necessary, or decommission no longer needed nodes. Solr should support a few common platforms out of the box (eg. AWS and Azure) with an API for integration with other platforms.
Auto-provisioning can already be implemented as a TriggerAction, however there are common non-trivial aspects that should be supported by the framework, such as:
- authentication to cluster manager APIs
- ability to consider cost vs. performance tradeoffs and constraints (avoiding over-provisioning and under-provisioning)
- maintaining cluster stability (avoiding trashing) while reacting with small delay and lag. These aspects will likely require some form of feedback loop controller.