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”