I understand with applications hosted in the Cloud, autoscaling is now a very popular method of ensuring applications can scale based on fluctuations load/work.
From my reading, I know that most, if not all cloud providers allow users to define their scaling policy based on a defined metric.
For example, CPU percentage used, memory used or Requests Per Second.
What I'm not sure about is how people take the decision about which metric is most suitable to scale their web site/application. For example, what is the thought process which leads someone to choose RPS over CPU usage? Is is purely based on what the applications does? Are there any examples of use cases where one would be better than the other? Or is the decision based on some kind of tests performed? Any information appreciated.