Twitter has been the subject of much discussion as of late, but not for good reasons. Today, Twitter announced that they are officially done with their hosting partnership with Joyent. Was Twitter demanding better reliability? Or, was Twitter getting it's affairs in order (there are some rumors of a Twitter acquisition in the works). I find it interesting that Twitter would say how much they loved Joyent just before severing ties. Then they told us everything was back up again, but then updated that post to say not exactly.
When Shel originally crafted his open letter to Twitter from the most recent outages, he captured the sentiments we were all feeling. I even commented about it on my own blog. Now, I am not convinced Twitter can handle. And, I don't think it's Twitter's fault.
Dave Winer started a great discussion about Twitter's problems by asking " Why does Twitter go down?"
In plain English, Skype uses a decentralized architecture. Exactly the opposite of Twitter. That's why it scales so well. The reason Twitter goes down is because the more friends people have, the more notifications need to be mirrored. One notice from a user with 100 friends, is 100 notifications. It's a multiplying effect. If many users with many followers are updating their status, the system experiences extreme load and we get the Twitter blue screen of death.
However, a peer to peer solution won't meet business demands for security (why send a message out to the Internet when it just needs to go to the person next to you), which means a distributed architecture would be more appropriate, similar to email.
The reality is that Twitter has grown into something more than any one service should be responsible for. In fact, cottage industries have formed around the service, and VentureBeat astutely points out the harm a Twitter outage causes cottage services.
It's time for Twittering to break free from it's cage.