public-cloud-roadmap icon indicating copy to clipboard operation
public-cloud-roadmap copied to clipboard

Instance group autoscaling

Open Mickael-Roger opened this issue 5 years ago • 7 comments

Add instance group auto-scaling

Mickael-Roger avatar Dec 05 '20 13:12 Mickael-Roger

Hi Mickael ! I am interested for the specific uses cases behind that and how you leverage this on other technologies currently.

Full transparency : we had this request a lot in 2015-2016 because on the paper this looks great. However, when we had the occasion to discuss this in more details with prospects showing interest, we systematically saw that in fact the autoscaling feature at IaaS was not sufficient. Most of the time this scaling feature had to be deeply integrated at platform or even sofware level. We kind of saw this was indeed not used a lot in production in the Openstack community.

That is why we prioritized this scaling feature at the orchestration/platform level in Kubernetes : https://github.com/ovh/public-cloud-roadmap/issues/24 (currently being developed, should be released in a couple on months) and in AI/ML aaS.

mhurtrel avatar Dec 11 '20 09:12 mhurtrel

Hi Maxime,

Autoscaling at IaaS level can be implemented with only 3 services:

  • Having a Load Balancer (Better with service discovery like DNS ou Consul for instance) - Heard that this feature is in progress at OVH
  • Having a metrics service (You already have this service)
  • Having an Instance image service (You already have Glance)

Using these 3 services, a User create a instance image of its application (An ubuntu with nginx installed for the most basic usage for instance), declare the minimum and the maximum instances inside its auto scaling groups and the autoscaling up/down condition (For instance cpu usage > 80% for more than 5 minutes) and healthcheck.

Your metrics service monitor IaaS usage of this instance group (CPU, network or even req/s), when a condition is matched, it creates (or destroys) an instance (based on the glance image of the pool), this instance is added to the LB backend (through Service Discovery) and LB healthcheck sends traffic to it when healthcheck is OK.

Not very complicated to implement in my opinion and by the way you already have almost all pre requisites

Mickael

Mickael-Roger avatar Dec 20 '20 14:12 Mickael-Roger

@Mickael-Roger Thanks. I am really interested in the specific software that you use and would leverage this autoscaling, if it was offered at IaaS level (all other customers were in fact interested for kubernetes node pools autoscaling (planned for February) or managed database cluster autoscaling).

mhurtrel avatar Dec 20 '20 14:12 mhurtrel

Hi,

I am really instested in instance autoscaling :

  • instance created based on my snapshots images
  • rules based on CPU / Mem / Load
  • increment or decrement pool could be called via OVH API

As @Mickael-Roger mentioned, would be very useful. @mhurtrel I can provide you much more details on usage in PM if you want.

Hope this could be release ASAP !

Regards

matmicro avatar Mar 26 '21 11:03 matmicro

@mhurtrel, is it planned to integrate this in the roadmap ? If yes could you provide an estimated date ?

Thanks

matmicro avatar Apr 23 '21 20:04 matmicro

I believe this can already be done with OpenStack Heat. https://docs.openstack.org/auto-scaling-sig/latest/use-cases/autoscale-compute-basic-metrics.html. I'm not sure if OVH has this in their deployment though.

BlakeB415 avatar Apr 29 '21 19:04 BlakeB415

Thanks a lot for your feedback, and sorry for the late reply! This isn’t currently supported. You can use autoscaling through our Managed Kubernetes Service, but we understand that doesn’t fit all use cases, especially for workloads outside Kubernetes. It’s not something we can commit to right now, but it’s on our radar for future roadmap discussions.

BriacBl avatar Oct 10 '25 15:10 BriacBl