I returned to AWS, and was reminded why I left
411 points
1 day ago
| 53 comments
| fourlightyears.blogspot.com
| HN
aljgz
4 hours ago
[-]
Years ago, I joined a company, took over a dev team and was asked to launch the product in 3 months.

They were using AWS, so I logged in the account to add a few more machines. Right there, in front of my eyes, were the signs of an adversarial, abusive relationship.

The UI to fire up a new machine did not show me the price. I had to look up the price in another table that did not have the specs.

I had to have the two tables open, cross check the specs and price.

If I had learned one thing from my past life was that if you see the signs of an abusive relationship, you have the option to walk out, and you don't, all that follows is your own fault.

Created a DigitalOcean account, moved everything over. Set up our CI/CDs to deploy there, and spent the next two months on the product, launching one month earlier than promised.

Some years before that I saw a video online where a person digs a hole near a river and puts a pipe connecting the river and the hole. The fishes push themselves hard in the pipe to get to their trap. Choosing the path of least resistance, and never backing off from a mistake: recipes to end up like those fishes. The video left a big impression on me.

reply
aurareturn
2 hours ago
[-]
Doesn't Amazon engineering culture have a very engineer-led product culture? Meaning, devs are often responsible for the UX and flow.

I remember many years ago we hired a junior developer who just finished his internship at AWS and he showed me the dashboard he shipped all by himself in the summer with no product or designer help. It looked horrible.

Some devs have a good product/UX sense but the vast majority are horrendously bad at UX.

My point is that maybe it was intentional, but just bad UX culture.

Edit: It wasn't intentional

reply
grogenaut
1 hour ago
[-]
I get why it's like this.

Some background. I work at an Amazon sub. This is a good UI for the way we work. We don't spin up a single machine pretty much ever unless it's a cloud dev machine, at which point the price is listed at startup on a custom internal UI. They should consider putting that UI in the ec2 console.

When I spin up machines I pick an instance class by looking through specs and the price chart and set it via AI into a cdk construct. Usually pick a relatively normal machine type digging through all the ilvarious enterprise discounts (which are not reflectedin the prices in the console). Then as I roll out or when I get resource limit alarms on the fleet I adjust the instance types. Or when accounting asks me about price. In those cases I usually look if it's worth it to optimize.

The enterprise discounts are a big consideration. Every year new hires make bad decisions because they don't know about the discounts. They wildly affect total cost. Some things are more expensive (lambda first few years), and others are very cheap so we dog food. The console price in no way reflects reality.

In 15 years we've had about 1k services stood up, around 700 are active. 2000 or total counting tutorials and tests. That means out of an eng org of 500, we've made those decisions maybe 10k times total.

That's how Amazon thinks about it as well. So yeah I agree that the UI isn't meant to be like one where your spinning up a host. I haven't spun up a single host in like 5 years, but I've made many clusters.

But that doesn't mean it shouldn't be better to work for a wider audience. Customer obsession and all

reply
voncheese
1 hour ago
[-]
> My point is that maybe it was intentional, but just bad UX culture.

This may be valid, but even if it is someone (or a group of people) at Amazon are violating one of their core leadership principles - Customer Obsession

https://www.amazon.jobs/content/en/our-workplace/leadership-...

A useful (and hopefully delightful) UX is key to showing customer obsession.

That being said, I personally feel the UX at Amazon sucks overall, not just for pricing/packaging but even getting basic shit done. So perhaps Amazon (or at least AWS) doesn't think a good UX is a key ingredient to demonstrating Customer Obsession.

reply
aurareturn
45 minutes ago
[-]
Maybe their customer obsession culture did not extend to their AWS department?

AWS services names are notoriously bad at communicating what they actually do: https://expeditedsecurity.com/aws-in-plain-english/

reply
hvb2
57 minutes ago
[-]
Just saying, you can be customer obsessed and still not have a good feel for UX...

Ask me how I know

reply
temp8830
2 hours ago
[-]
AWS UX isn't bad because engineers are bad at UX. It's because inside AWS it's every man for himself, and every team for itself. They don't collaborate, they don't talk, they compete to ship everything as quickly and cheaply as possible - quality, usability, and common sense be damned.
reply
AgentOrange1234
17 minutes ago
[-]
FWIW, my team in AWS had help from UI designers who were cool people that impressed me with their work. We definitely had to push through some needless organizational friction, e.g., they were in a different org and frequently got left out of meetings, whereas we should really have been acting as one team. I don't think we saw it as everyone for themselves, we really tried to make it work and had a good, trusting relationship.

In the end, our leadership changed what we were building so often that all of the UI work was scrapped long before we shipped. We ended up launching a janky console, quickly assembled by SDEs who were racing against deadlines. We skipped virtually all operational readiness work to meet the launch deadline. After claiming the launch win, the director, two managers, and the pm promptly left for other orgs.

reply
epistasis
2 hours ago
[-]
I would argue that the intentions don't matter at all, the end result is all that matters both for the buyer and seller. In systems design, it is often said that The Purpose of a System Is What It Does. Good intentions can produce very bad systems with bad outcomes, and neutral/bad intentions can create good systems that benefit everyone.

I think that applies both to Amazon's dev system and pricing system. From what I hear about the insides, alignment is chaotic neutral inside of Amazon, but that shouldn't affect how we judge the system itself.

reply
torginus
1 hour ago
[-]
Personally I think the UI flow is geared towards the idea that engineers don't really see the costs, they just build stuff and then management pays at the end of the month.

Often I see something that's supposed to be leaner - like Fargate is leaner than renting a whole server to run docker, right?

So it's cheaper as well? - Well, no.

Also if you reach any appreciable level of complexity, you should move to IaC - configuring all that stuff on the UI, and getting it right is torture.

reply
rowanG077
1 minute ago
[-]
A core part of an engineers job is including thinking about cost in what they do.
reply
loloquwowndueo
43 minutes ago
[-]
Engineers are not entirely cost-oblivious entities.
reply
aurareturn
32 minutes ago
[-]
They're not but if they don't talk to the pricing team, and most devs don't want to talk to business people, they'd never coordinate on where it makes sense to show pricing to customers.
reply
Y-bar
2 hours ago
[-]
Judging by how much things jump around on the screen when I navigate from one view to another I agree.
reply
parliament32
2 hours ago
[-]
That's one of the things I like about Azure, they don't overwhelm you with listing prices beside every individual item as you're creating it, but they seem to always present a price on things that could be expensive. It's a good balance, I have yet to be surprised by a charge.
reply
tcp_handshaker
2 hours ago
[-]
Using Azure in 2026 should be a firing offense. How many cross-tenant incidents are enough for you? In 20 years of existence of AWS ( since 2006 and S3 ) show me ONE with AWS ... and I will publicly eat my hat here...

"Azure’s Security Vulnerabilities Are Out of Control" - https://www.lastweekinaws.com/blog/azures_vulnerabilities_ar...

reply
bdangubic
1 hour ago
[-]
It should 100% be fireable offense if you have a choice
reply
andreashaerter
1 hour ago
[-]
> if you have a choice

I just read:

> If I had learned one thing from my past life was that if you see the signs of an abusive relationship, you have the option to walk out, and you don't, all that follows is your own fault.

so... :)

reply
jnovek
42 minutes ago
[-]
Regardless of whether the metaphor stands up, this is a horrible thing to say. Abuse victims are not responsible for the abuse they receive.
reply
e40
41 minutes ago
[-]
You’ve got to be kidding. Azure is 10x the dumpster fire that AWS is. I have used both.
reply
DANmode
37 minutes ago
[-]
They didn’t comment on the entirety, just the billing transparency.
reply
b40d-48b2-979e
14 minutes ago
[-]

    if you see the signs of an abusive relationship, you have the option to walk out, and you don't, all that follows is your own fault.
This is needlessly victim blaming and reductive. You're ignoring the dynamics of a relationship and how victims of abuse are often financially dependent on their abuser.
reply
DANmode
7 minutes ago
[-]
> [if] you have the option to walk out, and you don’t

Ignores nothing, and blames no victim.

It advises people to avoid becoming one when possible.

reply
ivan_gammel
2 hours ago
[-]
This is the only correct way to do it: choose infrastructure provider that can help you deliver. AWS is good, just not for everyone. It stands somewhere between services like Heroku and bare metal, abstracting a lot of maintenance, but offering some control over scaling architecture. Which means that as a cloud provider it helps to scale, not to build the cheapest and simplest setup possible. If you have VC money and pitch growth, AWS might be a safe choice - 2 years of startup credits they offer via accelerator programs help you not to bother too much about your infra budget and build first 18 months before you start optimizing spending (and then you know it, have good forecasting etc). If you are bootstrapped or indie developer, choose what you can afford and choose something simple. Hetzner, DO etc will work fine.
reply
chuckadams
3 hours ago
[-]
AWS actually has a pretty good price calculator with some decent presets (but FFS, can I have an "uncheck all" button?) but of course it's an entirely separate app. Amazon naturally wants some friction to having this pricing information handy, though I suspect the main reason has to do with Conway's Law: AWS still ships their org chart.
reply
zsoltkacsandi
3 hours ago
[-]
I agree with you at some degree, but I would like to point out that AWS pricing is much more complicated that you can calculate how much will you pay from a static number showing up on the UI.

If it bothers you that you need to open two tabs for cross-checking the costs, you may want to avoid every cloud provider, not just AWS.

Once you have NAT gateways, CloudFront, S3, auto scaling, loadbalancers, etc, calculating the cost becomes an art rather than an exact science. And if you don't use these, there is no point of using AWS, there are plenty of "cheap" VPS providers.

reply
PLenz
3 hours ago
[-]
If they can charge me for it then they can calculate it and show it to me. Anything else is obfuscation.
reply
whs
1 hour ago
[-]
I think AWS billing is quite complicated that they probably don't even know what did you get charged specifically for this machine.

You might have leftover reserve instance that applies, which make the listed price inaccurate. That reservation might even be in a different AWS account in the same organization that you don't have access to. That reservation might not even be there between the time you quote and the time you actually launch it if someone/something did launch before you.

Your organization might also have discounts. I believe some discount may also be very confidential. For example, my reseller policy is that the customer must not be able to see AWS Billing in the organization root account as supposedly the price in that console are the price AWS charged the reseller, while we pay listed price minus any discount we negotiated ourselves.

Finally, I suppose they don't want to have prices shown in multiple places as they will need to update it when prices changes. Doesn't want to risk forgetting one place and getting sued for it. You can see that AWS documentations often do not want to mention the price at all, even if that price is currently free.

Chinese clouds kinda make this simple by making reservation part of the buying machine itself - you have to mark that particular machine as monthly/yearly committed when you start it (or convert it later). The complicated part is recycling instances - if you delete a server before its reservation ends it ends up in a recycle bin that you need to look before making new reservations.

reply
zsoltkacsandi
3 hours ago
[-]
They don't know in advance how much bandwidth will you use, how much traffic will you have, what auto-scaling rule will it trigger, etc. It's not obfuscation, it's billing based on your usage. And as with everything in life, there are tradeoffs.
reply
eptcyka
2 hours ago
[-]
Give me a slider for bandwidth used or a formula where the variables are abstracted away. If a computer can tell me how much I owe, a computer can be made to show how it came to it’s conclusion.
reply
mikeyouse
3 hours ago
[-]
Sure, but providing estimated costs based on reasonable pricing buckets alongside the options to add the new machine is something that every other vendor manages to do..
reply
timr
2 hours ago
[-]
...and AWS does it too. I can go right into an account and see an estimated cost per hour, and even pre-pay at a fixed discount for longer terms if I want to. They tell me right there what it will cost. They do this for everything that is reasonably a "fixed cost", like CPU time.

They cannot predict what my bandwidth consumption will be, or other such variable costs. For those, they tell you rates.

reply
Capricorn2481
1 hour ago
[-]
No it's pretty bad. They show you the cost after all the resources are set up. Even setting up an ec2 instance, a really basic use case that has a fixed cost based on size, you have to go Google it and find their ec2 pricing table. It would take no space to just put the price per hour in the drop-down as you're picking an instance. But no, they obscure it on purpose.

That's just for ec2. Everything is like this. Super awesome when you're being brought onto a new project and trying to estimate costs for your client. And let's not forget the little tiny things that should cost nothing. A NAT gateway with no redundancy is $30/mo. That's a fun surprise.

