Articles like this one, while incredibly well-written and witty, make the classic mistake of assuming (or implying) most apps will ever need to remotely scale to hundreds of thousands, if not millions, of requests a day (where Twitter currently stands).
Update: Terry Chay responds to this article here. I wasn’t 100% clear on the tone of his original article — seemed like a mix of jest & actual poking at Ruby/Rails/DHH. My only point here is… there is a 99.99% chance (or more) that your app is not going to need to remotely scale to the level of Twitter, yet many entrepreneurs believe their “baby” is above average and will be the Next Big Thing. Just look at TechCrunch to see how many silly ideas launch and then go nowhere 3-6 months after the buzz wears off.
Most entrepreneurs are huge egomaniacs - to imply to them that their site has little chance of ever breaking Alexa 10,000 — let alone Alexa 600, would be an insult to their precious baby. Yet it’s simply a fact, statistically speaking, that most apps will either wither on the vine or not become the huge breakout successes that their creators would like to have seen.
Note: Alexa stats are notoriously inaccurate, but it’s the least worst gauge we have of how much traffic certain sites are driving.
Two Broad Options / Strategies for Building Your Webapp
Option A: Build your site in Rails, hope/pray that you have the scaling problems of Twitter. Chances are, your app will fizzle (like 90%+ do) and still be at Alexa 50k-100k a few short months after you launch. What good is premature optimization when you’re barely using 2 servers @ $250 per month hardware cost?
Option B: Build your app in PHP, Java, ASP.Net or whatever. If you’re a rockstar in one of those languages, you’re probably just as productive in your language of choice (as you could be in Rails). Even if you have experienced RoR productivity bliss, and gone back to PHP or Python for scalability reasons, you are hedging your bets in the belief that ease of scalability (assuming you know what you’re doing) will be much better in PHP, Python or your non-Rails language of choice. Again, here you have a 90%+ chance that your app will fizzle or not require the levels of scalability that you are hoping for.
Isn’t it surprising there has only been 1 major Rails scaling story (Twitter) that has had issues? Over 1 million Ruby/Rails gems have been downloaded. That’s hundreds of thousands of developers tinkering with RoR, many building real-world apps.
Let’s say 50,000 apps were developed, but only 10,000 actually made it to “production” and were ever deployed. Only 1 (Twitter) has made it to the level of success that Rails scalability has been pushed to the limits.
That leaves potentially 9,999 Rails apps that have not had to deal too much with scaling issues, or they were solved with little to no fanfare just like they would be in any other language/framework.

3 Responses to “Get Over Yourself: Your App Is Not Going to Be the Next Twitter”