Thursday, April 5, 2007

Required Reading: Scalable Internet Architectures

So, last week I managed to find enough free time to finish up my copy of Theo Schlossnagle's book Scalable Internet Architectures. It is, without a doubt, required reading for anyone thinking about working on a large scale internet facing web application today.

Theo is a regular speaker at various open source conferences, and much of the content from his talks made it into the book. That means you get a combination of just plain old good advice on how to make things scale up (worry about logging, think about caching, plan your upgrades), tips you might not have thought of (you can use cookies as a rather effective per-user caching system as long as it's for small amounts of data) and as might be expected from someone who went to Hopkins a hundred and one tricks you can play with the Spread group communication system.

Even if you don't build your application using the techniques that Theo specifically discusses you'll absolutely benefit from his advice on what sort of things you should be thinking about as you design your architecture, since if you don't think about them then you'll just have to do it when you rebuild it later for greater scalability.

Anyway, go grab a copy, it's worth a read.


  1. How does this book relate to how Joost works? The Joost blog mentions mixing P2P and traditional HTTP traffic, so I'm wondering how adding P2P into the mix fits into the techniques in the book.
    It seems like if you want to truly reach the masses on the internet, you either need massive scalability (on the scale of google) or offload much of the traffic with P2P techniques...?

  2. I said the book was required reading, not that it was required reading to do what I do at work ;-)
    Seriously, many of the principles discussed by Theo in the book apply to parts of what we do at Joost, but the details are way beyond what I'm willing to discuss here, for a variety of reasons.

  3. Oh. Sorry :) Not trying to pry. I guess I was making connections that aren't there... you work for Joost which relies on novel networking techniques, and you recommended a book on scalable networking... Whoops.
    Well, actually I am curious about Joost but not in any sneeky kind of way (haha). It just seems like another one of those web revolutions I ought to find out about sooner rather than later.