reply
sillyfluke
2 hours ago
[-]
Now explain why they don't have a killswitch for a user defined spending limit.
reply
simondotau
2 hours ago
[-]
IMHO it should be illegal to force consumers to have an infinite spending limit on a post-paid service with consumption charges. If I want to cap my unpaid expenditure at any amount, I should be legally entitled to do so.
reply
nostrebored
2 hours ago
[-]
How many real applications actually want this behavior? AWS is not built around hobbyist needs. It’s built around being a platform to run most shapes of production use cases.
reply
pixl97
1 hour ago
[-]
I mean, by the number of people that end up with 100,000 charges in a few hours posting on HN, I'd say a lot more than you're giving it credit for.
reply
sillyfluke
53 minutes ago
[-]
This has been a feature request since AWS was a thing.

>AWS is not built around hobbyist needs

Yes, as if no startup teams are tasked to remain within hard spending targets when they're trying to build a POC with technologies that they are not initially experts in.

reply
Capricorn2481
1 hour ago
[-]
I don't think companies want their bill run up either.
reply
lukeschlather
51 minutes ago
[-]
It's very common for companies to have a $1M/year contract that depends on $100k/year in AWS resources. (and maybe they have 3+ such contracts.) They could lose a contract if their account gets shut down for nonpayment, it's hard to say how much of an overage they would prefer to having their account suspended, but AWS is optimized for these kinds of customers where every dollar spent on hosting drives some multiple of revenue.
reply
zsoltkacsandi
2 hours ago
[-]
You can set up cost-based alerts (actual or forecasted) that send notifications via email or SNS. Based on this you can set up automations, such as applying an IAM policy to prevent further resource creation, shut down resources, etc.
reply
tomrod
3 hours ago
[-]
Price simulators are fine. They also know the distribution of use. They can do cost plus pricing (many cloud providers do). You're defending deliberately obfuscated pricing when it need not be obfuscated.
reply
mlhpdx
1 hour ago
[-]
As I read through these comments I’m thinking about the dynamic range of AWS customers: from my little hobby account to my business account to some hyper-scaler’s account.

I think about the diversity in usage patterns: from generating giant video stream broadcast somebody trying to calculate yet another digit of pi. It’s wild.

Is true, probably, that AWS doesn’t know how much anyone’s use case will cost (even when it’s yet another version of something we’ve seen before). Too many variable.

If only there were some kind of software with a text based, natural language interface that we could ask a question like “how much would it cost to do XYNZ on AWS?”

reply
zsoltkacsandi
2 hours ago
[-]
> Price simulators are fine.

Yes, as long as you do not have seasonal traffic, auto-scaling, spot instances, burstable instances, saving plans, reserved instances, floor/custom pricing, etc. These are tools to optimize your spendings and spend less if you know what you are doing.

> defending deliberately obfuscated pricing

A bit contradictory that price simulators are fine, but then the pricing is deliberately obfuscated. Then which one?

reply
windexh8er
2 hours ago
[-]
I don't think your comment hits like you think it does. I think your intent with "cheap" implies some level of being lesser. In my experience that is not the reality. Similar to opp I migrated a startup from 5x cost in AWS to DO years ago. In fact that "cheap" competitor was able to give them better performance, more reliability and more features for a lot less.

AWS is almost never required and almost never the best option. It's the Cisco of options, it's often the default but for no good reason other than someone on the team probably knows enough about AWS to make it work.

Almost every startup I've worked at has leveraged AWS as their primary but when not they end up using AWS for something. And in every startup there's always contention with AWS spend and all of these startups invest significant time and, funny enough money (via cost savings products or consulting), to reduce their AWS bill. And yet, they never seem to try anything else. Doomed to the cyclical cost savings cycle. Amazon knows this and the UI/UX is designed to keep companies in this money burning loop.

Finally, AWS isn't a silver bullet. For anyone in us-east-1, you know [0].

[0] https://mashable.com/article/amazon-web-services-outage-may-...

reply
callmeal
59 minutes ago
[-]
>If it bothers you that you need to open two tabs for cross-checking the costs, you may want to avoid every cloud provider, not just AWS.

On Google cloud compute, the ui shows an updated 'cost' as you start building your machine.

reply
aljgz
3 hours ago
[-]
Not showing the price was not "my problem". It was the sign of a product packed with traps, footguns and all kind of things that would go wrong and the blame goes to the user.

No thank you

reply
mlhpdx
1 hour ago
[-]
I’m not sure I understand. AWS has detailed pricing information for each service.

I’ve never felt surprised by pricing. Cost has been surprising, but that happens when usage is surprising in my experience.

reply
Capricorn2481
1 hour ago
[-]
In completely unrelated pages to where you setup resources, yes. Ec2 pricing is in a random doc disconnected from the AWS console.

They absolutely could to you a base price on the ec2 setup page, but they don't. And I have been absolutely surprised by pricing. Services that do almost nothing could cost more than your ec2.

reply
mlhpdx
59 minutes ago
[-]
Not unrelated pages. All AWS pricing is and has been for a very long time posted on predictable pages alongside the service marketing and documentation. The console is the console. I, for one, don’t want to see pricing in the console or in cloudformation or CDK documentation — because if in one then in all, right?
reply
zsoltkacsandi
2 hours ago
[-]
> It was the sign of a product packed with traps, footguns and all kind of things that would go wrong and the blame goes to the user.

I spent 5 years optimizing spendings on AWS at various companies. Yes, it does come with traps and footguns. On the other hand if you know what are you doing, there are plenty of tools to optimize your spendings with RIs, saving plans, auto-scaling, etc, and spend less than the list prices.

Based on my experience AWS for the companies that can afford to pay surprise bills out of pocket if something goes wrong.

reply
epistasis
2 hours ago
[-]
Everything you describe is reinforcing the point of the person you are responding to.
reply
hypeatei
2 hours ago
[-]
So this project had a three month timeline and provisioning the cloud resources maybe took an extra hour or two because of crosschecking? I actually prefer the dedicated calculator pages and product pages because it gives you more insight into how things are billed. I think this is a strange thing to get hung up on, IMHO, especially as a lead / manager of developers.
reply
tcp_handshaker
3 hours ago
[-]
>> The UI to fire up a new machine did not show me the price. I had to look up the price in another table that did not have the specs.

This is false. The price shows up right away when you select a machine. I dont work for AWS...

reply
Capricorn2481
1 hour ago
[-]
You can upload an image to imgur and show us. I don't see this.
reply
nullstyle
2 hours ago
[-]
Not back when i was using AWS
reply
Lucasoato
3 hours ago
[-]
> They were using AWS, so I logged in the account to add a few more machines. Right there, in front of my eyes, were the signs of an adversarial, abusive relationship.

> The UI to fire up a new machine did not show me the price. I had to look up the price in another table that did not have the specs.

I don’t want to be the one defending AWS, but I don’t think that this is a valid reason not to like them. I mean, pricing depends on so many factors like reserved/dedicated/spot/on-demand instances have all different prices.

I don’t even think that using the UI to spin up the machine is the right way to do that in an enterprise setting, you should always do that through Infrastructure as Code, to know exactly what you have up and running, just by looking at that as you would with any program. I’d suggest to use the UI for simple testing, for which the costs are often (but not always) negligible.

Jeff Bezos if you see this please send me some cash.

reply
whateverboat
3 hours ago
[-]
I must disagree so heavily with you here. Prices can depend on so many factors, but.... when that particular account is choosing that particular machine, AWS knows what it will cost, and they can show it to them dynamically. It's very difficult to be convinced in this day and age that you cannot have a dynamic price chart right beside the machine sellector which is showing or calculating prices in real time for that particular product.

About using IaaC to set-up the infrastructure, sure, but sometimes you just need to browse stuff before actually writing code to get a feel.

reply
bulletsvshumans
3 hours ago
[-]
They absolutely could calculate and put the price in the UI if they wished to. Other cloud vendors do.
reply
mlhpdx
1 hour ago
[-]
For which services?

Let’s look at Lambda for a second. Deploying a lambda function to AWS costs literally nothing. And yet, depending on how it’s used, it can cost an infinite amount of money. Which price should it show?

There are far more sevices like Lambda than EC2.

reply
finaard
3 hours ago
[-]
I've been in a similar situation - a surprising amount of companies really just click to create instances. Last time I've encountered that at a customer I improved things a bit by creating templates, and scripting instance creation based on those templates - but ideally we'd have had the templates themselves as well as the network side generated by ansible.

But that's the problem: The complexity of doing that properly is pretty much the same as just doing your own hardware (which is what I'm working with most of the time - handling stuff on physical servers). And at that point the question should be why you're paying AWS so much money and pay your people to automate AWS workflows when you could just pay them to automate workflows on physical hardware, which would be way cheaper to run than the AWS instances.

reply
lr1970
3 hours ago
[-]
> pricing depends on so many factors like reserved/dedicated/spot/on-demand instances have all different prices.

Or you can have your own negotiated private pricing which is a whole different story in itself.

reply
evilduck
2 hours ago
[-]
> I mean, pricing depends on so many factors like reserved/dedicated/spot/on-demand instances have all different prices.

If they know how to bill you then they obviously know how to consider and calculate all of these factors, they just choose not to show you up front.

reply
lambda
3 hours ago
[-]
Tell me how I can easily determine the price from my IaC deployment as well.

Heck, I even have a hard time telling the price I pay on an account by account basis; because we have savings plans, those get charged against the root account and then I see $0 spent on EC2 in the individual account because it's all covered with a savings plan.

And when I'm putting together that IaC and trying to decide which new instance type to upgrade to, I have to dig through multiple confusing interfaces to figure out that what I want is to upgrade from m8a.4xlarge to c8a.8xlarge and how much that is going to cost me.

reply
mlhpdx
1 hour ago
[-]
In cost explore, on the right hand side where filters appear, click the “more” button at the bottom then the first option that appears (which is “charge type” or something like that) and select “usage”. That will give you a view of what you’re using regardless of the savings plan, etc.
reply
swasheck
3 hours ago
[-]
the pricing “API” is also a joke so it’s not like they have tried pushing people to apis and away from the console.

