Serverless apps in the cloud are bottleneckness. In most cases cloud forces you to write code in a way that is impossible to bottleneck and makes all to scale execution of it. Sounds very well but everything has a dark side of course.
I would never claim that clouds are the cheaper way of hosting apps. But low costs on hosting are not what businesses need in most cases.
Let me try to explain it with example numbers.
If you would have no payload or small payload you would pay $0.001 per month to the cloud provider, but when you will have a million users per month, let's say you would be charged by $100 per month. And probably you can handle the same amount of users by hosting it on $40 VPS.
But thing is that VPS will crash at all when the payload will grow up to 1.2 million, when the cloud would charge you by $120 per month and can easily continue to scale. And the truth is: creating an app that will be able to be distributed between multiple VPSes might be much more costly (e.g. revenue which business makes for 2 years). When just creating an app in the cloud has almost the same complexity as creating a self-hosted app.
So, most businesses will want to save money on development but not on hosting: for business:
- it is enough to get X revenue (>0) from 1 user which exceeds the cost per handling this user in the app
- Be able to scale (handle more and more users).
Then businesses can reinvest in marketing and drive more users. So if the app will handle 100 users he will receive guaranteed 100X revenue.
Let's assume the business earns $0.1 from 1 average user for a month. For example, there is a subscription that costs $50 and a free plan. The system handles 500x more free users than paid, so one paid user should also "pay" for 500 users on a free plan. Then handling 10M users would give $100k per month income, so cloud cost ($100) will take 0.1% of income. So why would not company want to scale up to 20M users to get $200k per month and pay $200?
So if you are a company doing business in tech you might afraid more to use self-hosted apps: they will cost you $40 statically but if you have another dev env it is $80 already. When you have no payload at all. When cloud will cost nothing on such phases.