microsoft / azure-container-apps

Roadmap and issues for Azure Container Apps
MIT License
366 stars 29 forks source link

Feature Request: Ability to adjust scaling cooldown time period #855

Open alhardy opened 1 year ago

alhardy commented 1 year ago

Is your feature request related to a problem? Please describe.

The default scaling behaviour is not suitable for some applications.

Describe the solution you'd like.

Id like to be able to adjust the container app’s default scaling behaviour.

Describe alternatives you've considered.

I haven’t considered any alternatives

Additional context.

default scaling behaviour https://learn.microsoft.com/en-us/azure/container-apps/scale-app?pivots=azure-cli#scale-behavior

anthonychu commented 1 year ago

@alhardy Are there specific settings that you'd like to configure? Polling interval and cooldown period are being considered. https://github.com/microsoft/azure-container-apps/issues/573

nunowallenstein commented 1 year ago

Edit:The priority in our case would be to have the pollinginterval and the cooldownPeriod configurable via cli or with the ui interface, since we do not want cold starts and we want to adapt the number of consumer to the necessities of our Queue in a cost effective way, but,

If you could also allow for the configuration of the remaining parameters that would be awesome

alhardy commented 1 year ago

@alhardy Are there specific settings that you'd like to configure? Polling interval and cooldown period are being considered. https://github.com/microsoft/azure-container-apps/issues/573

Right now I'm just after cool-down period (if that's the setting which determines how long to wait on inactivity before scaling down)

rhuanbarreto commented 1 year ago

For me the most important is the cooldown period. For development workloads which scale from 1 to 0, we want to set the cooldown period to 3600 seconds (1 hour) to avoid cold starts but still be cost effective to scale to 0 if not used. For production, which scale from n to n-1 replicas, 300s is good enough but it could be better to control the ramp so we avoid abrupt changes

electroma commented 1 year ago

+1 on @rhuanbarreto comment. In our scenario we have multiple apps with bursty load and beefy replicas. Scaling to 0 is the only way for us to be cost effective. But cold start is a problem since it adds 30-40 seconds to the processing time. Having cool down time setting would be great and cooldownPeriod is supported by full KEDA.