IIS7 on Server Core

Today at TechEd 2007, Bob Muglia announced the availability of IIS7 on Server Core in Windows 2008 Server, starting with the upcoming CTP and RC1 releases.  We've added IIS7 on Server Core as a result of a lot of customer demand to make it available on the lowest footprint Windows server ever.  See Microsoft's PressPass for what Bill Laing has to say about this announcement. 

If you're not familiar with Server Core, it is a low footprint Server installation option that lays down just the minimal footprint to boot up the server, it doesn't even install the  Shell.  This has several key benefits for IT Pros.  First, it means server core uses less disk and memory footprint.  In our testing, we see about a 1GB disk footprint and the server runs well starting with just 512MB ram!  Of course, fewer features also means a lower attack surface and less frequent patching, as well as fewer things to manage. 

Having IIS7 on Server Core is like the perfect marriage.  It means you get an extremely modular, customizable Web server on a thin server OS, perfectly suited for appliance-like environments, or Web farm front-end servers where you want to blast a small, cloned image out and forget about it.

You may wonder: what doesn't work on Server Core?

  • Since Server Core doesn't have the Windows Shell, there are no GUI administration tools for it.  This includes IIS manager, the IIS administration tool.  The IIS cmd-line tool, AppCmd.exe, as well as our WMI and COM APIs work just fine, however, and now that IIS configuration is all stored in config files, you can obviously edit them by hand as well (yes, notepad.exe works on server core!)
  • Currenly the .NET Framework is not on Server Core, which means ASP.NET is currently not available.  This is something the .NET team wants to add and we're working on adding it as soon as possible.  Classic ASP works just fine, and with the new FastCGI support, PHP also runs great on Server Core.
  • Our remote administration service that handles HTTP remote administration and delegated administration relies on the .NET framework, so it is likewise unavailable.  Of course, distributed web.config files still work just fine, so anyone with access to a content directory can publish IIS configuration for the Web site / application.

All other features of IIS7 work as they normally do on any version of Windows server.  The IIS7 on Server Core installation option should be available on an upcoming CTP build, and in RC1. 

Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!

13 Comments

  • IIS booting from flash and then getting all the files (including config) from a file server would be GREAT for big web farms! (A lot less hard disks to fail.)

    However without Asp.net there is not much point as very few web sites are 100% static content.

  • Hi Ian -

    Yep, having IIS7 on server core is a great step towards having stateless front-end servers! We are working hard to get ASP.NET in server core, with some future release. Fortunately, classic ASP and PHP applications should run just fine on Server Core, for the web application developers who choose those languages.

  • So, is support for (ASP).NET planned for RTM? Or after that?

  • Hi Micro - we're still evaluating what it will take, so I can't say for sure. I'm sure you can imagine: we want it there as soon as possible.

  • Mmm I understand that enabling support for ASP.net may add other dependencies to Server Core, since some .net classes are merely managed wrappers of unmanaged DLLs. And this unmanaged DLLs may not be part of Server Core currently. I hope you can workarounf this to enable full ASP.net supoert including asp ajax axtensions, WCF and WWF services.
    And if you have time add PowerShell.

  • Hi

    Does not ISAPI module work?

  • nijinsky: definitely! ISAPI still works just fine, as well as the new native extensibility interface: CHTTPModule, which is a super-set of isapi filter and extension, and offers a completely async model. See http://mvolo.com/blogs/serverside/archive/2006/10/07/IIS7-modules-vs.-IIS6-ISAPI-_2300_10_3A00_-C_2B002B00_-Class_2D00_based-encapsulation-model.aspx for more info.

  • very cool, yeah get .net on it....

    perhaps a ".Net Core" -- as in just the .net bits that play well in the core environment.
    much like the silverlight is a striped down .net or .net cf for ppc / ce OS -- take out namespaces that will not run so you trim down the size...

  • somewhat off topic but Notepad.exe doesn't have a dependancy on the shell?

    Sounds like .net for server core would require a new .net framework in the sense that the compile would have to target a cutdown framework that is lacking all the wrappers as Fernik mentions. Without that it would be too easy to accidentaly use part of the framework that wouldn't work but if they do that hopefully that framework would be usable on all OSes to be able to get IIS to use that while other .net apps can use the normal framework making testing easier.

  • I am really interested to see how this feature works out in the long run, so far it seems great especially for specialized servers. However I am curious about one thing, obviously there would be no local gui administration tools, but will remote gui based tools still be usable or do those rely on the shell itself also? While I am a big fan of command line tools, occasionally you just need to dive into the gui to get some things done or to troubleshoot a problem.

  • II7 without .NET support is very bad. Please provide a clear schedule on .NET availability on Core. It must include full powershell support.

    You cannot evangelize core versus Linux without powershell. This should a requirement from the beginning.
    Good Luck

  • Hi Dave - unfortunately the remote administration service also requires the .NET framework, so it won't be supported until we get .NET on there.

  • Eli: yep, notepad.exe works just fine on server core.

Comments have been disabled for this content.