It might seem like a distant memory now, but when we launched Windows Server 2008 back in February, we made a big deal about the next-generation Web platform included with it: Internet Information Services (IIS) 7.0. We spent a lot of time talking about how IIS 7.0 was redesigned in many fundamental ways. For example, we implemented a more modular architecture that allowed for a streamlined installation around which functionality could be added with a high degree of granularity. We replaced the metabase with XML configuration files to provide greater integration with ASP.NET and offer the ability to scale Web farms more easily through Shared Configuration. We completely rebuilt IIS Manager to make administration easier for both IIS and ASP.NET while allowing full customization through public management APIs. And we also introduced a new Integrated Pipeline that offers greater flexibility in handling application requests using different modules or even different development platforms.

One of the common themes here is extensibility, and it is one of the most important aspects of IIS 7.0: that the functionality provided by IIS 7.0 can be extended and customized in many different ways. In fact, with all the hullabaloo around launch on February 28th, a couple of additional releases on that date slipped under the radar, because that was the day we shipped the first two official Extensions for IIS 7.0 – “FTP 7.0” and “WebDAV 7.0”. These releases were final code and already there have been over 80,000 downloads of FTP and over 30,000 of WebDAV from our IIS Download Center!

But that’s not all. Since February, the IIS team has been working away on a variety of other extensions that all offer enormous benefits to IIS administrators and developers, and in each case, we have provided pre-release versions ahead of time for trial and evaluation purposes. These include extensions that improve manageability, extensions that increase security, extensions that add flexibility, extensions that help serve media, and extensions that assist with deployment.

Before listing these out, however, this would be a good time to mention that there we have two classes of pre-release extension: Beta / CTP and RC / Go Live. I’ll explain these in a little more detail to clarify:

The first type of pre-release is early code – it’s a Beta in the traditional sense, although we sometimes refer to it as a Community Technology Preview or CTP. This is usually the first time anybody will hear about a new extension and what it can do, but we want to get it out in front of IT professionals and developers so they can see what we’re building and provide feedback early enough for us to act on it. However, this type of release has not been tested sufficiently at this point to run in any kind of production environment, so it’s purely for testing purposes.

The second type of pre-release comes later and can be considered Release Candidate or RC quality. In fact, we are so confident in the quality of these builds that we often call them “Go Live” releases, meaning that if a customer wants to be able to run these extensions in a production environment, they are free to do so, albeit at their own risk. This is because we can only offer full support for each extension when it reaches the final “Release to Web” or RTW milestone. Note that all these Extensions go through the full Microsoft product release process and when an Extension has reached “RTW”, it is officially supported by our Customer Service and Support systems (a.k.a. “PSS”).

So far, we have made available 12 different Extensions as CTP, Go Live, or RTW releases. Each one is completely free and integrates fully with IIS 7.0. We even made URL Scan 3.0 and our FastCGI module available for IIS 6.0, although you’ll see us do that less often in the future because we feel strongly that IIS 7.0 should be the Web platform of choice so that’s where we’ll concentrate our efforts. Here’s the full list:




Request Handling

Content Publishing

Media Serving

Over the coming weeks, I’ll post some more details on how these Extensions can bring great benefits to a variety of different scenarios, and we’re working on some cool demos and other resources that will help you make the most of them.

Think you can do better? Bring it on! We have published technical information on how to create extensions using the same APIs that our own IIS developers use, and we’ve even posted sample modules using both managed code and native code. So if you have an idea for some killer new functionality that can extend IIS 7.0, why not build it and share it with the community?

In the coming months we have even more Extensions on the way, so watch this space and the site for updates. And even if you’re not a developer, but you have an idea for an Extension that you think our team might want to consider, please let us know!

David Lowe.