Forum Moderators: phranque
The background is that I have been put in the lucky position of being Chief Code Monkey™ for a well thought-out concept of a community-driven website. At the moment, the testing environment has been Win2k -- IIS, ASP and SQLServer, which has been fine. The initial target is pretty modest: 40k users a month; so nothing too taxing hardware wise. The code we have at the moment isn't particularly well-written and can be redone without any hassle.
Now, I'm asking about choice of platforms for a couple of reasons. The environment we have at the moment we are using out of opportunism -- it happens to be available to us, so we are using it. I'm slightly more au fait with PHP than ASP, but I could probably do it in either. I'm more familiar with the SQL syntax of MySQL than SQLServer, but similarly, I can cope with either. Finally, I think mod_rewrite could be useful in this situation, but not essential.
So as it stands, I'm leaning more towards a LAMP platform than the MS variant. However, what I want to know is: is there a reason to favour ASP + SQLServer for scalability/performance/maintainability/security in the long (or short) term?
-Are there any gotchas associated with either?
-Any pertinant pitfalls I've overlooked, and/or any good alternatives? (And I'm not talking about PHP on Windows...)
-Importantly, will both scale in a good manner from 40k users/month to potentially well above that?
Or to put it another way:
If you were going to start a new [community] site, what platform/technologies would you use and why?
Thanks
-------------
NB When I say I can use ASP, I'm referring to ASP VBScript. Though I know a bit of perl, I don't think I could use PerlScript or any of the other languages within the ASP development platform.
I also wouldn't mind hearing about ASP.Net's virtues, although I'm not sure I'd go for that.
is there a reason to favour ASP + SQLServer for scalability/performance/maintainability/security in the long (or short) term
In my opinion, for what it's worth, it doesn't make a darn bit of difference.
W2003 is very secure, both ASP and PhP will get the job done. If you have SQL Server available and paid for it's probably a better choice than mySQL although mySQL is great too.
Other than that, these 2 scripting languages are pretty much the same. It all comes down to which language you are more familiar with.
Of course, you could see what smaller sites like amazon, yahoo, google, gaia.com, ebay, etc, decided when they started out, but those are just fly by night operations, and certainly aren't ideas that would be that scaleable. And the people running them certainly have little or no idea of what they are doing, look at google for example, thinking they can compete with msn search with a bunch of crummy linux boxes, whoever heard of something that silly? And yahoo, they run how many sites on bsd? can't remember, must be in the millions I'd guess. All on apache.
I'd say that if you setup up some test lamp boxes, properly configured, and don't find all interest in the question vanishing within a month or two it probably really does not matter which way you go, but if you're like many of us, if you do, and actually start using linux for real, you will have very little interest in this question since it's just so fun working in the real lamp environment.
Or you could ask: as chief code monkey, with this decision in your hands, where is the question, you can use open source stuff, or you can use closed, proprietary stuff that needs licensed, fairly costly software to run. Not to mention that despite IIS and 2003 beginning to adopt some of the strong points of apache and unix type systems, why use imitations when you can use the real things? There's also transactions per box type questions but I stopped following the real ins and outs of that, used to be a major difference, a factor of something like 3 or so, but it's probably improved by now.
I talked to one guy here who was very proud of serving up a site that would have run off probably 2-3 linux boxes off I think 9 or 10 windows boxes.... too bad too, if he'd gone the other way I might be working for him today.