The slightly more charitable answer is that having your infrastructure automatically scale and adapt to the workload, and watching it take off is a really fun and exciting moment, and people want to experience that, and in the rare event that it does happen and you suddenly need to handle 10-100x more traffic, having things auto-scale up and then back down means you (in an ideal world) get to watch it excitedly, instead of furiously running around spinning things up and putting out fires that arise when you start operating at larger scales.
Is it overkill to build your business like that from the get-go? Almost certainly (precluding the situation where you have some kind of guarantee of incoming load), but people (want to) do it anyway.
Emphasis on "rare".
And also, AWS is not the only cloud provider which offers autk-scaling. I've used an european cloud provider which even offered Kubernetes with node autk-scaling, and there are even scripts in the wild that implement autk-scaling for small cloud providers such as Hetzner.
I'm starting to believe AWS only benefits from bandwagon effect and resume-driven development. None of AWS's value propositions are ever mentioned in these discussions, which is telling .
What you're missing is that cost/complexity-wise, LightSail and EC2 are equivalent. The only difference between them is your interface to it. LightSail doesn't give you some pretty necessary knobs to kick things into a working state when the EC2 instances are having a burger. In fact, the last time I used LightSail and had a problem with unavailable instances, I just ran the ec2 api commands against the lightsail instance IDs to solve my problem.
DigitalOcean has some networking properties that make it extremely undesirable for some use cases and Linode is frequently the target of massive global DDOS. I remember well a few years ago the Christmas Eve Linode DDOS because I had to work 20 hours that day.
Thankfully it was only 20 hours because we were already in the process of moving off of Linode and we just decided to flip all of the switches to serve out of AWS. Most of the time was spent waiting on DNS TTLs.
Instance costs across all of the cloud providers are pretty competitive. Where AWS and Google Cloud and Azure are more expensive are in those "extra" services where you would be paying people to run infrastructure (elasticsearch, sql databases, etc). DO, Linode, etc, don't give you that option -- it's not an apples-to-apples comparison....and in most cases you shouldn't use some of these things. Definitely no service where you can't just pick up and go use some other hosting tomorrow. Cloud vendor lock-in is real.
Sure it is: Lightsail includes plenty of transfer with its price. At the $10 tier you get 3tb thrown in. If you're doing anything that burns even a modest amount of transfer, the price difference will be sizable.
Those are also areas where AWS will negotiate on price with an enterprise though.
If you're small, you can certainly save money with LightSail.
EC2 gives you better pricing options when you commit to spend though (even if you aren't an enterprise...).
I have been able to get pretty mind blowing discounts on everything other than transfer.
Those sound like some of the weakest reasons. Is your information still upto date? Are they still experiencing major outages?
The truth is it would save you money to use a digitalocean instance over aws, regardless of your edge cases where some network property is not desirable.
How much do you spend a month more to justify working around that weird networking property?
Is it really worth it for everyone else? What is this weird networking issue we need to spend extra to avoid?
It doesn't save us money if we can't use it.
As for my reasons being weak, you might have read other places in this thread where I've mentioned that I'm responsible for
a) a multi-million dollar infrastructure, b) across clouds and on-prem in tier 1 datacenters c) have been in this field for a long time.
Odds are that I'm not a total idiot, that I have good information and that I know what I'm doing here.
When I think of my core Terraform infrastructure that I can spin up for any project, the only resource with a recurring AWS/Google/Azure cost is NAT Gateways. You can get very cost-competitive with the instances themselves with reservations and/or spot, depending on your architecture. The costs of the big clouds and the small ones is basically the same here.
The way the cost balloons out of control for most companies is for things like S3 access (applications that HEAD the bucket every 60 seconds and hit the API request cash register), or managed services like EKS, Amazon ElasticSearch, etc. It's in the "oh I don't have to learn how to manage X application" where cloud gets expensive.
Smaller providers solve that problem by not even giving you that option. It's not that AWS is expensive, it's that they give you rope to hang yourself with.
Learning AWS does have a cost. Money I'd rather spend on learning and mastering standard, open and portable systems.
That's where Terraform comes in.
...and CloudFormation, and SAM, and CDK, and...
CDK gives you a TypeScript/JavaScript/Python/Java dependency.
That's not a triviality - C++ has the same problem, if you have a single ezpert individual it's great, but if you have a team, and some are very green, it will be a nightmare.
Thing is though, people who well-understand AWS/Azure/Google are plentiful (but expensive) in the industry at this point.
Small startups can't afford to have junior talent.
So they pay far more for the mess/waste/damage, but that somehow doesn't matter to them. Not just startups, some big corporates too.
If you can afford to full-time hire an entire hr team, an entire marketing team, an entire sales team and an entire engineering org, then you're able to pay an AWS bill.
Small startups have less than 2 million and usually a 16-24 cash or bust cycle. If they are hiring teams of people they are not a small startup.
If you are not bring in more cash than your aws bill that's a problem.
(DigitalOcean, to its credit, has offerings in those spaces -- they have an object store, they have hosted databases, they have a container service. And I use DigitalOcean for some personal products. But you can actually run a Postgres DB on AWS Aurora Serverless for cheaper than you can run one on DigitalOcean, depending on your workload. It's not obvious that DigitalOcean is a better choice there.)