> What I don't understand is why anyone would spend, precious and expensive engineering resources on coding to a proprietary API owned by one of the largest companies on the planet to whom you are nothing.
Who cares if it's proprietary? You're either locked in to a proprietary stack or you have to go out of your way to cobble together a FOSS stack on bare metal, in which case you're essentially locked into that.
> Ok so you save money on the monthly bill but what happens when Amazon decides they want to enter your market?
If AWS helps me get to market faster and cheaper than the alternatives, I don't particularly care what the rest of Amazon does.
> What happens if they decide your service is too controversial and they kick you off?
Normal businesses don't have to worry about this. I've honestly never heard of anyone getting kicked off of AWS unless they were doing something extremely sketchy.
> If you were deploying your own services to EC2 instead of using AWS's own services you could at least setup shop elsewhere with just a bit of work.
True, if this is truly all you're doing, you can probably find better options elsewhere at this point. But pretty soon, you're going to be interesting in managed solutions for other things that are important but not core to your business's value proposition, things like managed databases and logs and auditing and object storage and containers and data lakes.
If you don't want to use the cloud services that actually make the cloud convenient to use, then yeah, I don't know why you'd use the cloud.
But you could also run, say, Kubernetes on EKS and Fargate and still have a relatively easy time porting your software elsewhere in the future. And the other cloud providers have their own versions of things like S3 and Lambda and RDS. It's never easy to port production software to another provider, but it's not like it's impossible. And it's also an extremely unlikely scenario. I'd love to see some statistics on how many companies actually move off of their cloud providers; it's got to be one of the stickiest businesses out there.
> To me it is antithetical to building a sustainable product. People just hoping their startup gets bought and then it is someone else's problem.
At this point, just about every Fortune 500 company is using AWS, Azure, or Google Cloud in some capacity. For most companies, building out your own infrastructure is not part of your value proposition. So why not just pay somebody else to do the undifferentiated heavy lifting of figuring out how to run code in a generic way?