Hacker News new | ask | show | jobs
by rantwasp 2014 days ago
that’s a non-argument. you can do the same with an EC2 instance. you know exactly what it’s gonna cost. it’s this fancy services with “elastic” pricing models that usually get you
2 comments

Sure, you know the price with renting one machine, and if what your doing is not a web app. But what about when you get way more network traffic than your app expected (I've seen HN submissions with exactly this)? And what if you built in some kind of scaling, automatically renting extra machines when you get traffic spikes? They have your card, you pay the $$$.
AWS services such as ECS Fargate let you specify an upper bound to the number of instances that can possibly be spawned.

There is even a default 'task limit' they enforce which we had to increase by sending an email request.

Typically though, as in the article above, it's the database service scaling that causes big shocks.

Rule of thumb would be to always ask if there is an upper bound to every cloud service one uses.

you can have auto scaling limits on ASGs on EC2. again, the technical solutions are there. it's a matter of learning how to use it properly
I don’t have any skin in the game here, but what if you don’t build auto-scaling, which keeps this comparison fair. How does pricing differ now?
The difference would be that for a prepaid service, you can build it in, knowing that once it eats through enough $, that's it; there is no more credit to take, power off the service. Whereas the billing by credit card, it will keep on going, and you can end up with these huge bills to pay.

But to answer your question (about AWS EC2 vs a DO droplet?), about other costs, you still have data transfer costs, which is currently:

AWS (for US East: Ohio):

Inbound: - first GB free - then $0.09/GB after (until 10TB, then you go to the next tier, paying a little less per GB.

Outbound - Well, I couldn't figure it out. The page was too complicated for me! (I think it's $0.01/GB? From this text: "Data transferred “in” to and “out” from public or Elastic IPv4 address is charged at $0.01/GB in each direction")

Source: https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer

DO: Inbound - free

Outbound Free tier: depends on which droplet and how long you keep the droplet powered on for, but for the cheapest $5/month powered on all month, you get 1TB free. After free tier: $0.01/GB

Source for Inbound: https://www.digitalocean.com/docs/billing/bandwidth/ Source for outbound calculator: https://www.digitalocean.com/pricing/bandwidth/

Anyone who understands it better than me (especially the AWS pricing), please feel free to comment, I'd genuinely be interested to understand it better; with the way it's documented, I don't really understand it very well.

Thanks for taking the time to dig in and reply! Yeah I was figuring it was networking where they would really get you.

The way AWS complicates their pricing to the point where it's hard to tell what you're on the hook for just comes across as so... shady to me. I understand what they offer, and which problems they solve, I just don't personally like doing business with entities like AWS.

No, I'm not building anything that really needs the scale of AWS, and yeah I guess that invalidates my opinion of it to a certain extent. I'm just a stranger throwing their voice into the void for fun and to learn new things :P

Inbound is free on AWS, outbound starts at $90/TB and goes down to $50/TB eventually.

Compare this to Hetzner where it costs EUR 1/TB and many server types include unlimited traffic at 1 Gbit/s.

I think the $0.01/GB you cited is region internal traffic which was sent through public IPs instead of private IPs.

yeah no. inbound is free on AWS.
There are other costs which can scale pretty high. The overpriced outgoing traffic is one. Certain APIs also charge per request or traffic. The S3 object storage is one example, databases like Firebase another. I believe most of the costs the OP incurred came from firebase and not the 1000 Cloud Run instances.
again. the comparison needs to be apples to apples.

it's true that outbound traffic does cost (and in theory if you do a lot of traffic), but the budget instances don't have that much bandwidth to start with. Also if you have a huge amount of traffic depending on what you do you might be better off with S3+cloudfront

Isn't outbound cloudfront traffic just as outrageously expensive as outbound EC2 traffic? My impression is that AWS is simply unaffordable when you have large amounts of traffic.
I tried to signup with a gift card and it was rejected.

I can attach a gift card to paypal and use it.