Like so many other people in the last few weeks, I started using Facebook. They're growing at such a ridiculous rate, adding 100,000 new users every day, and it's reckoned that 50% of the millions of active users return to the site every day.
Following a link from a post by Steve, and reading Marc Andressen's opinions on why Facebook is so successful (and what it's done spectacularly right, and what in his opinion its shortcomings are), one particular section shocked me the most... after discussing the viral spread of Facebook applications and focusing on iLike as probably the most successful. Facebook app developers need to host their own servers (and bandwidth) to provide the services that Facebook will provide the gateway to. When iLike launched, they had near-exponential take up of their application, which completely hammered the servers they had access to. Here's what Andreesen says subsequently:
Yesterday, about two weeks later, ILike announced that they have passed 3 million users on Facebook and are still growing -- at a rate of 300,000 users per day.
They didn't say how many servers they're running, but if you do the math, it has to be in the hundreds and heading into the thousands.
Translation: unless you already have, or are prepared to quickly procure, a 100-500+ server infrastructure and everything associated with it -- networking gear, storage gear, ISP interconnetions, monitoring systems, firewalls, load balancers, provisioning systems, etc. -- and a killer operations team, launching a successful Facebook application may well be a self-defeating proposition.
This is a "success kills" scenario -- the good news is you're successful, the bad news is you're flat on your back from what amounts to a self-inflicted denial of service attack, unless you have the money and time and knowledge to tackle the resulting scale challenges.
I love that analogy - self-inflicted DOS 🙂 But what a scary situation to be in - suddenly having to provide real-time, world-class infrastructure or else risk losing the goodwill of everyone who's accessing the service if it fails or is too slow.
All of which makes me think - where on earth does the revenue to pay for all stuff this come from?