Hacker News new | ask | show | jobs
by nostrebored 1672 days ago
Paying for what you use, the peak of shady business practices!
2 comments

That's really disingenuous.

The complaint here is that Amazon offers a free tier supposedly for learning the platform, but it is a giant footgun that shoots a ton of people in the foot.

People are reasonably asking for hard limits to protect them from this highly foreseeable situation wherein a complicated cloud offering can go on a spending runaway.

It is literally as easy as following a beginner tutorial and selecting the database instance the tutorial uses and leaving it running. That could be a several hundred dollar mistake.

"Kill my service if I hit a billing limit" is a scary footgun as well, and one that could impact larger customers.

I don't think it's unreasonable to say that if you're using AWS you're taking on some responsibility to make sure you're not blowing up your bill. AFAIK you are automatically enrolled in emails that will tell you when you're about to exit a free tier limit, so it's not like they won't warn you.

Make it a clearly selectable option, explaining both downsides. Be vocal about it being selected if you want to.

But the thought that not immediately reacting to an e-mail can cost me a month's salary or more is terrifying. Maybe it'll get waived. Maybe it'll be waived in the form of credit that I can only spend on the product (i.e. for my purposes, not waived). Maybe I'll be stuck with it. The "maybe" is the danger here.

Let's say I put some obscure 50 MB dataset into a public S3 bucket, and pay my <1 cent per month to host it and like a dollar for each 200 downloads. Rarely does a month exceed a dollar or two, all is good.

Then someone builds a poorly made colab that downloads the entire dataset each time it is run, and the colab hits the front page of HN while I'm traveling, and makes it to social media the next day because it shows something funny. And people don't run it just once, they play with the parameters, running it multiple times.

By the time I'm back and see the e-mail, a 10000 USD bill may be waiting for me.

To obscure? How about this one:

The operator of a semi-popular website has decided to hate me. Each page load now contains an <img src=[my image]?t=[timestamp] width=1 height=1> in the header, pointing to the biggest image I'm hosting for my small static website.

Edit: Even better example

I've accidentally left an API key in a git repo that I pushed online. My carefully set up billing alert was deleted, then my account started spun up as many of the most expensive GPU instances as quota would allow and started mining Monero. In this scenario, I think a $10000 bill would be "getting off easy".

(Just to be clear, these are hypothetical scenarios. If anyone knows how various cloud providers would react to those in practice, or if you know that there are countermeasures that would reliably stop them, please do tell!)

Nobody is suggesting to make that the default uniformly across all AWS accounts.

It would be excellent for anybody intending to use the free tier for its stated purpose (getting to know the AWS platform) who would like to make the _choice_ to shut off their services if they are going to exceed the free tier quotas.

That way you are free to experiment, and if you blow up something while learning, you're not then leaning on the mercy of AWS support to refund you.

The free tier is not just for getting to know the AWS platform. I worked with customers hosting the entirety of their early applications on free tier services.

Playing around turns into production.

When your service goes down and you lose $XXXXXX revenue suddenly it's AWS's problem. AWS has taken the approach that keeps the lights on, assuming its customers understand their unit economics.

Right there at the top of https://aws.amazon.com/free/ is this:

  AWS Free Tier
  Gain free, hands-on experience with the AWS platform, products, and services
Just because you've worked with customers hosting in the free tier doesn't mean that all free tier users would or should choose to prioritize uptime over cost.
> "Kill my service if I hit a billing limit" is a scary footgun as well, and one that could impact larger customers.

Then make it opt-in but a highly visible one during account creation so that people who just want to test can enable it.

I think I set an alert recently on AWS emailing me if I surpass a limit that I set.

Have you checked out AWS console recently?

That's been a feature since AWS started. That isn't at all what I am talking about above.
Paying for what your users use, with no way to say no to the traffic, is exactly why billion dollar companies like Cloudflare exist - to protect people from "paying for what you use".

So yes, it is shady not to protect customers from that IMO.