One of the major bundled applications with any version of Windows on the server is Internet Information Services. And what a long road it's been since IIS 4, the first version of IIS, which came with Windows NT Server 4.0.
The product has been redesigned for Longhorn with security in mind, can now run server-side applications with the help of Microsoft's .Net programming languages, and has transitioned from a boutique-style Internet server into a world-class set of code that can run even the most intense Internet-facing applications.
So what improvements will IIS 7, included in the upcoming Longhorn Server, bring to the table? Let's take a look at five major enhancements to IIS and what they mean for you.
IIS is completely modular.
If you're familiar with the popular Apache Web server software, you know that perhaps its biggest strength is that Apache can run on a bare-bones installation. You can configure it to serve just static HTML and nothing else, or you can dynamically load modules that allow different types of content to be processed and served. You can compile a custom Apache installation that does only what you want it to.
IIS has never really been able to pick and choose from its features and abilities, which had two significant drawbacks. For one, its performance somewhat suffered because the code was busy hosting features and supporting content that you may have never intended to use. Two, security was a problem in that the surface area of the product was made larger by default, even if you had no use for some features.
In IIS 7, however, features operate modularly. You can load them in any combination and with no dependencies and really create a lean, mean server that does what you want it to do very well -- and it does nothing else. You also gain the benefit of IIS 7's extensibility: It's easier than ever to write a custom module that plugs directly into the IIS core to enable special functionality for your operation.
IIS 7 can be configured from a text file.
Taking another page from Apache's playbook, each setting in any site configured within IIS can be edited directly from the web.config file. Aside from the obvious convenience, this is a boon for companies that host large numbers of Web sites. It's now trivial to deploy an identical configuration across thousands of sites in seconds; you can just copy web.config to each site and you are finished.
You can also delegate administration of certain sections of web.config to other people, so that a bit of control is available for, say, individual site owners while not necessarily requiring everyone to contact the IIS administrator for any changes to be made. Version control is equally simple -- just make several different versions of a text file, store them in some organized fashion and retrieve when necessary. Very cool.
The management interface for IIS 7 has been completely designed and is now more task-oriented.
IIS throws away the sometimes confusing, cluttered interface that plagued IIS 4, 5 and 6 and offers a brand new console look. It's now designed to expose more features in a sensible manner to the user while making rapid, large-scale administration across hundreds or thousands of sites quite simple. As with most everything else about IIS 7, the new interface is extensible as well, so you can create custom plug-ins that work directly within the IIS 7 Management Console.