I've mentioned this elsewhere but; I'm not arguing co-location over cloud. I'm arguing inexpensive cloud like DigitalOcean, Linode, or LightSail over a complex AWS configuration designed to scale with near infinite flexibility. Why does a product that gets 100 visitors a day need that? $5-10/month serves them just fine.
The cynical answer is "resume-driven-development".
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.
> (...) 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.
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 .
LightSail isn't any cheaper than the EC2 instance types backing it. Everything else (VPCs, IAM roles, etc) doesn't have a cost associated.
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.
> LightSail isn't any cheaper than the EC2 instance types backing it.
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.
"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."
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?
I can't really get into specifics, but the particular issue that we have with DO (and it really is specific to DO/droplets) makes it a complete no-go for our new product architecture.
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.
You are probably an expert in your area but the original poster was talking about much smaller shops. That's the point being missed for every multi-million dollar spender there are thousands of smaller projects paying 10x the cost because they think they will be you one day and it is cheaper to build on that stack from day one.
Yeah, I'm saying that you can use this cost effectively at smaller places too.
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.
Except that in smaller places time is of the essence I we don't have enough to learn the full extent of AWS and I'll save my time and money by using a droplet.
Learning AWS does have a cost. Money I'd rather spend on learning and mastering standard, open and portable systems.
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.
Small startups use junior talent for most services. They are not hiring the best hr team, marketing, sales and development. They don't have unless amount of money. They will pick one or two areas where they have an advantage and hire a strong person or two.
I think we have wildly different expectations of the scale of "small startups".
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.
There are a lot of great parts of AWS that aren't in LightSail, even for small projects. S3. RDS (with or without Aurora). ECS and ECR. It takes and manages a lot of complexity for you.
(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.)