i just use vantage (https://instances.vantage.sh/) now. their api is functional and reasonable.

reply
richwater
3 hours ago
[-]
The faster people realize AWS hates the need for a UI, the better.

It should really be a read-only layer for metadata and logs.

reply
mlhpdx
1 hour ago
[-]
At this point I’m not using the UX much if ever. Everything I’m doing is via IaC or the CLI. It’s made working with AWS really smooth.
reply
sudosteph
3 hours ago
[-]
I'm with you. Nobody serious uses the UI to make changes with AWS. At the very least, use the AWS CLI. IaaS is the norm though.

I'm tired of people acting like complex infrastructure tooling is adversarial because it's not completely intuitive. Infrastructure is hard. AWS can give you tooling and docs with patterns to follow, but they can't read your mind. Neither can the PaaS providers - they just make choices on your behalf and hope it won't matter to you.

reply
esseph
2 hours ago
[-]
> I'm with you. Nobody serious uses the UI to make changes with AWS.

This is still hugely prevalent at some of the largest companies in the world

reply
mlhpdx
1 hour ago
[-]
Not hugely, perhaps not even prevalent, but present, yes.

I get to see how a lot of companies use AWS. The console does make its appearances, but less and less often these days.

reply
tailscaler2026
28 minutes ago
[-]
Anyone considering leaving AWS and thinking they'll transfer all their data for free [1], I've got news for you: It's a lie.

AWS takes as long as possible (for me it was a month) to respond to the initial DTO request, then require you to submit a multi-page form answering a barrage of questions about why you're leaving, where you're going to, what services you used, and estimated data egress. A week or so later, if they approve the request, you're not allowed to begin DTO until 60 days after the approval.

By the time you can egress your data for "free", you've been stuck on AWS for 3-4 months since you first made the decision to leave.

[1] https://aws.amazon.com/blogs/aws/free-data-transfer-out-to-i...

reply
Galanwe
16 minutes ago
[-]
These arguments against AWS are boring. 99% of the negative comments are along the line of "so i have a dead simple product, I dont know anything about AWS, I logged in and it was super complicated and it seemed pricey".

Well guess what, if you have a CRUD website and 100 users you're just not the target. Move on.

Some days ago I wanted to sketch a 3D model of my TV remote. I opened blender and what a mess of complicated windows and panes. I closed it immediatly. Do I think Blender is an over complicated mess? No, I just think I'm not the target. And I'm not offended to be too noob to use it.

reply
anymouse123456
1 minute ago
[-]
I agree, this is a common story and your point stands for some significant percentage of the complaints.

It should be made clear though, that some of us helped spend many millions in obviously wasteful on-prem infra in the nineties, bought into AWS wholeheartedly when it came out, fought through the ignorance, developed the ability to deliver highly scaled applications on the platform over many years and at least some of us still carry those same beliefs:

- It's more complicated than it needs to be

- It's more expensive than it should be

- Pricing is more opaque than it should be

Meanwhile, the cost of other options (including self-managed, on-prem infra) has fallen massively since those early days of AWS.

reply
pier25
1 minute ago
[-]
Maybe but that doesn't mean that the AWS console isn't a royal mess.
reply
smallnix
11 minutes ago
[-]
The main issue with account suspension is not boring to me.
reply
tedivm
4 hours ago
[-]
> AWS stomped on open source projects - despite the clear desire of projects like Elasticsearch, Redis, and MongoDB not to be cloned and monetized, AWS pushed ahead with OpenSearch, Valkey, and DocumentDB anyway, capturing the hosted-service money after those communities and companies had built the markets; the result was a wave of defensive licenses like SSPL, Elastic License, RSAL, and other source-available models designed less to stop ordinary users than to stop AWS from stripping open-source infrastructure for parts, owning the customer relationship.

This is completely backwards, at least with OpenSearch and Valkey. AWS didn't create the forks until after the upstream projects changed their license, so it's really weird to say that the forks "resulted" in the license changes when those forks where a response to the license changes. With Valkey in particular it was members of the former redis core development team that created Valkey.

reply
hankerapp
4 hours ago
[-]
A lot of these projects work on a business model where they open-source their core product, and provide advanced services, installation, maintenance or fully-managed services around their product. AWS was bypassing them by providing fully-managed services. On this, I am on the side of the people behind the projects. Basically AWS was eating their lunch. They had no choice but to change the licenses.
reply
rpdillon
4 hours ago
[-]
They have a problem with their business model, then. License changes to a formerly open source project are costly. The community reacts very strongly when license terms change after they've come to depend on a product, and they should.

Why do we apply this standard to MongoDB but not to Apache, Linux, Postgres, or MariaDB? One purpose of an open source license is to allow many providers to provide the service. As I've talked about here previously, Elasticsearch wasn't able to provide the service I needed, so I had to move to AWS.

It's weird to me that the Hacker News community doesn't think that sort of competition is good. The narrative seems to be that all these businesses are somehow victims of AWS, when it seems the truth is much more straightforward: they provided open source software and people used it. The fact that their business had no working plan to actually monetize that foundation should not be taken out on the community.

reply
ipaddr
3 hours ago
[-]
Competition would mean Amazon creating their own software. Taking software others made and using your monopoly eco-system and scale to drive the original creator out of the game kills the product.

Many support breaking up Amazon so others could compete not killing small entities and growing Amazon.

reply
jeremyjh
27 minutes ago
[-]
They knew what they were doing. They released OSS to build traction and a community. In some cases, the community contributed quite a lot to the quality of the software - even if not a lot of code. It never would have gained any traction or interest from enterprise buyers without that. Then that valuable software they had already given away was used to build a business that couldn’t create enough value on top of it.

The only people with any justification for hurt feelings are the community contributors.

reply
skinfaxi
3 hours ago
[-]
> Taking software others made and using your monopoly eco-system and scale to drive the original creator out of the game kills the product

They took software that others gave away for free without restriction and did what they wanted with it. It took time but the community figured out this exploit path and patched it in subsequent license versions.

reply
kikimora
58 minutes ago
[-]
Original creator business model relies on extracting free labor from community. It backfired and they changed the license. They abuse contributors by betraying their trust and changing the license after AWS abused their business model. No good guys here.
reply
rpdillon
3 hours ago
[-]
It's not just Amazon, it's also smaller providers like Dreamhost, which I've been using for 20 years. I feel like people are in favor of killing the hosting ecosystem so that we can support businesses that didn't have a working plan to monetize their open source offering.
reply
ThrowawayR2
2 hours ago
[-]
That's a risk they knowingly chose to accept when they opted for FOSS licensing. It's not as if people hadn't asked "Well, what if another party tries to fork our open source code for profit?" all the way back when FOSS was starting to gain traction in the 1990s.
reply
pessimizer
1 hour ago
[-]
OSS licensing.

Free Software was designed to avoid this, and has become stricter as the technology changed. Open Source was deliberately designed to thwart this. The entire intention of it was to allow businesses to resell work that was done for free. When you fork Free Software, your fork is also Free Software.

reply
andrepd
2 hours ago
[-]
There's a lesson there then, isn't there? Use GPL
reply
jlokier
1 hour ago
[-]
The GPL has no effect on this issue. For service providers like AWS, who provide the service not the software, the GPL doesn't require them to do anything differently than with more permissive licenses.
reply
temp8830
50 minutes ago
[-]
*AGPL
reply
swasheck
2 hours ago
[-]
agreed. i’m no aws apologist but if you’re going to try to monetize open source and then complain when someone else does it more efficiently/effectively, it really feels disingenuous. “we were going to do that, but they got there first. it’s not fair.”

i’m only familiar with the postgres side, but it seems like a more nuanced view of this debate would be to discuss aws monetizing open source relative to their upstream, community-beneficial contributions.

reply
cyanydeez
3 hours ago
[-]
Walmart pulling up top a small town, opening a single business, paying everyone minimum wage is not 'competition is good'.

Just try a little bit of understanding.

reply
rpdillon
3 hours ago
[-]
This feels close to "felony contempt of business model".

https://www.eff.org/deeplinks/2019/06/felony-contempt-busine...

We are supportive of 3rd party ink cartridges, and there's little concern for the business model of the printer manufacturers. We instead care about the rights of the folks using the printers.

With Postgres, no one bats an eye that there are thousands of hosting companies providing Postgres as an offering, and they give nothing back to the project. Same with Apache, Nextcloud, Linux, Nginx, Sqlite, and thousands of other pieces of open-source software. Are folks against hosting companies like https://yunohost.org/?

It's only when (1) the software is open-source, and (2) the entity behind it doesn't know how to sustain itself with open-source, that we suddenly change positions and view the project as a victim. This doesn't happen with printers, it doesn't happen with other open source software. I'm not even against a change in the license, but claiming that AWS is evil for doing this doesn't track.

reply
gobdovan
3 hours ago
[-]
A lot of those projects are not companies selling software. They're effectively public infrastructure projects, often governed by non-profit foundations or community institutions.

Also, many of them predate hyperscalers and developed governance/economic structures that make them harder for AWS to capture or destabilize, whereas AWS free-riding a vendor-controlled project can destroy the economic engine sustaining the project itself.

Quite ironically, the only example from your list that doesn't predate hyperscalers (Nextcloud) is fundamentally a self-hosting/federation product. It exists largely as an alternative to hyperscaler-native platforms, not as a cloud primitive AWS can easily commoditise into its own stack.

So, treating PostgreSQL, Linux, Elasticsearch and Nextcloud as interchangeable "open source projects" ignores the completely different institutional and economic realities behind the projects.

reply
rpdillon
2 hours ago
[-]
Indeed! I just don't think it's on Amazon to fix those institutional and economic realities when they decide to host a project that people find useful.
reply
tonyedgecombe
3 hours ago
[-]
Maybe it is for the consumer. When Aldi opened in my nearest town my food bill dropped by 20%.
reply
gobdovan
2 hours ago
[-]
That's the desired outcome of competition but the effects can go all over the place and the second-order effects in fragile towns can matter more than the price drop. As an extreme example, some people may lose their jobs, local spending may fall, some small shops may close and Aldi may pull out too, so everybody loses (here's [0] as an approximate example).

Usually a community can tolerate changes only when it's not already near the bottom. When you're near the bottom, almost any destabilisation can kill your little system.

[0] https://www.fox32chicago.com/news/aldi-closes-west-pullman-c...

reply
cyanydeez
31 minutes ago
[-]
Aldi is a grwat example of a socially discipled capitalism.
reply
surajrmal
3 hours ago
[-]
Arguably the town is at fault for choosing to permit Walmart to open in their town in that analogy. If you want to control the negative externalities of capitalism you can't just expect to not provide regulations and hope things will work out.

Even if it weren't AWS, someone else with enough determination could use the same open source code to create a compelling alternative taking away business from the original authors. Trying to use social norms to make people not do that is not effective. You need mechanisms that can be enforced via legal procedures to be effective.

reply
cyanydeez
29 minutes ago
[-]
the grift economy is demonstrating that throwing money is all you need to do to get a permit.
reply
mpyne
2 hours ago
[-]
> They had no choice but to change the licenses.

Then why did they advertise themselves as open-source efforts when they weren't? They should have been the best possible providers of managed service offerings given they wrote the software they'd be managing, no?

Why are monopolies OK here but not elsewhere? Choosing a hard-to-win business model is not supposed to be a choice that guarantees you business income.

reply
skywhopper
3 hours ago
[-]
Just because they picked a bad business model doesn’t mean they deserve to avoid competition. Don’t give away your source code if you don’t want someone else to provide hosting.
reply
harrall
3 hours ago
[-]
You’re not wrong but if people didn’t, all our companies would be using Oracle and Microsoft SQL Server and paying Larry Ellison instead today.
reply
mpyne
2 hours ago
[-]
PostgreSQL is doing fine even with AWS having a multitude of hosted offerings.

Maybe the business model / community-governance model does matter after all...

reply
petepete
1 hour ago
[-]
PostgreSQL doesn't have a pro/officially supported version though.
reply
ceejayoz
4 hours ago
[-]
> it's really weird to say that the forks "resulted" in the license changes when those forks where a response to the license changes

But those license changes were a response to how AWS was monetizing their work in ways unsustainable for the upstream projects.

reply
embedding-shape
3 hours ago
[-]
> But those license changes were a response to how AWS was monetizing their work in ways unsustainable for the upstream projects

Or seen from the other side, these projects chose initial licenses that didn't fit with their wants for how others should use their project, in this mind.

If you use a license that gives people the freedom to host your project as a service and make money that way, without paying you, and your goal was to make money that specific way, it kind of feels like you chose the wrong license here.

What was unsustainable (considering this perspective) was less that outside actors did what they were allowed to do, and more that they chose a license that was incompatible with their actual goals.

reply
ceejayoz
3 hours ago
[-]
The situation changed. A license that's the right choice at one point may not be the right license a decade later.
reply
ncruces
3 hours ago
[-]
That's fair, but forking the FOSS version is also an adequate response.
reply
ceejayoz
3 hours ago
[-]
Yes. But so would financially contributing to the folks who did the work.
reply
ncruces
8 minutes ago
[-]
Sure.

Since they're a for profit entity, they'll do whatever they think offers the best cost/benefit.

reply
chii
2 hours ago
[-]
If those folks wanted money for their work, they should be charging a price for it.
reply
ceejayoz
2 hours ago
[-]
That’s what they eventually did, yes.

But it’s ok to be voluntarily grateful for hard work.

reply
embedding-shape
3 hours ago
[-]
Agree, as long as existing contributors agree the license should be changed, projects should feel free to do so, no harm, no foul.
reply
tonyedgecombe
3 hours ago
[-]
I’m not sure any open source license is going to help when you can ask Claude to clone an application in the language of your choice.
reply
pessimizer
1 hour ago
[-]
If Claude looks at the code when it does it, then you can still sue them. I don't think there's a "Claude Clean Room" product that trains on everything except the code you might be accused of copying.

I can't just translate Harry Potter to Spanish and sell it.

reply
ceejayoz
26 minutes ago
[-]
reply
jgalt212
4 hours ago
[-]
Yes, this was my impression as well.
reply
hedora
24 minutes ago
[-]
First amazon was abusive. They abused their monopoly position to gain market dominance over upstream and didn’t contribute back monetarily or with code.

Next, upstream responded with a license change, then amazon escalated with the fork.

reply
2ndorderthought
3 hours ago
[-]
Sometimes I wonder how much it would hurt Amazon to pay the creators and maintainers of OSS software they sell 1 cent per billing period of use(1 hr?). I also wonder how much money that would offer an oss team. To contribute risk free to improving the product
reply
richwater
3 hours ago
[-]
I think you would be surprised how many commits in OSS comes from paid workers of the various cloud companies and tech companies out there.
reply
paulddraper
55 minutes ago
[-]
You’re reading “cloned and monetized” as “forked.”

But in context, it means “cloned/downloaded and offered as a hosted service.”

The fork came later, after the defensive license, which was in response to the clone+monetized hosting, eg ElasticSearch.

reply
tcp_handshaker
2 hours ago
[-]
I lost my sympathy for many of the open source projects philosophy, the first time I sent a patch to Redis, one of the committers took as its own, never replying to my messages, and patched it in its name. They deserve Valkey.

