We are slowly breaking the Internet
After yesterday's poor performance live blogging the Steve keynote, I spent some time thinking about how frustrating it is to have a fundamentally communications-related service go down the way Twitter did for all of us who were trying to let the world know about what went on during the keynote.
I can't really blame Twitter. The pile-on that they are suffering from as everyone tells them they can't scale is something that any other startup would kill for, and the fact that they are taking egg on their face is to be completely expected. I don't think I know of a single small startup these days that wouldn't be similarly crushed by the load they experience during events like Macworld— in fact, I can almost guarantee that we at Tabblo would have been.
However, the big bummer about the way we use the Internet today is that we are breaking its fundamental architectural principle of loosely couple services that you don't count on for 100% reliability. This was the genius behind SMTP: if the receiving mail server was down for whatever reason, the sending one had a protocol for either finding a relaying service or for backing off and re-delivering later. Unfortunately web services aren't built like this (some of the bigger ones like Amazon and Google are built like this on the backend though which is why they scale, but it takes big bucks to get there).
And you know what? For most web services, this single point of failure design is ok. Just not messaging-based ones. When we use messaging-based services, we expect uptime (witness how annoying Gmail's recent glitches have been), and at the very least, reliability on the message delivery front.
We'd do well to think of this as we shift any time an attention to web services that have grown their own internal messaging systems, or even those that aim to replace them.
I am sure that with microformats, syndication and personal publishing platforms that we own ourselves and host on elastic computing clouds like Amazon's EC2, we can rebuild most of the messaging/publishing-based services that are currently appealing (Twitter, Jaiku, Flickr) but flakey. However, it is going to take time, standards, and the realization that we can in be in control of more reliable online experiences.
In the meantime, just be glad those evil phone companies spent billions building "carrier-grade systems" (well except for AT&T EDGE network which sucks).
Postscript: Dave Winer sort of nails it.
Comments
David commented, on January 17, 2008 at 9:58 a.m.:
Yeah and it was cool how the $100B APPL kept their firmware download site responsive at the same time, oh wait they didn't

Hi, I'm Antonio, living in Boston and working this whole net thing out...

Ben Tremblay commented, on January 16, 2008 at 7:33 p.m.:
For the last couple of days I've been watching my homepage's sidebar out the corner of my eye; I don't like the way widgets bog the whole page. (Yes, I know I should be loading the mainpage first ... next week, ok?)
New to me was Yahoo's YSlow ... gotta love the way tool-builders respond to fundamental needs!
Which doesn't address your main point, but still ... it comes down to dependencies, and redundancy, and fault-tolerance. When those aren't in place, then really what we have are actually just handy toys.
--bentrem