PDC ’05 – IIS 7.0
Bill Staples, the IIS 7.0 PUM (Product Unit Manager) presented a very enjoyable session on Day 1 on what he aptly called “Roller Coaster Ride on IIS 7.0”.
These are the major points of his presentation:
- IIS 7.0 primary design goal was to maintain and exceed the rock-solid reliability, ease of management, secure design of IIS 6.0. As a matter of fact, Microsoft has released No Critical Security Patches for IIS 6.0 since its release two years back. No other web server in the same period has the same credibility story.
- IIS MMC console is dead. The present MMC interface has outlived. For example it has stretched the limits of number of rows of tabs you can have in one dialog. On its place, a brand new sleek console has been introduced. It features user interface elements like property windows that people are familiar from Visual Studio.
- ISAPI is deprecated for management. In present and previous versions IIS team used a private API to manage the core server components, but developers had to use ISAPI. Also ISAPI is nearly than 10 years old and the webserver scenario has changed from then. In its place, a brand new Win32 API is introduced for management. In fact, IIS 7.0 team also uses this same new API to manage. The new API is used by the graphical, console and scripting interfaces of IIS 7.0
- The IIS Metabase is dead – Both in Binary and in XML format. You can store for each web site and/or web application its configuration in the same Web.Config file as in ASP.NET. In fact, you can even have a web.config for each folder inside a web application. This will allow you to give the complete application and IIS configuration to operations for deployment through XCOPY. No separate instructions to be performed by operations is required
- Because of the last point, you don’t need to be a machine administrator to manage your individual web site. There are new roles called Site Administrator. New roles model is introduced, this is modeled on ASP.NET Roles engine
- The entire IIS architecture is being compartmentalized. Instead of being one monolithic block of all functionalities in one DLL file like today, IIS 7.0 has it has individual modules. This allows for convenient upgrade and patch story
- You can now write IIS extensions using the same ASP.NET httpmodule interface. In fact, you can mix and match native and managed httpmodules.
Since IIS uses HTTPModules, you can use ASP.NET Forms Authentication module to be effective even for non ASP.NET Pages like Perl/Phthon/CGI/ASP.
- Excellent trace and log features not only for ASP.NET but for the entire callstack
- IIS 7.0 will first ship with Windows Vista Client and then with Windows Longhorn server.
I have been using IIS from its 4.0 release, these new features no doubt, will go a long way in managing high traffic websites and web farms. The trace feature by itself is sure to save tons of time for all IIS 7.0 administrators and developers. I am dying to start deploying this. It is now being released with Longhorn Server CTP.