And I still remember JBoss and ahole Marc Fleury ...

reply
stavros
4 hours ago
[-]
Of course AWS didn't create the forks until the projects changed their license to disallow AWS from making money from their code! That's the whole point here.
reply
jasonlotito
3 hours ago
[-]
When they changed their license, they were no longer open source. They could have chosen open source licenses such as the AGPL, but they did not. They were a non-open source company at that point, and AWS was putting out a product build on open source. Simple as that.

Redis was not an open source company when AWS moved to Valkey.

Companies are free to license under the AGPL if they want. Or other open source licenses.

Sorry, but non-open source companies aren't getting sympathy from me because they are hating on open source projects.

reply
stavros
3 hours ago
[-]
These were open source projects that had to change licenses away from open source because of AWS. I'm not sure how the OSS companies are the bad guy here.
reply
sokoloff
3 hours ago
[-]
I think there's plenty of room for people to object to the "had to change licenses" framing. They chose to change licenses, same as they chose the original license.

That original license probably helped them with goodwill and to gain a community; when those benefits no longer exceeded the downsides of using that license, they changed licenses to one that suited them better.

Naturally, this change costs them some amount of goodwill, a portion of the very goodwill that they harvested by choosing an open-source license in the first place.

reply
stavros
2 hours ago
[-]
I don't see this as an issue with the company. They were happy to release their code as OSS, as long as that allowed them to make enough money to develop the software. It was a win/win, and them AWS came and took advantage of that.

If you leave some apples at the side of the road, with a sign "$1 per apple" or whatever, and people largely pay enough for you to continue to pick apples, that's great. If someone starts coming every day and taking the entire crate, I don't blame you for discontinuing the convenient apple sales, I blame the thief.

reply
sokoloff
2 hours ago
[-]
In this allegory, did AWS take all the apples in the crate while paying them $1 for every apple, thus becoming the bad guy?
reply
stavros
2 hours ago
[-]
No. It took the entire crate and paid nothing.
reply
sokoloff
2 hours ago
[-]
I think there's a massive difference between "paying what was required by the offer" and "paying less than was required by the offer" and only one of them makes you a thief.
reply
stavros
2 hours ago
[-]
I think there's a massive difference between the letter of the law and the spirit of the law, and saying "but the letter of the law didn't say I couldn't!" doesn't make you any less of a thief.
reply
paulddraper
50 minutes ago
[-]
This analogy falls apart because there wasn’t a price for the software.

It’s like someone said “free whole apples, or $2/lb for sliced apples.”

And someone came, took all the whole apples, cut them, and sold them themselves.

reply
stavros
43 minutes ago
[-]
Sure, but presumably you can engage with the spirit of the analogy?

Let's be pedantic, and say someone gave apples away in exchange for donations, and when everyone only got a few apples and donated, things are fine, but then someone decided they can just take all the apples and sell them elsewhere.

Is it the fault of the first guy for not offering free apples any more, or is the second guy why we can't have nice things?

reply
paulddraper
32 minutes ago
[-]
The donation example tracks.
reply
raffraffraff
1 hour ago
[-]
I always smile at posts like this. They're right and wrong at the same time. Systems should be "as simple as possible, but no simpler". And thinking that you can gloss over the detail is just going to create more hassle later on.

IAM is just complex. I can't think of any implementation of "users, groups, roles, policies, identity providers, oidc" that is truly simple.

I'm reminded of a guy I worked with, who fought against Kubernetes adoption because it was "too complex", only to slowly reinvent Kubernetes badly, adhoc, out of vault, consul, systemd, nomad, iscsi, ansible, jenkins, puppet, bash, spit, glue... making lots of mistakes along the way. You think you don't need to implement some feature until you do.

Another thing I'll say about AWS (having been the sole infra guy at a few startups) is that it's well within most people's abilities to learn it. And you can usually avoid the shitty stuff. You think lambdas stuck? Don't use them! You could use EKS, ECS or bare EC2.

reply
Aperocky
1 hour ago
[-]
Some internal perspective - IAM has maybe thousands of options but fundamentally it is "what does this role have access to doing (action + resource)" + "who has access to this role". That is really it from a 10k foot level.

IAM is great because it applies internally just like it does externally. The internal AWS team don't get more access than you do, and if we get access to do certain thing on your account to perform specific service that's because you have a service principle in your IAM trust relationship that allowed us access, that you can see, and audit. For instance, lambdas have lambda role because you don't want lambda service just reading your S3 buckets because "we're AWS we automatically get access", you can absolutely see and control access, even if it is internal to AWS.

reply
paulddraper
43 minutes ago
[-]
> that's because you have a service principle in your IAM trust relationship that allowed us access

That’s why it’s so complicated!!!

I don’t understand how I should evaluate trust for your internal EBS org versus your internal ALB org.

I kinda just expect it to be all “AWS” trust.

And it’s all garbage anyway. There’s no way I can prevent the hypothetically untrustworthy EBS team from surreptitiously adding charges to my account if they want to. Right? This would maybe make some sense if I could top level turn off/on services, but that isn’t how it works.

I have no doubt this makes some sense from someone inside the machine, but from the outside it’s not helpful nor useful.

reply
hedora
17 minutes ago
[-]
IAM is unnecessarily bad. I recently had to set a trivial policy, and was doing it correctly.

The console kept warning me that I was giving root AWS access to my external application because they want people to use the locked in AWS path, and I was running off cloud.

On top of that, they break copy paste on the web console, so you can’t just ctrl-c ctrl-v and then ask Claude to explain their WTF-ery. Instead, you have to OCR or send a PNG.

I honestly did not think they could make IAM worse, yet here we are. Bastards.

reply
le-mark
1 hour ago
[-]
> fought against X adoption because it was "too complex", only to slowly reinvent X badly

This is a surprisingly common pattern in technology and software. Some things are definitively the “standard” at this point yet so many people simply refuse to spend the time to properly learn them.

reply
ipsento606
53 minutes ago
[-]
> This is a surprisingly common pattern in technology and software. Some things are definitively the “standard”

It is also a surprisingly common pattern to adopt very complicated solutions for applications that are never going to need them

ultimately it is not possible to come up with a "standard" that is an acceptable replacement for good judgement

reply
cyberpunk
1 hour ago
[-]
Another point is that while it can be more expensive than self hosting, the savings are dwarfed by the engineering costs. A decent infrastructure engineer working for 2 man months on your “money saving” ovh setup costs you more than you can possibly save by not just using fargate or rds whatever.
reply
noprocrasted
42 minutes ago
[-]
But unless you're on a PaaS, you have "infrastructure engineers" already. So why not at least let them make back their salary by making them built a cost-efficient infrastructure?
reply
izacus
25 minutes ago
[-]
This is rarely actually true but it's a common falsehood told by people who have financial interest of keeping everyone on AWS.

And that includes engkneers that only know how to use AWS and are terrified at having to learn something else.

reply
mavsman
5 minutes ago
[-]
This title sounds like an employment experience post: "returned to" and "left" both pretty strongly insinuate joining AWS and leaving employment, not simply using it as a customer.
reply
djyde
4 hours ago
[-]
I've transitioned between cloud services and self-hosting a few times:

1. Vercel Phase My first project used Vercel. Since my project was Next.js, the experience was decent. But as my project gained some users, I found that even for projects under 100 users, I needed to pay $20 per month. Since my service didn't require high performance, this cost felt steep.

2. Self-host Phase (Hetzner + Coolify) Later, I started setting up my own server with Hetzner and deploying with Coolify. Since Coolify is open-source and free, I only had to cover the cost of a VPS (even $5 a month was sufficient). I could deploy PostgreSQL instances and run a web server on it. But later I discovered that even this way, I still had to spend a lot of effort maintaining PostgreSQL and Redis. Even though they were containerized with Docker, managing them was still troublesome. I needed to pass various system and environment variables between services, which was very tedious.

3. Cloudflare Phase So later I switched to Cloudflare. With Cloudflare Workers, I can deploy fullstack applications and use D1 Database and Cloudflare KV to replace Redis. These features can be called directly within the Worker without needing to pass environment variables.

Plus, the local development experience is excellent and the pricing is very reasonable, so I've been using Cloudflare's entire suite ever since.

reply
aleksiy123
11 minutes ago
[-]
Went through a similar phase,

I think a mix of 2. and 3. is good for a small team or solo dev. Im throwing in a bit of homelab as well by adding some action runners and models on my desktop as well.

But cloudflare is great value for small teams. Not sure how it as at higher scale.

On the topic of env and config. It took me a while to get this write, and maybe overengineered.

But I invested a lot of time in trying to standardize env definitions, secrets manager, and per env config definition defined in my nx projects, and consumed by the commands or deployers. As well as pulumi for IaC.

I tried a couple of different approaches, but finally I just decided to use typescript as my config language. I use nx project.json but defined using typescript. And just define the env config as typescript functions to be injected to each command or deployment as a pure function of target env.

reply
causal
3 hours ago
[-]
Yeah Cloudflare offering has become everything I wanted from AWS. So much simpler to deploy a basic full stack app + files. AWS has become considerably more difficult than self hosting.
reply
AdityaAnuragi
1 hour ago
[-]
I agree, I'm starting to like cloudflare increasingly aswell

Here are a couple reasons of mine (PS I'm still a little new)

1) V8 isolates for serverless functions to address cold start problems, sure the entire node env ain't there but libraries like Hono are designed to work in that env... Combine that with their near immediate start-up - simple lovely

2) UI, AWS to me feels soulless, like if there's an entire industry to make AWS UI not suck it's obvious their UI is just bad, upto the point where people pay a premium for a good UI. Cloudflare UI is so much nicer, atleast to me

I recently developed a library and for that I made a landing page and documentation with Astro (no server just static stuff), and I was checking out how to deploy this and Vercel and Cloudflare, Vercel had a 100Gb/ month of bandwidth free which is nice, what's even nicer is cloudflare has infinite (practical infinite not the theoretical infinite ofcourse)

And once again, that's just lovely to work with!

reply
cube00
2 hours ago
[-]
I really wanted to like Cloudflare Workers and I'm sure there's good technical reasons but the way you need to use a Wrangler project to do things like enabling email felt too much like I was about to get locked into the platform.

It seemed like the bindings you needed to set to allow email can't actually be set (or even seen once Wrangler sets them) from the console at all.

reply
graemep
2 hours ago
[-]
> Even though they were containerized with Docker, managing them was still troublesome

Did docker make it easier?

The only issue I have with PostgreSQL is a bit of migration effort moving to new major versions.

> I needed to pass various system and environment variables between services, which was very tedious.

Was docker making this harder?

reply
sudosteph
3 hours ago
[-]
I'm surprised by the author's hate towards DynamoDB. It's probably one of my favorite AWS Services. Great availability and no operational overhead. Cost was pretty minimal too each time I've used it, but you do need to spend some time architecting your data model up front, and that requires reading service docs and understanding it.
reply
andoando
42 minutes ago
[-]
We used DynamoDB pretty much exclusively at Tinder, cause it was the founders choice early on. Horrible horrible choice and after 4 years working on it I dont see why you would.

1. you have a limited number of global supported indexes, 5 iirc, which means your queries are very limited. If your use case ever expands beyond that you're pretty screwed. 2. You will have race conditions. Strong consistency is 2x the cost, and not supported on global indexes. 3. Data is split into 10GB partitions and all the read/write quotas are split evenly by the number of partitions. 100 reads you're paying for is actually 10 reads per partition if you have 10 partition. Hot sharding becomes a real problem.

Take your document data, stick it in a JSONB and you get the same performance way cheaper + query able/indexable columns. The only time Dynamo wins I think is it scales well globally, but you probably dont need it

reply
ufmace
3 hours ago
[-]
That's pretty much what I came into this thread to say. The thing I'd add is, DynamoDB is pretty nice if you understand how it's meant to be used - a relatively dumb key-value store with good persistence and table-size scaling to the sky. Definitely don't attempt to use it as a SQL database.

The best way I can come up with to rack up a $75 bill for some prototype code is to vibe-code a thing that attempts to treat it like a SQL database with JOINs and GROUP BYs etc. Or similarly write code against it absent-mindedly with about as much understanding as a 2-year-old free AI tool.

Where it really shines is use-cases like I need like 1 or 2 simple relatively small tables of persistent storage and don't want to deal with a full RDBMS. Or I need 1 ridiculously huge table to be queried in a relatively simple way, and don't want to deal with fitting that data into a RDBMS.

reply
andoando
39 minutes ago
[-]
With AI now writing queries is a joke. But you can just create a two column table: key, JSONB and call it a day and you get your easy document store + indexes, json search, relationsl goodness, and atomicity, consistency for free
reply
sambellll
2 hours ago
[-]
Here to say the same thing.

