Ok so you save money on the monthly bill but what happens when Amazon decides they want to enter your market? What happens if they decide your service is too controversial and they kick you off?
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.
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.
Right, you understand, but maybe you don't really understand?
If you work at a company large enough, and with enough DevOps, NetOps, Ops people to go it alone, and can get favorable lease terms on hardware, then by all means, host it yourself! Paying all of those people and also paying for AWS seems odd, for sure.
But if you work at a company without a deep bench in various Ops groups, then good news! You don't have to hire them! Instead you can rely on Amazon's deep bench, and focus your salary budget on developers rather than Ops people.
There are scales at which, even not counting enormous budget expenditures on staff rather than managed services, AWS doesn't make sense. And if you're just using EC2, you'll hit those numbers more quickly than if you make good use of things like Lambdas and SNS/SQS and Dynamo and so on. The cost savings can be enormously staggering, and the more you lean into AWS managed services, the more that's true.
We see the edge cases on HN, the rare instances of someone being kicked off of somewhere, but for most people, the uptime and long-term reliability of AWS managed services is higher than trying to go it alone.
For most businesses the savings in money and time are worth the risks you pointed out here.
If those risks are too high for you (and fair enough if they are), you’ll pay one way or another to avoid them.
Continuing what you said, Google uses macOS and Windows for client machines. That is ok because if Apple or Microsoft were to decide to cut off Google altogether, Google would have bigger problems.
However, I think from a business point of view, this is similar to how so many businesses use cloudinary. Cloudinary is a software as a service company that provides cloud based image and video management services. What if cloudinary kicks you out? There is a lot of custom code out there to interface with cloudinary API. Where do we draw the line between using Cloudinary is ok but Amazon aws lambda is not?
To be fair to the Stack Overflow guys, AWS had fewer offerings when SO was built, so the comparison wasn't the same then as it is now.
To run an equivalent stack myself would require significant effort (upfront and ongoing) and I'm not sure I could get the costs that low. Another great aspect of my stack is it's all scales on it's own without any intervention on my part.
What you are comfortable using is a sliding scale with some people thinking if you aren't hosting it in your own datacenter then you are crazy all the way up to "let's just use Firebase" (or similar). For me I've found that buying in fully can be very enjoyable and the risk is rather low (for me).
> Ok so you save money on the monthly bill...
Sounds like you do understand it.
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?