> auto-scaling shouldn't usually be done reactively, and doing so is at the expense of optimal service delivery.
You can react predictively (or predict reactively, whichever way you want to say it.)
Set up a cascade control system, training it as it runs on (process load x cost-of-scale.) It will begin to "see the signs" of load being about to occur, and adjust accordingly to reduce it. You know, just like any modern thermostat.
You can. I even qualified that in the next line. ;-)
Even easier, you could just say "Scale it up, we're demoing this to 3,000 users at PyCon", and do that proactively as well -- that said, it's likely done at the expense of efficiency or cost.
You can react predictively (or predict reactively, whichever way you want to say it.)
Set up a cascade control system, training it as it runs on (process load x cost-of-scale.) It will begin to "see the signs" of load being about to occur, and adjust accordingly to reduce it. You know, just like any modern thermostat.