RSS, OPML and the XML platform.
Copyright 2003-5 Randy Charles Morin
Fighting the Scalability Curve
As you add new hardware or recode the application to be faster or more scalable, the number of users increases to a point where a new round of scalability enhancements are required almost immediately after the previous round is deployed.
As we've all noticed, almost every Web 2.0 app is getting intolerably slow and broken. The Web 2.0 developers then spend the majority of their time fighting the scalability curve and fixing bugs. New features fall thru the cracks and eventually a promising start-up is spending a lot of money fixing bugs for an application that isn't returning any revenue.
I've been there before. I was hired to lead the development of Lemontonic only two weeks before it's launch. The Lemontonic launch was suppose to be an small Beta. Next thing I know, the advertising is kicking in next week and I'm looking at an application that is spending more time failing than it is working. The advertising campaign was big and the business wanted more features. For two weeks, we worked our asses off to stabilize the system and amazingly we were able to get this thing working. Thanks mostly to Sanjeev and Calvin.
We were so busy trying to get the application to just work that we didn't even bother with scalability and were not able to bring more than one server online. Then the advertising kicked in. Tens of thousands of users were signing up like mad, it was free. The server was overwhelmed and not accessible. The next three months I spent most of my time trying to figure out how to convince the business to stop signing up free users or add new features. Instead, I wanted them to focus on getting the current application to work. I failed and in the end, the users disappeared, frustrated that the product didn't deliver the experience it promised. At this point, the business had no choice but to turn on paid subscriptions, because the free model was draining the bank account. This disillusioned the remaining users and we ended up with hundreds of thousands of sign-ups and revenues that wouldn't pay one employee's salary.
Remember the frustration that the Lemontonic users felt towards the product that wasn't delivering? That's what I feel about Technorati, del.icio.us, Bloglines, Blogspot, MSN Spaces and many other Web 2.0 apps. I use them all less-and-less every day. I'm now looking at IceRocket and other Web 2.0 replacement apps that are capable dealing with more than a handful of users. IceRocket doesn't compare feature to feature with Technorati, but at least it works and does the basics I need to blog effectively. In the meanwhile, here comes a bunch more applications that promise to fall over with time. In fact, the developers of these application seem to confuse up-time and scalability. Remind me not to use their applications and get my hopes up.
Now, don't get me wrong. I'm not looking for 7 nines either. In fact, I doubt R-mail.org is up 99% of the time. I spend $15 per month on front-end hosting and $50 per month for that back-end Internet connection (you gotta check out these pics of my Internet cable dangling thru trees and across my neighbours driveway). Most of the time that R-mail is down is because I'm not making enough money to warrant 2 nines. But I could be at 99.9% up-time by simply upgrading the service. The application itself hasn't been down because of a failure in the code in many months. Knock on wood. And if I needed a second server on the front-end or back-end, then I could add it at any time, because the application was built to scale. Even the database has been broken up into distinct application that could be deployed on separate machines or even in separate database clusters. I guess my adventures over the last 5 years have taught me something.