0

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).

Gábor Major
  • 444
  • 2
  • 8
  • 23
  • If you don't use the metric, how do you know the extra VM instances are needed? – Charles Xu May 13 '21 at 02:20
  • I will know because these VMs all have a maximum amounts of "channels" they can handle, based on the available hardware. And I will know beforehand, that in a specific time I will need e.g. 12 channels, each VM handles 5, I check the VM scale set contains 2 VMs, so I know that in that specific time, I will need 1 extra VM. I have to do it like this because that VM and the application on it needs some time to start, and this way I can prepare it before it's actually needed. – Gábor Major May 14 '21 at 06:36
  • What is service do you use for the channels? Or you just see the channels through your eyes? – Charles Xu May 14 '21 at 07:07

0 Answers0