I built an app a few years ago and needed some sort of DB to store around 50 million records that had ~10k reads+writes per month with 1 index. It cost me something like $50 to load it up initially, and then something stupid like 10 cents/month to maintain.

reply
aorloff
2 hours ago
[-]
Dynamo, and a lot of the other services mentioned (Lambda) have very specific use cases. Do not use happy fun key value store as your database.
reply
ovao
21 minutes ago
[-]
I'd say "use it as your database if you know your access patterns make it suitable/well-suited for its use as your database". Even then it will probably not be your only database — if it's part of your MSA/SOA.

I would not build in DynamoDB if you suspect your access patterns will drastically change over the lifetime of the application (or if you intend to, e.g., plan to build a data warehouse or something crazy with it).

reply
anymouse123456
8 minutes ago
[-]
Like OP, I was an AWS booster for many years (also a Heroku lover), but fell out of love about 10 years ago for the same reasons.

- It felt like far too much complexity just to do simple things.

- The obvious attempts to trap customers with slightly incompatible, higher level services felt gross

- The inability to run AWS trash on a dev machine had a MASSIVE hit on productivity

- Pricing didn't fall as fast as I felt it should (an obviously debatable position that reasonable, smart folks disagree with)

In my current company, we've been running basic SMB/tech startup functions on-prem (ACK! THE HORROR!) from ~6 basic computers (4 game machines and 2 nucs) for a few years now.

We just reconstituted the entire infra working part-time over about 2 weeks using Claude code and ansible.

It really doesn't make sense in this world to pay tens of thousands of dollars to rent a level of computation that can be purchased and managed for a tiny fraction of that money.

We're also seeing massive dividends paying out with this architecture because we have self-hosted gitea, along with a local workstation for our agents to run in, and now our agents have all of the context without us relying on Github or ingress/egress fees at all.

[edited for formatting only]

reply
jfengel
5 hours ago
[-]
I don't work in that area, so I only touch AWS once in a while for personal fun projects.

And every time it's a nightmare. I'm just banging out a server for my experimental card game, not setting up an new financial institution. Everything looks as if I'm preparing to scale to infinity tomorrow, with a staff of a thousand and a budget backed by VCs.

Fortunately there's Netlify and similar, who put a gloss on it so that I don't have to boil the ocean. I figure that one of these days I might actually be forced to learn IAM and VPNs and God only knows what else. Meantime, every time I touch it my eyes bug out.

reply
chuckadams
4 hours ago
[-]
You can just spin up a raw VPS on EC2 or Lightsail, give it a public IP, and call it a day. You aren't required to implement every enterprise pattern in the book.
reply
embedding-shape
3 hours ago
[-]
If there is any single service I'd avoid on AWS it's Lightsail, it'll cost you a lot more than almost anything out there, is slow as molasses (even tiny services can need tens of minutes to deploy) and you'll experience random failures not even AWS reps can explain to you. Avoid at all costs.

It's a ghost of its former self, but I'd probably still rather use Heroku today than being forced to use Lightsail even once again.

reply
callmeal
49 minutes ago
[-]
>Lightsail, it'll cost you a lot more than almost anything out there,

Lightsail is pretty competitive (price wise) with other providers. Been running s B2B app on it for a few years now - nothing much, just your basic crud app running on lightsail instance + lightsail db. Nice to have a "monthly" rate on each instead of the EC2 opaque (and "surprise!") pricing.

reply
graemep
2 hours ago
[-]
I have only use lightsail for one project with two VPSs, but it just works like a VPS (two, because we have another for staging). Price is competitive.

Its not my favourite, but its not terrible.

reply
Insanity
1 hour ago
[-]
Same experience here, hosting some small projects on LightSail. It was pretty smooth to set up and get running, and no real complaints so far.
reply
ipsento606
50 minutes ago
[-]
> You can just spin up a raw VPS on EC2 or Lightsail, give it a public IP, and call it a day

You could do this, but for the life of me I can't imagine why you do this over using a platform like DO, vultr, hetzner or any one of a hundred similar services that will give you a better developer experience for this kind of workflow, often at a fraction of the price

reply
chuckadams
23 minutes ago
[-]
I never said it would be cheaper. I did say it wasn't complicated.
reply
themgt
4 hours ago
[-]
Congrats, your raw EC2-hosted 500MB WebGL experimental card game went to the HN Front Page! You now owe AWS $30k in egress costs.
reply
nostrebored
2 hours ago
[-]
Egress costs have substantially reduced (thankfully)
reply
aorloff
1 hour ago
[-]
Well this is the dream right ?

You build something, well enough that it can handle the traffic, and people come, and it does.

Welcome to the gaming industry

reply
DaanDL
4 hours ago
[-]
But that's costly. Speaking of my own experience: going from a webapp fully hosted on an EC2 instance to a railway and vercel setup reduced my costs 10x.
reply
liveoneggs
4 hours ago
[-]
t4g.nano is $3/m; a similar spec-ed fargate on ecs (just any docker container) is $10/m
reply
jfengel
3 hours ago
[-]
This sentence beautifully encapsulates my point. I know that this is just ordinary jargon, but wow that's a lot all at once. And it does seem like something I need to know before I start.
reply
liveoneggs
39 seconds ago
[-]
sure but on the flip side - when I signed up for vercel I had literally no idea what was going on. It just said "do you want to start a blog? here are 1000 templaptes"
reply
chuckadams
4 hours ago
[-]
Maybe so, but it's still not the complexity nightmare that some would have us believe it is.
reply
te_chris
3 hours ago
[-]
“EC2 or Lightsail”. And this right here is why I use GCP. Google got VMs right.
reply
nostrebored
2 hours ago
[-]
GCP has similar offerings to Lightsail, Fargate, EC2, Lambda, or other compute substrates. Nobody is forcing you to use more than “basic” offerings. AWS core services are often architected that way!
reply
benoau
4 hours ago
[-]
What amazes me is how Heroku absolutely nailed what most web apps need nearly 20 years ago.
reply
ChrisBland
4 hours ago
[-]
I miss heroku dearly. somewhere at Salesforce there is an exec who killed the product and shifted it to enterprise and is now looking at the vibe coding revolution seeing their opportunity missed.
reply
iamflimflam1
4 hours ago
[-]
I suspect the people responsible have fully justified to themselves any decisions they made, helped along with any bonuses they got for doing it.
reply
christophilus
4 hours ago
[-]
Render has been excellent replacement, in my experience.
reply
maccard
4 hours ago
[-]
Digital ocean is the answer. You give it a container and off you go.
reply
ipaddr
3 hours ago
[-]
Use to be now they are requiring 2fa for addon domains over a certain amount
reply
ceejayoz
3 hours ago
[-]
Of all the things to be upset about, mandatory 2FA doesn't seem like one.
reply
ipaddr
2 hours ago
[-]
2FA has been in place for years through email but this new requirement forces a phone.
reply
ceejayoz
2 hours ago
[-]
Good. E-mail based 2FA is bad, and they appear to support TOTP too as an option, as they should. Wish they supported U2F though.
reply
maccard
3 hours ago
[-]
It’s negligent to not use 2FA for any cloud platform where credentials can be used to spin up resources.
reply
ipaddr
2 hours ago
[-]
I should have been more clear 2FA has been in place for years the phone requirement is new.
reply
jlokier
57 minutes ago
[-]
They use TOTP for 2FA (industry standard), which doesn't require a phone.

Their help page lists a bunch of 2FA app options, all of which run on phones, so it's understandable to think a phone is required. (I'm disappointed they don't list the app I use, which is Aegis Authenticator.)

But actually you can use any TOTP app, and they don't all need a phone. For example, macOS (desktop) has built-in TOTP 2FA as part of the password manager.

reply
esseph
2 hours ago
[-]
Good! Should have been done long ago
reply
the__alchemist
4 hours ago
[-]
Why? It is still up, and working just as it used to.
reply
ceejayoz
4 hours ago
[-]
reply
the__alchemist
2 hours ago
[-]
Uhoh. I don't know what that means, but I unfortunately detect double-speak.
reply
benoau
2 hours ago
[-]
No longer developing new features or offering new contracts, but eVerYtHinG iS FiNe.
reply
cpursley
4 hours ago
[-]
Fly and Render are what heroku would be if they didn’t stop innovating. And neon db for Postgres.
reply
trashburger
4 hours ago
[-]
> And neon db for Postgres.

For 90% of the time when they're up.

reply
KptMarchewa
4 hours ago
[-]
it's only a nightmare if you had not to deal with Azure
reply
djyde
4 hours ago
[-]
I switched to Cloudflare and it's been a breath of fresh air - everything I need and the pricing is reasonable.
reply
MagicMoonlight
3 hours ago
[-]
AWS is aimed at enterprise, not personal projects. Personal projects wouldn’t give them any meaningful revenue because the only thing that matters is cost.
reply
djinn
3 hours ago
[-]
AWS has been systematically hollowed out of technical staff since 2023. Either through mass layoffs or via 2 cycles of performance improvement plans. Often I find most skilled peers in presales or support are not with AWS whilst the ones with most ambiguous work history have been retained at promoted.

Use AWS at your own risk, Paul Vixie is not there to save you.

reply
xmcp123
3 hours ago
[-]
Something that has always bothered me an outsized amount is Elasticache.

I will bite the bullet and pay for RDS because it adds a lot of value - scalability, a reasonably optimized config, backups I don’t have to worry about.

But Elasticache is exploitatively priced with almost no value add.

It is slower, less optimized, less stable, and only supports one DB compared to a vanilla redis install with zero configuration.

There are some scalability improvements, but it’s extremely rare they’re even required because vanilla redis so wildly outperforms elasticache on a similar instance.

reply
zdc1
2 hours ago
[-]
Elasticache is definitely one of the services to consider self-hosting.

AWS doesn't add much in terms of APIs or polish. On the other hand, Redis/Valkey is one of the most simple services to self-host.

reply
h1fra
3 hours ago
[-]
To this day I still don't understand why people love AWS. It's overly complex, full of dark patterns, and not even that good compared to alternatives.
reply
sqircles
3 hours ago
[-]
The billing footguns are a major pain point for anyone that doesn't have the capital to just dump faith paired with a credit card into. This of course is not limited to AWS...
reply
wg0
34 minutes ago
[-]
I think one big decision AWS could have taken earlier is that of declarative medium for cloud resources. Cloud formation is not human friendly as JSON or YAML. Problem with terraform has been that it had to keep track of the state separately which AWS already had (like what resources have been provisioned against a particular account number) in their databases and further more, I NEVER liked HCL, it never made sense to me.

Otherwise, some things that are good about AWS are as under:

1. IAM is I think good, logical and granular enough.

2. Separation of compute and storage in EC2 is very good.

3. S3 is amazing.

4. SQS is heavily underrated.

5. RDS is expensive but too good. I do not know how to go about 1 TB+ database size with daily backups without RDS. Similar ZFS setup with file system snapshots is complicated.

Not good things about AWS:

1. Super expensive. About 10 times. With zero support.

2. Current geopolitical environment would suggest getting off AWS if you are not a US company. The fascist idiots at the helm of affairs have lower IQ than the big void's average temperature in outer space.

EDIT: Typo + Formatting

reply
rembal
4 hours ago
[-]
+1 on the IAM over engineering, though to AWS credit, I suspect it was evolved rather than design, and that's what you get when evolution has to maintain some level of backward compatibility (think humans still having to be able to lay eggs). Another thing that happens occasionally for saas companies is AWS creating a copy of their product in a bit sus way - but it's not a technical problem, it's a business model problem.
reply
kikimora
42 minutes ago
[-]
This is unfortunately unavoidable for any system like IAM. All of them evolve into monstrosity because of so many conflicting requirements. Most importantly being simple and tractable on one end and being able to express any imaginable predicate on another.
reply
amluto
3 hours ago
[-]
My current favorites on AWS, in no particular order:

1. IAM and policies. I’m not convinced that anyone knows how IAM rules and policy rules interact. There’s a flow chart that appears to be incomplete. There is not obviously a complete enough spec that one could, say, write a test suite to confirm that the actual behavior follows the spec. LLMs, of course, don’t know either because the training data does not exist.

2. Utter nonsense pricing. The cost of listing an S3 bucket goes up by an order of magnitude if you set the default storage class to archive despite this having nothing whatsoever to do with the operation in question. (But GCS adds two orders of magnitude for the same offense.) Conclusion: NEVER EVER set your default storage class to an archive tier.

