Black Box Auto Scaling

I have found the different scaling modes to be somewhat confusing not only from a basic understanding standpoint, but also from an observation standpoint.

I believe when using a service like Fly, the default behavior should almost be a “black box” magic scaling method or “auto”. Of course I see the use case for a more specific configuration, but by default I just want it to work (auto scaling on the edge).

I would see this as only accepting a min and max VM setting, basically spin the VMs up closest to the requests as they happen, do this until the pool is full, then start killing unpopular VMs and “swarming” the more busy parts of the world based on usage.

The way I see it, I set the min/max VM based on my overall “budget” and Fly does it 's “Magic”.

What you’re describing is roughly the Balanced scaling mode: https://fly.io/docs/scaling/#scaling-modes

If you configure your app to allow multiple regions, set the min/max, and then change the scaling mode to “balanced” it should do what you’re describing.

The downside to this is that VMs churn a lot, they probably get replaced once per hour or so. If you’re doing any kind of caching it’s not optimal, and we’ve been surprised to find that peoples’ apps work better evenly spread across their regions.