For pay by the hour services where you can scale up a ton of instances, then destroy them when you're done and only pay for time used, then yeah it's more cost effective to do it that way. However, this is about a monthly payment of nearly $1000 for a server you're supposed to have for a long time (there's no order it for 3 hours, then kill it and only pay for 3 hours of time used). If we were comparing EC2 instances to purchased hardware then yeah, that argument would be better suited.