3. Boto. It’s an Unbelievable Piece Of Crap. It’s not a library at all — it’s a meta-library that generates itself at runtime because someone had fun doing that and because Python didn’t stop them. Python type checkers, of course, just give up. And Boto is, um, a community project that AWS claims not to care about. Which is, of course, why its maintainers refused to fix an interop bug with GCS (I fully documented the entire bug for them, and the fix would have been the removal of a bit of pointless code).

4. Egress pricing. And the way it multiplies if you use any advanced VPC features. Why on Earth is it cheaper to sent an object to S3 from my own machine than to send the same object to the same endpoint from within a different AWS region nearby?

5. Authentication. It’s so bad that they invented Identity Center to try to unsuck it. But if you use Identity Center you get logged out even while actively using the console, and you get a helpful link to the WRONG PLACE to sign back in. Because of course core AWS isn’t even aware that Identity Center exists.

I don’t even use AWS very much. I’m sure I would fall in love with more of it if I did.

reply
torginus
1 hour ago
[-]
Imo lambdas are super cool, and the best way to have a no-headache fast-iteration time deployment service.

What most people realize, that you don't have to go microservice or fragment your code to a billion little repos, you could take a standard webserver, and move it to lambda, as long as you don't expect requests to be able to share on-server state.

reply
kikimora
43 minutes ago
[-]
I second that. I use lambda as on demand server with one lambda handling entire web app.
reply
finaard
3 hours ago
[-]
> My business email system still does not work.

This is always the weird things in those rants. He's complaining that after 4 days his mails are offline.

Now I'm doing a mix of physical servers in rented rackspace, and rented servers - but even there I can have billing mixups where they deactivate servers for no good reason. And to get email working again the limiting factor would be the DNS TTL - new servers would be online somewhere else within hours of it going down. (And yes, I tested that just last year - one hoster threatened cutoff due to non-payment on a paid invoice, which prompted me to move the mail server just in case while getting this resolved).

reply
somewhatgoated
3 hours ago
[-]
I don’t get your point, what is the weird thing?

That he is complaining about his email being down or that he trusted AWS at all with email?

reply
rkent
3 hours ago
[-]
The only way that email is down for days for a competent sysadmin is if their DNS is also with AWS, so I assumed that was the case. Assuming that is true, what is weird to me is that, after deciding he hated AWS and left it, that he still kept his business DNS (the most important service there is) with AWS.
reply
hluska
3 hours ago
[-]
If you would have read the article, you would know that the writer had DNS hosted at AWS, would have read why he made that choice and would know of his plans to migrate off.
reply
finaard
2 hours ago
[-]
I assumed he just had DNS at AWS, but after re-reading I guess he has DNS _and_ domain registrations at AWS, which would be a special kind of stupid. That's something we were advising customers against already back when cloud wasn't a thing yet to enable fast transfers when stuff goes south

(to clarify: DNS+domain at the same service can be OK, as long as you have nothing else there. As soon as you start having other stuff, keep the DNS there, but move the domain registration away. Depending on which domain make sure you have auth keys, access to the admin domain or whatever would enable moving the domain without registrar cooperation. In my hosting days I did my fair share of emergency transfers and infrastructure to help companies get their basics online again after a SNAFU - totally doable to have first mail coming in again within a working day)

reply
panny
3 hours ago
[-]
>new servers would be online somewhere else within hours of it going down

Yeah, no that's not how it works with email. You have to build reputation for weeks or receivers throttle you.

reply
kassner
2 hours ago
[-]
It is pretty much unacceptable to have a domain bouncing emails, so I’d be out of the provider before the MX TTL even expires.

For outgoing emails, reputation is a huge issue, but at the same time it’s also fairly trivial to set up a (different) 3rd-party (gmail, outlook, sendgrid, whatever) with previous reputation so you can get back communicating.

reply
finaard
2 hours ago
[-]
I'm not running a spam business. I've been operating my own mailservers (and related infrastructure) for more than 25 years now, without issues.
reply
dakiol
1 hour ago
[-]
When are we gonna start hearing the same stories about Anthropic/Openai/etc? The whole AI thing kinda smells like the early days of AWS: everyone was getting onboarded, but later realized they'd built up a pretty big dependency that's not easy to shake
reply
rglover
3 hours ago
[-]
You can accomplish a lot by just having a basic knowledge of Linux sysadmin. I was clueless and then learned some systemd-and-curl-fu. Will never forget the "holy sh*t, this is deceptively simple" moment. A bit more research and I found that beyond convenience and specialty APIs, you really just don't need a lot of this stuff to run a healthy system (since reducing absolute cloud dependence, my reliability has gone through the roof).
reply
sandruso
3 hours ago
[-]
100%. I'm not really sure why we all agreed that deployment is somehow the hardest thing that you need to outsource when setting the linux server is one the richest experience you can get and it will pay dividents forever.
reply
noprocrasted
1 hour ago
[-]
There's a multibillion dollar industry that lives only because they managed to successfully convince an entire generation of "engineers" to become helpless and not be able to serve an HTTP response using their own hardware even if their life depended on it.
reply
pdimitar
1 hour ago
[-]
Stop with this "we" cliche already, please. I never agreed to it and I'm in the profession for 24 years. You don't speak for me.

Executives will always prefer to transfer liability and responsibility to someplace else.

Who's calling the shots in an organization? Engineers or executives?

reply
da02
3 hours ago
[-]
How do you deal with the few minutes of downtime when you do kernel/OS/software upgrades?
reply
andoando
8 minutes ago
[-]
You spin up a second host and load balance
reply
rglover
1 hour ago
[-]
Depending on the deployment and any SLAs, I either don't worry about it (just do a late night rollout when nobody is on the system) or rely on my deployment architecture's sibling checks (I can see when a given machine is still versioning and requeue subsequent rollouts to other machines).
reply
juahan
3 hours ago
[-]
I’m pretty sure for most systems that does not matter in the slightest.
reply
tekla
2 hours ago
[-]
How is this an issue in a world where load balancers exist? I was part of a Unicorn that ran prod on 8 boxes and literally never had customer facing outages due to infrastructure updates.
reply
morpheuskafka
4 hours ago
[-]
> I am reminded why I left AWS and how I need to finish the job, get off AWS Workmail, move my domains from Route53 and never return.

Well, besides for the fact that the author's got suspended for no reason, WorkMail is being shut down March 2027 anyway. I recommend checking out Purelymail for a budget, batteries included option. Another option is to run your own server but have it use something like AWS SES to send externally, avoiding the IP reputation issue.

reply
tonymet
8 minutes ago
[-]
Every single complaint has a simple fix: “just use EC2”
reply
dzonga
3 hours ago
[-]
the A.I (LLM) merchants will tell you - that AI is now writing software (agentic coding they call it ) - yet one they can't bill you properly or have a broken billing mechanism.

their dashboards are trash & don't work - Google Cloud, AWS Console, Google Ads, Meta Ad manager

I won't even mention the hyped up LLM vendors.

but here we r - people being laid off due to A.I - money being funneled into Gigawatt datacenters

reply
mcherm
3 hours ago
[-]
I don't think that's the real issue. The problems with billing and dashboards at cloud vendors are not new within the past few years, they have existed far longer than the LLM coding.
reply
owebmaster
3 hours ago
[-]
The billing "problems" these companies have are working fine for them as they are there to increase revenue, not to improve user experience.
reply
psanford
2 hours ago
[-]
> If you're using AWS Lambda then you have to work to keep convincing yourself this is better than your own web servers. Keep convincing yourself that using AWS Lambda is not a horrible mistake.

lol ok. I have ~50 lambdas running in my personal aws account. Some of them are webservers running behind an api gateway or using a lambda function url to expose them to the internet. Some are running on a schedule, some are triggered from s3 events. The cost to run these for me is less than the cost of the cheapest vps (my total requests per month stay under the free tier limit). There is also zero maintenance I need to do for these functions (ok, this year I did have to find-replace al2 to al.2023 in my terraform config). I don't have to worry about making sure the os is patched for the latest vulnerabilities. And I don't have to worry about the specific hardware my code is running on at any time. Doing maintenance for old projects sucks. It is great to have servers I deployed years ago continue to chug along without me needing to think about it.

Now, all of my lambdas are written in Go and I suspect if I was using one of the manged runtime libraries I would find the language upgrades to be quite annoying. Go also helps quite a lot with cold start times.

Then again maybe I have just drank the koolaid. In my quest to use lambdas for as much as I can as cheaply as I can, I made a library[0] to use sqlite on top of s3 (not just readonly). It uses the sqlite session extension plus s3 compare-and-swap to allow you to write updates safely to s3, even if you have concurrent writers.

[0]: https://github.com/psanford/s3db

reply
kees99
2 hours ago
[-]
> The cost to run these for me is less than the cost of the cheapest vps (my total requests per month stay under the free tier limit).

I don't think this is a valid argument. Free-tier VPS do exist also.

On the other hand, if you don't trust unattended-upgrades [0], and prefer to spend time poking package manager manually (while at the same time considering that time an expense) - sure, that's a strong argument in favour of using lambda.

[0] https://ubuntu.com/server/docs/how-to/software/automatic-upd...

reply
psanford
2 hours ago
[-]
I do not trust a free-tier VPS with my data.
reply
Neikius
2 hours ago
[-]
As you yourself said. Your load is so light you keep it in free tier. Their entire business model is for them to capture you while your load is light and then when you scale the price goes up.
reply
psanford
2 hours ago
[-]
I have also used lambda at scale in professional environments. I would not use a lambda for a webserver at scale, but having an s3 object trigger processing via a lambda function is a really nice flow.
reply
sofixa
2 hours ago
[-]
But the price per unit of measurement goes down, so no, it's not "their entire business model".
reply
noprocrasted
1 hour ago
[-]
You can also put these lambdas on a shared hosting provider as CGIs and get the exact same experience.
reply
joefourier
5 hours ago
[-]
> Cloud computing was an absolutely mind blowing revolution - suddenly your startup could run its own computer systems in minutes without need to install and run your own systems in a data center. This was an absolute game changer, and I really drank the AWS Kool Aid down to every last drop then I licked out the cup. I was all in on AWS in a big way.

Am I the only one who remembers that VPSes and dedicated hosting services were a thing before AWS came around? Yes you had to pay for a month at a time and scaling wasn’t as instant, but it wasn’t like the only option before cloud computing was having to drive to the datacentre and install your own server.

reply
tiffanyh
4 hours ago
[-]
> suddenly your startup could run its own computer systems in minutes without need to install and run your own systems in a data center.

The “in minutes” is doing a lot of the work in that sentence above.

I also used dedicated servers in the late ’90s (and they still offer great value today). But before AWS, provisioning new hardware typically took days, not minutes.

AWS changed that, and the rest of the industry eventually followed.

reply
reliablereason
3 hours ago
[-]
No you could rent virtualised servers way before AWS. AWS simply had good marketing.

The virtualised server thing was not a AWS thing, the thing that was were their other services. For example instead of renting a virtual server and installing a database on it. You could rent the database; that was sort of a new thing that AWS made in to thing.

It was never cheaper what you paid for was a promise of fire and forget. You would no longer need to worry about any responsibility to update the server or the database cause the AWS crew took care of that.

reply
joefourier
4 hours ago
[-]
> I also used dedicated servers in the late ’90s (and they still offer great value today). But before AWS, provisioning new hardware typically took days, not minutes.

VPSes and non-custom configs for dedicated servers were pretty instant as far as I know, I think the advantage of AWS was more that you could scale up and down much more easily since you weren’t locked down in a monthly contract, and that you could automate server provisioning through an API.

reply
_puk
3 hours ago
[-]
If you recall AWS didn't scale instantly originally either.

We had super bursty traffic, and had to go with Google Cloud (very early days! [0]) because you'd need to communicate with AWS and pre-warm the ELB capacity of your expected bursts.

We did a dead launch to 60 million customers (0 to 60 million, no organic growth phase) this way. I wouldn't want to do that on a VPS.

[0] https://cloudplatform.googleblog.com/2013/11/?m=1

reply
flomo
3 hours ago
[-]
Am I the only one who remembers how shady a lot of those VPS/hosting companies were? Seemed to be a race to the bottom, so a 'good' outfit might suck or completely disappear a couple years later. (Also, pricing was all over the map, I had a client who was paying $150/mo for a VPS.) Hetzner survived, but for a long time they had a reputation as spamfarm. So I get the initial appeal of AWS, used tactically. But for larger companies, its something like IBM or Oracle, if you are price-sensitive, it's not for you.
reply
rglover
3 hours ago
[-]
Not first, but it was the first with a planet-scale marketing budget.

