Hacker News new | ask | show | jobs
by sofixa 700 days ago
> like Postgres or RabbitMQ that you could install on any cheap linux VPS and save a chunk of change

Spoken like either someone who has never ran those at scale, properly available, or has for so long they've forgotten how much they've learned along the way.

2 comments

I’m really curious about the percentage of total software projects that have real scalability concerns.

The majority of my career has been working on products that barely get 100k monthly active users. These projects don’t really need to worry about scalability because it’ll never happen. It hasn’t happened in the last 30 years, unlikely to happen in the next two years.

With that in mind why spend so much resources on complexity where the only benefits are to the engineers that get to add another buzz word to their resume?

I’m guessing the total percentage is less than 5, probably 1% seeing how Wordpress is still the most used framework on the internet.

I’ve worked at companies that cared about complexity and it was baked into the code. After the product was released we only got 500 users when the initial projection was 10,000 (this was a company selling Medicare advantage plans). The org was eventually disbanded.

We probably spent $20 million in additional “engineering” effort that was never used.

At some point you have to question why things are done a certain way if there aren’t material benefits.

100k monthly active users can result in wildly different numbers of queries/requests/operations depending on what you're doing.

100k MAU for a static blog and 100k MAU for an online game simulating a real world economy will have vastly different usage patterns of the underlying databases/message queues/etc.

> With that in mind why spend so much resources on complexity where the only benefits are to the engineers that get to add another buzz word to their resume?

It's not the only benefits, it's making things potentially easier down the line; more often than not it can be premature optimisation (preparing for a future that never comes), but there are also plenty of examples of companies outgrowing their initial infrastructure and having to spend lots of time on rearchitecting everything. A lot of that time can be saved by thinking a little bit beforehand and making things theoretically scalable.

Define "at scale". Majority of web apps have like a few hundred users concurrently. The remaining 1%, by all means.