If you were to build an e-commerce site from scratch, what would be your preferred way to do it? Meaning, what kind of technologies would you use to implement a e-commerce site with the following assumptions:
- Traffic would be about 10,000 visitors a day.
- Catalog would contain 15,000 products or so.
- The description of the products would not change often, but the prices could change fairly often.
- New products would be added often, but removed infrequently.
I am curious to hear the differing opinions and arguments as to which technologies developers would use given these limited parameters.
Any server-side technology in conjunction with client-side mark-up would do the job.
Personally, i would use ASP.NET, though, you will need to be running a Windows server to use .NET technologies. Database-wise--MS SQL Server is my choice.
If your stuck on a Linux/Unix server, try PHP and MySQL. You could also use Perl/CGI, however, i find its a tad messy when compared to PHP.
*stuck* on a Linux server?!? Earth calling Andrew!
Performance, security, stability.
So I wouldn't even consider hosting anything mission-critical on a Windows machine. In an ideal world your server would show an uptime of a couple of years, and I've only ever seen that with Linux or BSD boxes. A single linux machine will also cope painlessly with that many visits per day, I wouldnt feel confident of that with a Windows box (to put it politely!)
PHP is an straightforward choice (especially PHP5), and possibly MySQL though I might consider using a proper transactional database (I've heard Sybase touted around a lot recently, though I know very little about it) for something as big as an e-commerce site - you at least want to be able to perform rollbacks when things (inevitably) go wrong.
Since this is e-commerce, you want to make some money and so you'll probably choose to avoid the kind of licence fees and "upgrade" lock-ins associated with the Microsoft platform. You may even have a team of developers and want to implement proper source control, and so the single-user Windows platform is not going to work for you.
I love Perl but I would rather be unemployed than implement another e-commerce app using it, even if this were mod_perl. Certainly any CGI solution is going to suck big time once you get more than 3 visitors per hour - it just does not scale well, that's why people don't use it.
Anyway, enough rambling - I think I would go Linux (dedicated server down at Rackspace ), Apache, Postgres and PHP5. Hmm yeah, when do I start?
And that's not what I meant either who says he has a lot of cash to throw around? not many people do at the moment, that's for sure.
Nice thing is you don't need it - there's plenty of open-source alternatives that beat the pants off your micorsfot rubbish I dont know about you, but to me, having buttons to click and wizards to negotiate isn't the same as feature-rich
I like it.. Your right, though, the open-source alternatives are appealing when prices are compared. However, unless you have used Server 2004, you cant call it rubbish.
Two options, that i would go for:
1)
- MS SQL Server 2003/2004
- ASP or .NET
2)
- Apache HTTP Server
- MySQL or Oracle.
- PHP4/5
Point taken sir, I admit - the fact is I haven't used SQL Server 2004 at all... tho I have used previous versions and my comments about buttons and wizards and, yes, even the word 'rubbish' did apply to those, and I do stand by it. They did seem like marginally glorified versions of Access, and I think the less said about _that_ the better. Here's hoping things are better now!
Still I would find it hard to argue for using a MS platform for this sort of thing. In fact I honestly can't find one single reason why I would consider it. And please don't think I'm some sort of blind open-source fanatic that won't consider alternatives - I've built significant apps on the MS platform (for PricewaterhouseCoopers, before the IBM buyout) and on LAMP (for the Financial Times, for Renault UK, for T-Mobile) and I know which I prefer! Especially where cost is an issue
Bookmarks