I miss the Media Temple days.

reply
mt_
1 hour ago
[-]
The well architected frameworks tells you to have separate accounts, your fault that you "tested" in a production environment. https://imgur.com/a/Smal9fL
reply
cmiles8
4 hours ago
[-]
There was a time when AWS was truly innovative, but it’s long since transformed into Amazon’s cash cow and is behaving like such.

Innovation has ground to a halt of mostly just meh “hey us too” launches. Pricing and design patterns feel increasingly focused on locking you in. AWS folks tell me internally they talk a lot about making sure things are “sticky” with customers. The best engineering talent no longer wants to work there and it shows, especially in places like AI where AWS has just released wave after wave of discombobulated nonsense.

As a core “rent-a-server” concept with a few add on services there’s still a lot of utility, but AWS is gradually becoming a boring baseline utility with a ton of distracting half baked stuff jammed on top. Most companies I talk to are no longer focused on single cloud and increasingly are bringing a lot of workloads back on prem or in colos. Not everything, but for a lot of stuff that just makes more sense and is a heck of a lot cheaper.

The chips business in Annapurna is probably the most interesting thing and that plays to its strength of the boring low level infrastructure stuff. Nearly everything AWS tries to do beyond chips and rent-a-server plays is a hot mess.

AWS isn’t going away, but its future looks a lot less exciting and inspiring than the story that got us to this point.

reply
geoffbp
4 hours ago
[-]
Slightly different but related topic - for people who work with people vibe coding, what is the easiest way to allow that for non tech users (and reducing risk)? AWS or something like vercel? Coolify?
reply
sudosteph
3 hours ago
[-]
I'm old and bitter about this, but you're not reducing risk by going with PaaS, you're just outsourcing it. That recent "My AI Agent deleted my prod DB" story was only possible because the PaaS they were using allowed for 1-click permanent delete. At least AWS has a "prevent accidental termination" checkbox.

Nobody wants to hear this, but as things stand, there's no escaping risk for vibe coders right now. Personally, I think AWS is still a good choice for the long run, but don't make the mistake of thinking current LLMs will actually be able to manage the environment on par with a decent infra engineer. That's one of their weaker areas right now. Good news is there are million managed service providers and AWS-competent humans still in existence. Also Premium Support is a good resource.

Whatever you do, make a lot of backups and store them on a different service somewhere. Then if you get to a situation where you need to do something with sensitive data, or need to raise money, engage with someone who can do a proper review.

reply
_puk
3 hours ago
[-]
Vercel and supabase seems to be the norm around here.

DX is simple, integrations between the two, and the stack is well understood by the LLM.

Lovable uses supabase, and is surprisingly easy to eject from too; I've done the lovable to Vercel + supabase a couple of times, even managing to keep it syncing via the Git integration. You can get proper scalable infra and minimal vendor lock in whilst the vibe coder gets to play with the pretty.

reply
eluded7
3 hours ago
[-]
I'd tend to agree with the author. If forced to choose a cloud platform though (and that often is the case) then AWS is probably the best of the bunch in terms of reliability. Have heard and experienced some real horror stories with Azure & GCP by comparison.
reply
te_chris
3 hours ago
[-]
GCP is miles better. Their IAM is at least understandable, for a start.
reply
sbinnee
3 hours ago
[-]
I also tried. Only service I use is s3 for personal backup. I pay around 15 cents per month.
reply
andai
5 hours ago
[-]
At last my quest to find the stooge has come to a bitter end!

I saw some 192 core instances on Vultr, but I haven't tried them yet. What are you doing with all them cores?

I often fantasized about spinning up hundreds of nodes for various projects that needed number crunching. Then realized "wait I can just rent one big box for an hour" haha. It's really cool that we can do that now.

reply
andrewstuart
4 hours ago
[-]
>> 192 cores What are you doing with all them cores?

The ancient forgotten art of Vertical Scaling.

reply
rglover
3 hours ago
[-]
It's remarkably zen and effective.
reply
hhh
1 hour ago
[-]
IAM is my favorite part of AWS.
reply
alde
3 hours ago
[-]
The set of core services on AWS remains amazing: EC2, S3, IAM, EKS, Route53, RDS etc.

AWS IAM is extremely well designed when you compare it with the spaghetti monster IAM systems of other clouds.

Every time I try the new cool thing supposed to replace these services on some other provider - I understand how mature and polished the AWS ones are.

With that said, the rest 90% of AWS services like WorkMail, Cognito, API Gateway, are absolute hot garbage which no good meaning AWS expert will touch with a 10 meter stick.

reply
nijave
2 hours ago
[-]
>AWS IAM is extremely well designed

Agree, so is STS and SDKs generally just work. I don't miss on-prem companies with legacy Auth where you maintained 100 service accounts for everything with very careful password vaulting and credentials management policies. So much easier to use IAM policies.

>are absolute hot garbage

I kind of like Cognito but both Cognito and especially API Gateway are somewhat convoluted to configure. They seem to work fine once you have them setup right, tho.

Talking about hot garbage... Not a fan of Redshift and Lake Formation at all. We switched to Snowflake, saved money, got better performance, and had a simpler setup. Really there was nothing about Redshift that was better. We're billed through Marketplace so there's not even a consolidated billing upside.

Imo Redshift is a relic of the past and has failed to modernize.

reply
stevepotter
1 hour ago
[-]
I was such a fan of it that I ended up working there for 4 years. Now I avoid it and encourage others to do the same.

AWS used to have a nifty tool called "policy analyzer" or something that monitored for permissions used by a role so you could scope it down. The other day I had the need for it and when I went to use it, found out they charge something like $9/resource. So I would pay $45/month for metadata monitoring on just 5 things? Nuts. If they knew how to build truly delightful products, they would make something like a role that starts with broad permissions and automatically scopes itself down after some point. And it would be free or at least really cheap.

DDB is hardly a database. The only reason I can think of to use it is for massive amounts of data whose schema and query patterns are guaranteed to almost never change, which is very rare. Need to sort data on a field? Then you have to create a 'secondary index', which is a copy of the table that they charge you for and that is not strongly consistent. Schema change? Good luck with that. And don't you dare ask to use a nice ORM library. But hey it's serverless.

Here's a good one: you stop an EC2 instance and its volume keeps running and you pay for that. If you detach the volume, you still pay. There is no way to 'archive' an instance. And the only way I found out about that was I got hit with a big bill for those volumes with the charge labeled 'EC2 - Other' lol. Not very 'customer obsessed' to me.

My gripes are clearly not important to them because this is old stuff. So all I can do is go somewhere else, which is fine with me

reply
goostavos
1 hour ago
[-]
DDB has two use cases:

1. You need an "infinitely scalable" key/value store and have deep pockets[0]

2. you work at AWS and your deployment pipeline has so many stages and regions and fabrics that you can no longer even conceptualize what it means for there to be a "current version" of your software (the hell in which I live).

But for some awful reason it's sold as a general purpose "NoSQL Database." Pair that with the Pavlovian response developers have to the word "scale" and you've got an army of people using the worst possible tech for their usecase. Everyone eventually pairs DDB with Elastic whenever "Oh, wait, so we need to be able to query our data?" hits.

[0] And you ONLY need PK reads. Querying turns "infinite scale" into "infinite throttles."

reply
znpy
4 hours ago
[-]
> Of course I do not pay for premium support, so I have to wait the 24 hours that they said it would take them to reply. It's 3 days and AWS support has not replied.

The writing has been on the wall for a few years now, and this is particularly evident to those thar have worked at AWS: Amazon is in its day-2 era.

Amazon being in its day-2 era means that most of what has been written in the past twenty years about Amazon is bot valid anymore.

“Customer obsession” is literally their first leadership principle, and stellar support was their defining characteristic.

reply
nijave
2 hours ago
[-]
Imo AWS support is pretty decent compared to other vendors. Azure was by far the worst I've ever dealt with--engineers becoming adversarial and passing blame in tickets without actually resolving anything.

I've had some run-ins with poor AWS support and have even gotten bill credits/refunds when they offered incorrect advice. It really depends on the service but in general they're fairly good.

reply
znpy
1 hour ago
[-]
> Imo AWS support is pretty decent compared to other vendors.

yep, that's the point.

it used to be stellar on its own, now it's only good when you compare it to other vendors.

reply
sudosteph
3 hours ago
[-]
I worked for AWS Premium Support over a decade ago. Waiting 3 days or more, for a non-premium support customer would have been not unusual back then either. But at least the quality of response was typically pretty good, haven't seen what it's like lately.

They've always struggled to hire for those roles. The people who are best at Engineering Support also tend to be the people who move on to other roles after a year or two.

reply
aeagentic
1 hour ago
[-]
But is there a better one with same IaaC and API completeness?
reply
high_byte
2 hours ago
[-]
similar thing happened to me. I'm not a heavy aws user but wanted to setup some s3 buckets few days ago but my account was suspended for the same reason

but unlike OP I just accepted this fate and moved away from aws :)

reply
maptime
3 hours ago
[-]
How lambda is as bad as it is I have no clue. Not a lover of azure, but azure functions is such a nicer experience
reply
faangguyindia
5 hours ago
[-]
Why do people even bother with cloud?

I’ve a couple of apps doing a few million a day. I am using Hetzner and before that used DigitalOcean. Mind you, for close to a decade.

People are unnecessarily complicating stuff, and these clouds can go very expensive very quickly.

Recently, I came across a company and they were spending $20k a month on GCP. I am like, are you kidding me, $20K for the kind of stuff you do??? It seems you do not understand how CPU, RAM and Disk work to plaster such "autoscaling hyper solutions" burning money in cloud.

I moved their stuff out of the GCP managed solution and ended up with a $200-400 per month bill. The CEO can still not believe how it's even possible.

I suggested them move to Dedicated servers but they didn't want it, they said they must show they are on Hyperscaling cloud.

OK fine, we'll stay in Hyperscaler but not use any of their service other than VMs.

They racked up a ton of bills by using cloud monitoring, Datastore, and autoscalers (with no proper tuning), Kubernetes.

I replaced all of it with Prometheus, Grafana, Loki, and most stuff from Datastore to Postgres and Mongo with replicas. I added Redis.

I implemented a custom scaler where you can scale off of app metrics, not by just using a random peg on CPU.

I implement hot data reload by packing the data updates in gzip file, uploading to GCS and pulling from autoscaled units. Moved the stuff to Spot VMs.

The complexity of stuff in cloud is high for nothing.

reply
maccard
4 hours ago
[-]
At my previous startup: because AWS gave us a bunch of credits and helped us design the infra. It meant we ran for free what they designed for free.

At a previous bigger company, getting procurement to sign up to a new provider requires writing a business case, justifying the spend and then getting multiple competing quotes and speaking to their sales teams. Signing up to a new service takes _months_ even for $10/mo as they’ll negotiate for bulk discounts and the best possible terms for something that will literally cost less per year than one of meetings they hold to discuss the “value”. Meanwhile on AWS I can click a button in the marketplace and it gets thrown in the AWS account which is pre approved spending.

reply
hibikir
3 hours ago
[-]
Many a big company migrated because they have those very same slow procurement problems with internal data centers. I saw multiple cloud migrations because internal friction was at a level that the price didn't matter: 6 months for the smallest VM kind of thing. Very adversarial relationships, often with very poor incentives, as the service setup costs for other business units were way inflated, but then the maintenance costs didn't pay enough. Paying 3x-4x more a year for just a semblance of reliability was seen as a big plus.
reply
misir
3 hours ago
[-]
At my current team at a “bigcorp” I have noticed a similar pattern. We use aws not because it’s efficient in any way.

We use it because we don’t want to deal with slow procurement process. It kills all the momentum.

reply
maccard
52 minutes ago
[-]
Exactly. I want to set up elastic search - I can either have procurement go through their sales, or be up and running via the marketplace in less time than it would take me to fill in the RFQ form to send to procurement.
reply
xmcp123
3 hours ago
[-]
Have seen this repeatedly also.

Watched one company end up with a $250k AWS bill when their credits expired (which they could not pay).

reply
maccard
3 hours ago
[-]
If you let it go that far then you were going to blow it one way or another - it’s not an excuse to totally ignore the cloud spend but it’s a n excuse to defer it to a later date. If your successful, fix it, if your not then AWS aren’t getting paid anyway!
reply
xmcp123
3 hours ago
[-]
Yeah, they had an impossible to use number of credits (YC) until they expired, so every problem became a AWS solution.

As an example, they needed a lot of proxy servers. Instead of just using a proxy service, there was a fleet of ec2 instances.

