That's not saying that the right answer is AWS: simply that you really need to balance your budget against your time and capacity. For example, ALBs are “just” load-balancing — but if you try to build your own system with automatic failover and scaling, the various tools for logging, security, etc. it'll cost a lot more than $16/month. Now, if you're running 1,000 ALBs maybe that might no longer be true — but I would bet that you have other tasks for your engineers which would see comparable or greater returns, so it's still a business decision.
How hard is it to get the same functionality out of a set of rented servers? Or a fully hosted level-7 IaS? Or a fast starting VPS park?
The allegedly benefit of AWS is that you just focus on development, and let Amazon handle all the OPS noise. Well, minimizing costs is a lot of OPS noise.
Only pay per requests: API Gateway/Lambda/Dynamo
Then there's no fixed costs or the need to share these services with unrelated services.
Works great for dev/staging environments (will probably cost 1$ per month each for low usage) and even prod could go a long way before becoming "expensive"
(We're doing that a lot in my company, the CDN caches 85% of requests coming to our serverless stack, with most responses having only 1/2 min cache times)
You work on cost-cutting after everything else is working. It's usually a sign you like the service well enough - if you didn't like it, maybe you're not cost cutting, you're trying to get it out of your stack.
If you like everything else about it, shopping around instead of doing cost optimization carries much larger risks.