We have to replace our server (2003-based), and we was thinking that it's time to switch to Windows 2008 r2.
Then i saw this: http://technet.microsoft.com/en-us/library/cc753473.aspx
We only need IIS, no ftp/email/AD required
It looks like IIS in Win7 and Win2008r2 it's almost the same.
How do you think about Windows 7 as a web server?
There are some "hidden" limitations? We could even save a lot of money.
The IIS found in non-server editions of Windows have significant limitations on the number of concurrent connections. This is certainly true of XP (a 10 connection limit), and I don't expect the limitation was removed or raised in Vista or 7.
You may also find it to be tweaked, much like SQL Express, to be more aggressive about dropping things from RAM quickly after use. Such optimisations would lower its impact on other applications running on the machine, but would also limit its performance as purely a web server. Any such tweaks are much more likely to be easily reversible than the connections limit though.
Edit: I've not found any Windows 7 specific information, but give the IIS version bump between Vista and 7 is a point release (7->7.5) and the same as that between 2008 and 2008sr2, I'm guessing there is little difference between Vista and 7 on the matter. This link states that the 10 connections limit from XP was removed in Vista, but replaced by a similar but subtly different 3 or 10 (depending on Windows edition) active connections limit. This means that a greater number of connections are possible and users won't see "500 internal server error" responses due to a connection limit, but the activity on those connections will be queued in a way they are not under IIS on server editions - so your users will see lower performance unless your sites are not expected to be at all busy.
It should also be noted that Windows 7's EULA may have stipulations about the uses you can put it to (I've not read the EULA, but it is something I might expect to find in the license for a desktop edition of the OS) that would make running a commercial web services from it for anything other than dev/testing a licence breach. Even if not (or if such a stipulation in an EULA is not enforceable in your jurisdiction), using Windows 7 in this way is not going to be considered a supported configuration. You need to take these possibilities into account as well as performance issues.
If all you need is a web server then Windows Web Server 2008 R2 would be the right version to purchase. Windows 7 is a consumer/business grade operation system, and while it can be used for hosing websites it is aimed more at hobby or development work than true corporate web hosting. The web version does not include any other server features (Domain, file Server, etc...) but it does have full IIS capabilities with only a few limitations. It will still cost $300-$400, but would be more reliable as a web server than Windows 7. If you want a cheaper option then you may want to look at virtual or shared hosting options.
The connection limit is still on by default, but can be changed in a Microsoft blessed way through a simple registry edit. See the answer to "Are there any connection limits on Windows 7 IIS 7.5" for details.
It depends on the expected load, what other interfaces you need IIS to have to other boxes/APIs and how your users expect it to perform, both normally and under heavy load. If this is low priority then sure, give W7 a go, you can always wipe and install W2K8 if needed.
If it were this easy for organizations to save a ton of money, it would be done all the time.
If you're just testing some things, it would probably work. Otherwise, I think MS imposes limits either in the registry or with licensing that prevents you from using it as a full-blown corporate or business web server.
I think there were concurrent connection limits when running XP as a server that were rather low; fine for a home website or a developer's testing site, but if you're using it for business it wouldn't last a day.
On top of that I'd worry about support; if you needed tech support or a consultant to come in for some reason, they're probably going to tell you that you need Windows Server in order to be compliant. Windows 7 wasn't designed to be used this way and Microsoft wants you to pay more for the server version to use it in a server role, even if Windows 7 were technically able to handle the load (which is probably is, just artificially crippled).
In the short run using Win7 for your server would be great for testing or developing. For production environments, you're asking for long term trouble (plus some software is keyed to check versions of the OS, and won't install in non-server platforms). Is it worth the potential headache? That's up to you to decide.
You can use any of the non server versions of Windows as servers (web/file/database...) - the main problem being Microsoft's 10 concurrent connection limit.
This is not to say that a W7 web server could only be used by 10 users as HTTP is stateless and an average request only takes a fraction of a second so you can over contend the server and depending on the web app (AJAX obviously screws it up a bit) you could have perhaps even 100+ users happily using the server and not hitting the 10 concurrent user limit.
But... just because you can doesn't mean you should.