IIS7 is a completely modular, extensible Web server which can be
customized and extended to meet the needs of every Web professional.
Modular Web server architecture
IIS7 is built with a completely modular architecture, on top of rich
extensibility APIs. This enables developers to easily add, remove and even
replace built-in IIS7 components with hand-crafted ones, specifically suited for
any given Web site. It also gives Web administrators complete control over the
surface area of the server, enabling them to install and manage only the
required components, thereby reducing the surface area of the Web server, and
minimizing resource utilization.
Rich Native (C/C++) and Managed (.NET) Extensibility Throughout
Developers can rejoice at the many powerful extensibility options IIS7
provides. At the core, IIS7 is completely extensible using both native (C/C++)
and managed (C#, VB.NET) extensibility APIs, offering developers complete
flexibility over which language to develop extensions with. Here are just a few
reasons to develop extensions on IIS7:
- Empower web applications. Extending IIS enables Web applications to
benefit from powerful functionality that in many cases cannot be easily provided
at the application layer. Using the
managed (.NET) or
native C++ extensibility,
developers can build solutions that add value for all application components,
such as custom authentication schemes, monitoring and logging, security
filtering, load balancing, content redirection, and state management.
- Enjoy a richer development experience. The brand new C++ extensibility model
alleviates most of the problems that previously plagued the ISAPI development,
introducing a simplified object oriented API that promotes writing robust server
code. For example, the new C++ extensibility model is completely asynchronous,
enabling high performance request filtering, and replaces both the ISAPI filter
and extension programming model. In addition, better Visual Studio integration
further improves the experience of developing for IIS.
- Unleash the full power of ASP.NET!
ASP.NET integration in IIS7 enables server
modules to be rapidly developed with the familiar interfaces of ASP.NET 2.0 and
rich ASP.NET application services. ASP.NET modules are able to provide services
uniformly to ASP, CGI, static files and other content types, and are capable of
fully extending the server without the limitation present in previous versions
of IIS.
IIS7’s configuration system and
IIS Manager administration tool are also
completely extensible, enabling developers to provide rich new administration
capabilities for runtime modules.
Reduced Security Footprint, Customized Installation Options
Because IIS7 is a completely modular Web server, Administrators have complete
control over the surface area of the Web server. This enables several key
advantages over previous versions of IIS:
- Secure the server by reducing the attack surface area.
Reducing surface area is one of the most powerful ways to secure a server
system. With IIS7, Administrators can remove all unused server features,
achieving the minimum surface area possible while preserving the
functionality of the Web application.
- Improve performance and reduce memory footprint. By removing unused server
features, Administrators can also reduce the memory usage of the server, and
improve performance by reducing the amount of feature code that executes on
every request to the Web application.
- Build custom / specialized servers. By selecting a particular set of
server features, Administrators can build custom servers that are optimized for
performing a specific function within the datacenter, such as edge caching or
load balancing. Administrators can add custom features to extend or replace any
existing functionality using your own or third party server components built on
the new extensibility APIs. The componentized architecture will provide long
term benefits to the IIS community, by facilitating the development of new
server features as they are needed both inside Microsoft and among third party
developers.
IIS7 also runs on the Server Core installation option of Windows Server 2008, providing even greater control over the Windows Server footprint. Server Core on Windows Server 2008 omits graphical services and most libraries, in favor of a streamlined, command-line driven system. Server Core can be administered locally via the IIS command-line utility AppCmd, or remotely by using WMI. A Server Core installation installs the minimal files needed to provide the required functionality, so less disk space will be used on the server. With a smaller Server Core installation, there are fewer installed components that will need to be updated or patched, and the number of required restarts will be reduced, saving both WAN bandwidth usage by servers and administration time for the IT staff.