Blaine Cook on Scalability

   By chris on June 17th 2008 in /dev/rails | 425 views

In this very interesting interview with Blaine Cook (once of Twitter fame) Blaine provides the best analogy for describing “performance” vs. “scalability” I’ve yet to read:

Performance and scalability are very different things. Performance is like the speed limit; it’s a question of how quickly you can get from point A to point B. In this case, we’re talking about how quickly you can get a page rendered and delivered to the user.

Scalability is a question of how many users you can handle. Highways intrinsically don’t scale, for example, because when they’re full, you get traffic jams. In web architectures, what we aim to provide are systems that will expand (usually by adding more hardware) to handle more traffic.

Obviously they’re related – if you have a traffic jam, then the effective speed limit is lower than the theoretical limit. But increasing the speed limit won’t make traffic jams any better.

There are a whole bunch of ways to make traffic less congested – adding more lanes to the highway, encouraging people to use public transit, or better yet encouraging people to work closer to home.

Likewise, there are many techniques for making web sites more scalable, and most of them don’t involve making things much “faster”.

As an aside, I continue to be impressed by Blaine’s grace under the seemingly relentless “Tw/ails doesn’t scale and it’s your fault” onslaught. Good on you sir.

Trackback URI | Comments RSS

Leave a Reply