Hacker News new | past | comments | ask | show | jobs | submit login

That's correct, but then you have to upgrade your whole infrastructure. This phenomenon is well-understood in microeconomics, and things like database performance are just a special case of it.

Imagine a factory that makes widgets. At first there's loads of space, and half the factory is a basketball court for the first employees to relax after a long day of widget manufacturing. but if the widgets are good and demand increases, more and more of the factory is filled with widget-making machines. Finally the factory gets full and efficiency starts to go down because people are literally getting in each others' way as they work and move the widgets around; its costs more an more to squeeze out each additional unit. In technical terms, your Marginal Costs go up and bring Average Total Costs above the minimum where normal profits are maximized.

The solution to this is not to declare that no sane widget manufacturer should try to sell more than 10,000 widgets a year, but to set up an additional or replacement factory. Your Average Total Costs go up even higher because a new factory costs money (like a new DB infrastructure or server farm), but - and this is crucial - that cost of the new business infrastructure is a Fixed Cost, and the more product you ship the lower a proportion of each transaction it represents. The upside is that your Marginal Costs are now lower because you can again enjoy economies of scale. So you expand production as quickly as possible to meet demand, so as to minimize ATC (= FC + MC). Most firms go through this cycle many times as they grow.




Right, but you can't just have two independent websites when people expect to be able to connect to all their friends. And with software being such a young field, scaling up is not always like just building a bigger factory - sometimes serving 10x as many users as you used to is something that no-one has ever done before with your kind of workload.


Luckily there are enough software people like yours truly who know how to solve these problems. Solving them requires tradeoffs, so you also need product people who understand those tradeoffs and make the right calls. This is what failed at Friendster, and not at Facebook or LinkedIn. Read this:

http://news.ycombinator.com/item?id=2370291

Edit: do you have an idea of the size of your 3rd-degree network at Facebook? Do you care? :)


So that sounds to me like "you can keep your per-user costs linear as long as you're willing to sacrifice small parts of the user experience as you grow". Which is fair (though even then, making these tradeoffs is work).

Obviously if you're profitable per-user then scaling is a nice problem to have. But I struggle to see how scaling from their current users to say 10x could move twitter or quora from unprofitable to profitable; I think the engineering costs of making these tradeoffs and solving the scaling problems would largely outweigh any economies of scale, and I don't see how more users would increase their per-user revenue.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: