Minimum Requirements for ASP.NET and SQL Server Self-Host

hostingiis-7windows-server-2008

What are the bare minimum requirements for self-hosting a windows web server capable of IIS7 for deploying ASP.NET and SQL Server websites and applications.

I would be using this server for storing a product table in a database and other small stuff like that. Not for storing customer info either, so it would really just be serving the website the product catalog table from one database. Considering the fact that I don't even have that many products, and at the most I would have only a couple thousand perhaps. But that would be a while from now anyway.

I mean, should I get a certain CPU, or is a low-cost i3 or i5 ok? Do I need i7? Does a CPU in a server determine how fast the data is served to a client requesting my catalog webpage?

Also, do I need Windows Server 2008 to do this? I know it would require Windows 7, or at least I would want it to, but do I need a Server version of windows to efficiently serve my database? I just realized though, that I'm able to download Windows Server 2008 RC2 from Dreamspark! w00t! xD

Thanks!

Best Answer

First, this is tough to answer as you do not describe the user load. However, my first thought was use a shared host. This seems like a very small workload and hosting your own server is way overkill.

With that, if you are set of hosting yourself you can do so cheaply. You do not need a lot of hardware to host a website, even with a DB. I have seen a business application with IIS 7 and SQL Server 2008 running on old hardware.

  • 2GHz Pentium 4 CPU
  • 4GB's of RAM
  • 7200 RPM IDE drives

This only had 5 users, but was fine as for performance. For what you have described, you could definitely get by with either i5 or i7 and a few gigs of RAM. With anything the more the better. And yes, CPU is needed by everything, from handling web request to retrieving data in DB.

You also have licensing to take into account. I am not sure of the DreamSpark terms, but make sure you can use for production use. SQL server is pretty expensive and with a small application MySQL, or other free db, makes more sense.

There are also some best practices to think about. Ideally I would not host my website and database on the same server, but that in effect doubles your cost. I would have my SQL on a RAID array, with SCSI or SSD drives.

In the end this is a very subjective question, and it depends on what you need vs. what you want, what you are going to spend, and what the future of the application is going to be.