(Cheaper that is if you don't value your employees time, which most large companies don't.)
Once you have enough load to justify going “unserverless” the prices drop to approximately 1/4 that of Cloud Functions for the same burst performance, and that’s before playing billing games like long-term commitments or using preemptible instances.
What’s truly scalable about “serverless compute” versus VMs is the line item on your bill. Sure, “they manage the auto-scaling” but for the per-unit price you rapidly hit a point where you might as well set up a Kubernetes load balancer and eat the setup costs. The pricing model only works out in your favor if you _don’t_ have load.
It would not surprise me to learn that the same is true of AWS prices.
* monitor lots of things like filesystem usage and CPU usage
* build new machine images (as well as possibly new container images!) to keep up with security updates
* tune autoscaling at multiple levels based on whichever server-based systems you're using
* maintain a secure way for production support folks to log into servers to see what is going wrong or perform emergency fixes
* build additional failover automation as well as what you'd already need for serverless
Serverless is a bit more expensive overall and less tunable, but there's just less to go wrong: much of the underlying server SRE work is handled by provider automation and engineers for whom that is their full-time job. So, I'm still pretty happy with it.