3 ms·
Proper system architecture can make any not-completely-insane web layer scale. Concatenating strings is typically a round-off error compared with touching the
by carsongross 12y ago
Proper system architecture can make any not-completely-insane web layer scale. Concatenating strings is typically a round-off error compared with touching the network, as the author mentions.
That said, I'll disagree just a bit with the author: trying to get the rough system architecture correct early on by squinting at your app domain and estimating where the load is most likely to hit hardest, then putting in effort to make sure those areas are particularly scaleable and resilient, is a reasonable approach, even if it smacks of premature optimization.
- jarkko 12y agoOriginal author here. I don't think we really disagree there. I might not have made it clear enough, but I mentioned that there are obvious things that need more consideration, like Kissmetric's or Skylight's data aggregation and massaging. That said, for many (most?) that culprit is not easy to identify in the early stages and many apps are still basically glorified CRUD apps where that is a non-issue to begin with. For example, a few years back we ran a much publicized vote for an unidentified social network with more than a billion users. It ran on a run-off-the-mill Monorails[1] app and MySQL, without any hitches. If anything, we vastly overestimated the number of app servers needed (a couple dozen IIRC). Of course it was a fairly simple use case, just an example that high load by itself doesn't mean much. [1] A term commonly used for a web app that is a single Rails application, as opposed to a more SOA-style app split in smaller pieces.