Transcript Slide 1

Introducing IIS7:
Microsoft’s
Next Generation
Web Server
Improved Security
Modular design results allow:
Reduced installation footprint
Customized, streamlined servers
Application Pools are Sandboxed by default
Easier to manage
Redesigned IIS Manger
Easier to use while allowing more control
Remote administration over https
Delegate authority to configure to non-admins
Your choice of powerful management tools
Increase uptime with
Prescriptive error messages
Built in failed request tracing
Improved web farm support with shared
configuration
Proven Scale
MySpace - 23 Billion Page* Views/Month
Microsoft.com - 10k Req/sec & 300K
Connections
Match.com 30 million page view daily
Proven Security
No critical IIS 6 hotfixes since RTM
as of 4/4/07
Proven Trust
54% of Fortune 1000 use IIS
(port80software.com)
A solid foundation to build on.
Authentication
NTLM
Basic
Anon
Monolithic implementation
Install all or nothing…
…
CGI
Determine
Handler
Static
File
ASP.NET
ISAPI
…
PHP
Send Response
Log
Compress
Extend server functionality only
through ISAPI…
Authentication
NTLM
Basic
Server functionality is split
into ~ 40 modules...
Anon
Authorization
…
ResolveCacheCGI
…
Determine
Static
File
Handler
ExecuteHandler
ISAPI
…
…
UpdateCache
Send Response
SendResponse
Log
Compress
Modules plug into a
generic request pipeline…
Modules extend server
functionality through a
public module API.
IIS 6
IIS 7
Benefits
Architecture
Monolithic
Modular
Customize,
Extend,
Streamline
Setup
Most Features
Minimal
installed
installation for
(many disabled) designated role
Increased
Security
Extend
Features
ISAPI filters and Add modules
ISAPI
and handlers in
extensions
native or
managed code
Easier to
develop
application and
administration
features
Customize UI
Possible, but
not common.
Much easier for
developers to
provide new
admin features
Extensible,
modular, based
on .NET
Name
Title
Group
 Completely redesigned IIS Manager
 Task-oriented
 Context sensitive ‘Actions’ pane
 Tabs are replaced with Icons
 Allows IIS & and ASP.NET configuration
 Icons instead of tabs
 Provides Managed extensibility
 Add new management and IIS features
 Application configuration can integrate into UI
 View health and diagnostics within the UI
 Built in remote administration over https
 Manage 1 or 1000’s of sites
 Use IIS Manager from Longhorn, Vista,
Windows Server 2003 & XP
 No administration website required!
 Secure, firewall-friendly connection
over HTTP/SSL
 Authenticates both Windows and non-
Windows credentials
 Fully customizable
 Supports auto-deployment of new
Administration features from server->client
 Can hide features remote user cannot edit
 Application Pool architecture based on IIS 6
 Familiar settings for recycling, health monitoring, and
process identity are the same
 Two pool types in IIS 7
 Integrated
 Allows use of managed code to provide pipeline
services for all requests
 Example: .NET Forms authentication for Perl
 Integrated is the default for new pools
 Classic
 Works same as IIS 6
 Ensures .NET compatibility
ISAPI-based Implementation
Only sees ASP.NET requests
Feature duplication
Authentication
NTLM
Basic
Anon
…
Determine
Handler
CGI
aspnet_isapi.dll
Static
File
Authentication
ISAPI
Windows
…
ASPX
…
Send Response
Log
Forms
Compress
Map
Handler
Trace
…
…
Basic
Anon
Authentication
Authorization
ResolveCache
…
ExecuteHandler
…
Classic (IIS 6)
Integrated Mode
.NET modules / handlers
plug directly into pipeline
Process all requests
Authentication
Full runtime fidelity
aspnet_isapi.dll
Static
File
Forms
ISAPI
Windows
…
ASPX
UpdateCache
SendResponse
Two App Pool Modes
Map
Handler
Compress
Log
…
Trace
…
 Moved from Metabase.xml (and .bin) to
Applicationhost.config
 File based configuration improves
manageability
 Config can be copied to other servers
 Easier to read
 Facilitates backup, restore and editing
 You now have choices about how to
manage IIS configuration
1.
Centralized Configuration
2.
Delegated Administration
3.
Shared Configuration
Contso.com root
Contoso.com
\ Orders
.NET Framework
Machine.config
NET global settings
Site Root
Web.config
Global web.config
ASP.net
global settings
<system.web>
.NET settings
..
..
IIS 7
Applicationhost.config
Global settings and
location tags
..
<system.webServer>
IIS7 Delegated settings
..
 Delegated Control to Site Owners
 Site Owners control designated settings
without elevated server privileges
 Delegated settings written to Web.config
files
 Site and/or application level
 Shared with ASP.net configuration
 XCopy deploy configuration and content
 Granular control over delegated settings
allows precise locking
 Example:
 Always require Windows Authentication, but let
site owner control Basic.
 All web servers can share a single
application host.config
 Eliminates configuration replication in a
web farm
 All administration tools are redirected to a
common UNC path
 Does not replicate content
 First appearance in Longhorn Beta 3
New sites are assigned to a unique pool
Unique SID is associated with pool
At runtime, a temporary
“applicationpool.config” file is created
Contains only settings for the pool
Unique SID is allowed access
No other pool can read the configuration
Process ID is still Network Service
 View Detailed Errors in the Browser
 New errors provide prescriptive guidance
 Access Runtime State Info in Real-Time
 New APIs expose all runtime diagnostic
information
 Ex. See all currently executing requests
 Rapidly Troubleshoot Faulty Applications
 Define ‘failures’ triggers by error code or time taken
 Configurable per application or URL
 Resulting Failed Request log is chronicle of
events for the “failed” request
 Quickly identify bottlenecks
 Developers can add custom events
APPCMD
General purpose command line tool
Query and control state, change settings,
add sites and vdirs
Managed Code API
Microsoft.Web.Administration
WMI
Improved namespace for IIS7
ADSI compatibility
Powershell
use with Managed API and WMI
C:\> appcmd list sites
SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started)
SITE "Site1" (id:2,bindings:http/*:81:,state:Started)
SITE "Site2" (id:3,bindings:http/*:82:,state:Stopped)
C:\>
appcmd list requests
REQUEST "fb0000008000000e" (url:GET
/wait.aspx?time=10000,time:4276 msec,client:localhost)
C:\> appcmd list requests /apppool.name:DefaultAppPool
C:\> appcmd list requests /wp.name:3567
C:\> appcmd list requests /site.id:1
Filter results by
application pool,
worker process, or
site
Go Live License available to public
Download Centre – Download IIS 7 Extensions such as new
FTP server
TechCenter to easily find the info you need
Advice and assistance in Forums
Walkthroughs, examples, and code samples
Online labs – test IIS7 in your browser!
Web Server and Services Program
Invitations to Deep Dives
Training Events in Redmond
Virtual Labs
Email Based Support
Access to Builds of Longhorn Server
Case Study opportunities
For more information contact:
[email protected]
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it
should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Deprecated
NNTP
IIS 5 Worker Process Isolation Mode
FPSE (compatible alternative on IIS.net)
Metabase.bin/Metabase.xml
IUSR_<servername> IWAM_ <servername>
and IIS_WPG
POP3
No administration website
Handler and module configuration settings have
moved:
system.web/httpHandlers →
system.webServer\handlers
system.web/httpModules →
system.webServer\modules
Watch for module conflicts in request processing
Setting the “managedHandler” precondition for a
module means “execute only for ASP.NET
requests”