reply
noprocrasted
1 hour ago
[-]
> they said they must show they are on Hyperscaling cloud.

This is the main reason; and it applies to developers (they need cloud buzzwords on their resume), it applies to managers (who in turn hire only those with said buzzwords) and it applies to company execs/CTOs who can brag about the complex (self-inflicted) problems their company is solving at the next cloud provider conference, so they can justify yet another VC round.

Run this for over a decade, and you'll end up in a situation where an entire generation of "engineers" is no longer capable of configuring a Linux box to serve some basic webapp and will make up whatever reasons to avoid even attempting to do so.

reply
edg5000
4 hours ago
[-]
I think AWS is liked is because when AWS started, being able to get a new VPS up in minutes was still quite unusual. Many hosts would require about 24hr, I suspect, for getting a new VM up. At least those are some experiences I had. But nowaways, they are probably many options for getting a VM instantly.

I agree that it's overcomplicated. Although having the self-service portal also for assigning IPs is useful. But most of it seems overkill. Although, being able to detach storage from VMs and such is also quite flexible. But still.

reply
maccard
4 hours ago
[-]
It’s flexible but slow. we ran our C++ CI/CD on AWS at a previous company, and we used spot instances with volumes attached and detached dynamically. The performance was absolutely abysmal because in effect you’re running compilation across a networked file system, no matter what AWS says your throughput is.

Our 64 core spot instances on windows were taking 8-10x longer than our developer machines with the same core count, and there was a bunch of engineering went into the scaling, queue management, etc. if we’d just had a single bare metal machine from hetzner we could have saved money _and_ reduced our iteration times.

reply
nijave
1 hour ago
[-]
It's fairly easy to setup services without worrying about pages.

I can stand something up on AWS in a couple hours and be fairly confident it will run reliably (assuming their service offering is actually decent--some suck)

We test backups and they never fail. Metrics and logs always work.

>People are unnecessarily complicating stuff, and these clouds can go very expensive very quickly.

I don't think that's the cloud vendors fault. They make it easy to stand up new services so people get overly enthusiastic and create convoluted architectures. Have Postgres but need full text search? OpenSearch is just a few clicks (well hopefully IaC config..) away, let's use that! When you're building yourself and need to setup the stack, instrument, monitor, configure backups the cost is high enough where you say "hey, maybe pg fts is fine for now"

reply
goosejuice
3 hours ago
[-]
> spending $20k a month on GCP

> burning money in cloud

I suspect there's two reasons why this happens.

One is just the disassociation with opex that seems ever present in the VC model. The other is that many startups settle in on a ops solution before hiring ops and the cost of switching isn't that attractive until they're faced with a dwindling runway and a down round.

reply
esseph
2 hours ago
[-]
> many startups settle in on a ops solution before hiring ops

Sounds expensive

reply
nijave
1 hour ago
[-]
Not really. It's cheaper than hiring an IT admin and sysadmin for a while.

Those tend to be tricky hires on the small end since you tend to want jack-of-all-trades who either demands a premium salary or doesn't exist.

When you have 10 software engineers, having 1 dedicate 10-20% of their time is cheaper than hiring 1-2 FTEs that aren't writing code.

reply
noprocrasted
1 hour ago
[-]
Unless we're talking actual PaaS (Heroku, Render, Railway, etc), the cloud also needs a dedicated skillset, so "cloud" doesn't remove the need from a sysadmin.

If you can get (and trust they do it right) developers to do AWS or Kubernetes, you should be able to trust them to do conventional Linux sysadmin on a bunch of dedicated boxes.

reply
andrewstuart
4 hours ago
[-]
I worked for a startup company - the founders were really nice people and had put their own money in - quite a lot of money - to get the software built for the vision they had.

By the time I joined, 18 months after development had started, a giant, complex, hideously tentacled software beast had been built that used every possible AWS service that the massive offshore team of developers could find to use.

It should have been built on a single Linux box by a single senior developer with Python and Postgres or nodejs or Ruby or whatever.

They went out of business after not too long and I couldn't help wondering if things might have been different if they hadn't spent a fortune building a giant money making machine for AWS, instead of making a web application on a Linux box.

Every AWS project I have worked on has had some significant work put into programming AWS instead of writing business functionality.

reply
cube00
4 hours ago
[-]
> hideously tentacled software beast had been built that used every possible AWS service that the massive offshore team of developers could find to use

To be fair, if they had a AWS Solution Architect involved they heavily push you down this road and if they manage to get in management's ear they'll push the idea that server-less AWS features is vastly cheaper.

If you're only responding to a handful of requests that's true, but once things ramp up you get "nickel and dimed" for everything: API Gateway requests, lambda execution time, DynamoDB read/write units, CloudWatch logs, outgoing data, step function transitions, S3 requests.

I understand all those services cost money and they shouldn't be free, but I question if paying all those micro-transactions is worse then paying for your own VMs, especially once your customers complain about the cold starts and you think you can fix it with "lambda warming"

reply
maccard
4 hours ago
[-]
To be fair that’s an AWS problem not a lambda problem. If you replace lambda with EC2 the only thing you save in is lambda and step functions(and maybe api gateway but now you need to pay for a load balancer or a public IP), the rest you need to pay for anyway.
reply
kriz9
4 hours ago
[-]
The ease of getting things set up quickly and usually for free when starting up is very tempting. Later, migration is usually considered risky and not worth it because of maintenance overhead - which I would argue has become very easy.
reply
stickfigure
3 hours ago
[-]
Grafana (and especially Loki) is hot garbage compared to what you get out of the box in GCP. I'm in a Grafana organization today and the sheer amount of developer and devops time it wastes is mind boggling.

You moved something from a single datastore to three different database technologies? I don't know your domain, but that sure doesn't sound like a complexity reduction.

reply
faangguyindia
2 hours ago
[-]
>You moved something from a single datastore to three different database technologies? I don't know your domain, but that sure doesn't sound like a complexity reduction.

what's bad about graphana? it's simply used for some alerts and monitoring, i've used it for really long time and it has never failed me not even once.

it's much simpler to query postgres or mongo compared to duplicating data dozens of times on datastore.

reply
MagicMoonlight
3 hours ago
[-]
This isn’t a like for like comparison though, is it.

You removed all of their logging and all of their redundancy and reliability and replaced it with shitters that will all explode if the small providers one data centre goes down.

And if someone penetrates this mega server, they’ll be able to wipe all your logs or tamper with them, to hide the attack.

If your storage servers go down, everything they have is gone. And these providers don’t offer the finest hardware. How do you know all of those drives aren’t from the same batch? They will be, because they’re a bulk buyer with a single data centre.

reply
faangguyindia
2 hours ago
[-]
>You removed all of their logging and all of their redundancy and reliability and replaced it with shitters that will all explode if the small providers one data centre goes down.

they'll never need it, a misconfiguration on those service ends up costing several grands.

>If your storage servers go down, everything they have is gone

It’s just logs for an app server, not some banking critical info that will cause a panic if lost. Most of what they are using for logging is for finding some errors, not for mission-critical things which must not be lost.

reply
esseph
2 hours ago
[-]
> How do you know all of those drives aren’t from the same batch?

Because it's explicitly something you can request when doing your server order from your vendor. In this particular case several years ago, Nutanix did good.

reply
atemerev
1 hour ago
[-]
Credits. It wouldn't make sense without free credits. And when you are hooked, good luck in moving out.
reply
cynicalsecurity
3 hours ago
[-]
Preach, brother.
reply
dangoodmanUT
3 hours ago
[-]
GCP would be perfect if they didn't have a history of randomly dropping quotas on startups, causing them downtime
reply
squirrellous
3 hours ago
[-]
What do you find appealing about GCP? I occasionally hear positive sentiment like this but don’t entirely understand the reason, mostly because I haven’t used non-GCP clouds professionally. Is it just the least bad of all the big clouds?
reply
mlhpdx
1 hour ago
[-]
I’m not sure how someone can be an “AWS Fanboy”, drink in all the promise, and think IAM is evil. As far as I can tell it is the one glorious thing that separates AWS from others. IAM is the core that makes it sane.
reply
Cyph0n
1 hour ago
[-]
I may be biased, but I find that GCP’s IAM story is simply way better.
reply
mlhpdx
11 minutes ago
[-]
I find it really difficult to discuss the two with people because of the overloaded terminology.
reply
hhthrowaway1230
2 hours ago
[-]
reply
raverbashing
1 hour ago
[-]
> IAM - the hideously complex auth and access rules system - this was invented by Lucifer sitting on his burning throne in the ninth level of Hell as the worst possible torment for those who have been sent below for using AWS.

Perfect explanation - no notes

I don't think I remember anything so over-engineered and confusing in recent times (probably SELinux now that I think of it).

And I understand - we kinda need the complexity for what they intend to do but they do need a Come To Jesus moment here to make the Insane Asylum Machine make a bit more sense for mortals

2nd most annoying thing? Boto3 lib, where conventions don't matter and Pythonic is just a suggestion and the thing works more like a REST wrapper than anything else over a not-great API (please why tell me there's an S3 API and an S3Obj API)

reply
fHr
3 hours ago
[-]
>works for AWS >quits the BS >needs more money >sells himself as a meat puppeteer once again to AWS >big bs corpo is still the same surprisedpikatchu.jpeg ok
reply
atemerev
1 hour ago
[-]
As if there's any alternative. Azure? That mess of everything smashed on top of each other that looks like it was vibecoded in a few month by hundreds of people at once, except that they looked like this from the very beginning where there was no AI? The one that makes you fill docx forms to enable quotas for some services? Or Google Cloud, which _looks_ like it might be simpler, but it has permissions for permissions to enable permissions, and endless micromanagement? I am trying things, but I always return to AWS :(
reply
xrd
2 hours ago
[-]
There is one fortunate result that will come from the SaaSpocalypse combining with Mythos (color me skeptical but let's assume it is as powerful as Anthropic tells CIOs).

If anyone can clone any SaaS, then there will be millions of SaaS that offer all the features you need.

How will you choose?

AWS and Microsoft (and all the big clouds) make it easy for their customers to get hacked, and Mythos makes it more likely the cadence will only intensify.

But, if I vibe code a hosting service which is pure rust and doesn't use any external libraries and never open sources my code, my attack surface is much smaller and I only have three customers anyway.

Hackers are lazy and will go for the pond where the most fish live. AWS will always have a lot of marks and a lot of holes.

AWS will be expensive because you are paying the tax they have to add to fend off the hordes. It'll be an intelligent choice to avoid working with Rome and find a little village in Bergen.

reply
fnord77
1 hour ago
[-]
Are the other two big providers any different?
reply
tootie
3 hours ago
[-]
This belies the fact that AWS is so far in the lead in cloud market share and even host so much of Anthropic's business. If you dabble, it's confusing. If you're an enterprise with a lot of expertise then it's indispensable.
reply
h4kunamata
5 hours ago
[-]
AWS AIM is hot garbage, GCP might not be the coolest kid of the block but its AIM rocks.

AWS CLI??? Holy guacamole, what a mess. AWS CLI looks what is now the digital identification to get the basics done.

While GCP CLI is like "sure, here"!

reply
cube00
4 hours ago
[-]
It's a shame GCP's console and their CLI are both so painfully slow.

You're also putting your business at risk with Google randomly banning accounts and not providing timely appeals. [1]

[1]: https://news.ycombinator.com/item?id=45798827

reply
vrick
4 hours ago
[-]
I mean this article is about AWS doing the exact same thing.
reply
liveoneggs
4 hours ago
[-]
it's funny how being used to something makes it easier to use
reply
_wire_
1 day ago
[-]
I love you baby, I need you! I'd never cheat on you! Come back!

Hey good lookin'

reply
renticulous
3 hours ago
[-]
Looks like a blogpost written to get attention and resolve his personal problem.
reply
MagicMoonlight
4 hours ago
[-]
These complaints are very weak.

Lambda is incredibly simple to use, it just runs a function for you.

Not sure how you could burn so much with dynamodb. It’s serverless and incredibly cheap. Must have been doing something insane like a huge dataset where you scan through it over and over.

Being salty that Gary couldn’t sell enough of his paid service and AWS is competing with it isn’t a meaningful complaint. I want something in AWS, not on Gary’s servers.

reply
jerhewet
3 hours ago
[-]
I wish our Lambdas would spin up faster, but otherwise I've been very happy with them over the past six years. We seldom run over the free tier limits, and when we do we get a bill for a couple of dollars. Dead simple to code for, dead simple to spin up a new instance or scale an instance if we need to.
reply