Is it possible to scale out an Azure VMSS "on demand"?
What I mean is, normally a resource manager application knows if extra VM instances will be needed in advance, and can use the Autoscale REST API to create a schedule for a predefined time, when Azure will provide the extra instances.
However, it is possible that extra VM instances will be needed ad-hoc. In this case, theoretically, we can do the same thing as above, and create an autoscale schedule 1 minute into the future (not yet tried if it is allowed). But is there a better way? I looked through the documentation looking for an HTTP trigger, but I can't find any. I only found a Service Bus trigger, based on number of messages in a queue or topic, but it feels overkill to create a Service Bus just for this, and then set the limit to 1 message, and increase the VM instances with a single message to the Service Bus (we don't use Service Bus for any other reason).
Unfortunately the autoscale based on metric (e.g. CPU resource) is not an option, because the VM instances will have to be dedicated for the client for the predefined duration, so if we need more instances, we have to spin up new VMs. A few minutes of delay (while VM and application launches) can be tolerated, especially in the ad-hoc case (this behaviour is not advised anyway, but we have to prepare for it).