Hacker News new | ask | show | jobs
by Pewpewarrows 5259 days ago
Sorry to break it to you, but scaling isn't hard anymore. The tools we have at our disposal today makes it trivial compared to companies attempting to do the same thing 5-6 years ago. As soon as you figure out the scaling from 1 -> 2 servers, you're basically done until you hit top-1000 traffic. Because as soon as you spend a weekend doing that, scaling to 2 -> N is child's play.

Oh look, I'll pick from any number of battle-tested, high performance, and free load balancers. I'll spin up a couple more VPS nodes. I'll add a few more slaves to my DB setup. I'll install some memcached and a quick write-through wrapper in my code. Oh yeah, duh, don't do long-running operations on the request/response cycle, here's an open source queue system for you. And since I like going overboard, let's throw some Varnish all over the place. Congrats, we've just covered the scaling concerns of 95% of web apps.

Try doing that several years ago with the terrible PHP and Java services we were writing, and without most of the hardened tools we now get from thirty seconds of Googling and learning from everyone else's mistakes.

Disclaimer: yes, when you start to break through the top-1000 some hard problems start appearing again. You begin to run into the limits of what others have created, and patching / rolling your own solutions becomes commonplace.

2 comments

Well first I said I was in a bad mood.

More seriously, scaling is not simple. Yes products have been introduced or have evolved and simplified greatly the task. But saying that scaling is simple is simply not true. Not everybody do simple web apps, some require very heavy processing behind the scene, Hadoop/ MapReduce operations that have to return complex results in memory constrained environment and all that while maintaining low cost. As an example when Relational database are not sufficient anymore and ACID is not casting its reassuring shadow you can be in trouble if you do things like payroll/ real time process etc...

And again you don't have to be in the top 1000, many companies do not even have a lot of traffic from the general public but have to deal with very hard scaling problem.

Just look at Reddit, they are still having trouble with the Cassandra database which is said to be easiest to scale.

My 5 cents on the question!

Reddit is a top 200 site. They do over two billion pageviews/month. A lot of their pages are loading 1,000+ nested replies. They use Postgres as their primary datastore.

Scaling is a solved problem until you're huge if you're not doing something really avante-garde.

> A lot of their pages are loading 1,000+ nested replies.

Reddit only shows 200 comments by default. It also used to be you needed Reddit gold to even show 1,000 on the page when it first loads, not sure if you still do (my gold expired)

> A lot of their pages are loading 1,000+ nested replies.

Reddit only shows 200 comments by default. It also used to be you needed Reddit gold to even show 1,000 on the page when it first loads.

Okay, you've made the point that scaling technology is easy ... what is less easy (for example) is scaling the business processes to support in increased number of users or handling the communication overhead of an up-sized development team. People-centric processes cause significant scaling trouble.

Yes, aspects of scaling may be easier, but scaling (in general) is still a complex beast that kills many companies.