Power On Next Host, User Driven

This one I know i'm being a princess in asking, but I think it would be cool.

I love user driven as auto scale for its simplicity. It's a great setting and we use it for each client. One thing I wish for (rubbing magic lamp hoping it's Robin Williams genie) is...

User Driven, Smart Pre-stage (Nerdio pending trademark)
Power on after so many users are logged in, but not the maximum amount of users allowed on a host.
For Ex. Say you have an E8as_V5 and you allow 12 users on it. You are in a User Driven auto scale environment. Have a setting that after 10 users, it powers on another host, but allows up to 2 more users to log into that machine. So it's like a hybrid of depth and breadth.

We've found that setting to CPU limit is inconsistent due to sometimes we have heavy users taking up tons of CPU, and it would autoscale well and appropriately. However, most of the time it will max out users without scaling the next host. 

We tried lower and upping the number of max users on a host, and that too did not lead to good results. We found between 1:1 core/user and 1:1.5 core/user is optimal for max users.

We tried Pre-stage hosts, but with WFH, its also inconsistent for maximizing everything.

So, all in all, I think this would be a kind of cool. No clue how difficult this would be to program so feel free to shoot me down Maverick if it is not possible. Thanks to all the Devs!

2

Comments (4 comments)

2
Avatar
Jason Bridgeman

I too have a large use case for this. The bulk of my clients are on the smaller side and Nerdio is all about cost savings, so I almost exclusively use User Driven. I do this so there are 0 session hosts on when no one is working. However, it would be awesome if there was a user-driven + maintain X available sessions AFTER the first host is powered on. So, like a smart user driven. This would improve the user experience for those few unlucky users who had to trigger the startup of the next host in the pool.
It doesn't seem like it would be too difficult logic.

1
Avatar
Dave Stephenson

Haha! I don't think you're a "princess" in any stretch of the imagination, Johnny Lambert. 🤣

I've thought about this a lot since the User Driven trigger came out.
I'm guessing there is some reason they didn't allow us to select multiple triggers (like we can with the other triggers (i.e. CPU, RAM, Avg Active sessions, Available sessions)), but I agree with you and Jason. User driven is great for scaling-in to save money but being able to "buffer" when the additional host(s) starts spinning-up (especially if you have Scripts when VM is STARTED configured) would be awesome!

0
Avatar
Peter Yasuda

Something similar is available when burst beyond capacity is enabled in Auto-scale. You can start provisioning a burst host when the number of available sessions in the host pool falls below a certain number. Maybe it would not be hard to add for existing hosts. 

0
Avatar
Dave Stephenson

Good point, Peter.

User-driven does have the Burstability, but that doesn't apply to non-bursted hosts (as far as I know)
Maybe we can use similar logic for the rest of the pool though . . . 🤔
Although, it may need additional logic to handle Johnny and Jason's use-cases.
Perhaps combining the logic of the Pre-Stage Hosts stuff with the Scaling triggers so it only preps the additional hosts during business hours or maybe the logic we have for Single-Session Pooled Environments . . . .

Lots of possibilities here.🤓

Please sign in to leave a comment.