So I have this 'great' idea in my head that I want to start working on and build a company around it. Been working on desktop development for 5+ years and the idea revolves around the web. My exposure to web development is purely academic(a few database driven websites etc).

I know I have the wherewithal to get started and build something that works but am also sure that I don't have the expertise to scale whatever I build to huge numbers.

Looking at how some of the web majors started in dorm rooms etc, I am wondering how most web startups approach this problem (I'd find it difficult to believe that all the major startup founders had something that would scale to millions of users in their first jab).

Do you think its wise to run with whatever I can and then worry about scaling if and when its necessary? Or do you think its a sign that I am trying to bite more than I can chew?

If you're doing it out of your basement, you'll probably want to worry about your internet connection first. Some connections have limited upload bandwidth and my internet provider blocks port 80 by default unless you purchase their business package.
– Peter SmithJul 12 '11 at 13:20

@Peter Things that I can solve by just throwing in more money is not really a concern at the moment.
– NVMJul 12 '11 at 13:53

If you can just through money at it (and you aren't worried about it) why don't you just get a shared host??
– JettiJul 12 '11 at 14:06

1

@Jetti the question is not really related to scaling as in "need more bandwidth..'. Its more to do with database design, optimization etc. Things that cannot be fixed just by writing a cheque.
– NVMJul 12 '11 at 14:12

1

@NVM - I'm sorry but I don't see that in the question. Also, the people/sites that you probably consider majors didn't explode overnight, they had plenty of time to grow. Like tdammers said in his answer, you need to just focus on getting the site up and then go from there. Although I do believe, unless you're using an uncommon stack (such as lisp) shared hosting would be your best bet so that you can just focus entirely on your site and not worry about hardware (at least to start)
– JettiJul 12 '11 at 14:15

6 Answers
6

Just worry about getting it to work at all right now. That's hard enough. When it does, and it threatens to become successful, you'll still have plenty of time to worry about scaling; also, by the time you really need to worry about these things, you'll hopefully have more cash rolling in to fund the operation, and you'll have a much better idea about what it actually is you're doing.

In any case, despite huge success stories everywhere, the most likely scenario (statistically speaking) is that it is going to fail or remain a niche product, no matter how glorious you imagine its future. If you optimize for scaling now instead of getting it rolling, you are wasting effort on the wrong thing.

But really, just make it work. YAGNI is a good mantra to live by when just starting and doing rapid development. Just remember, YAGNI does not mean do what ever you want. You should still be making good design decisions, just less weight can be put on issues that will not be a real concern right now.

Sign up with Amazon (or Rackspace) for a cheap cloud server ($7-10/month). If your project starts to grow they provide easy and cheap hardware scaling, which will give you the time you need to get your software scaled properly.

To heck with scaling right now. You can worry about that later IF it becomes an issue. If you have a great startup idea and it becomes wildly successful to where scaling is an issue then this is a GOOD PROBLEM TO HAVE! At that point you can get some VC and hire a team of people to help you rearchitect it to scale.