deploying and managing web farms on microsoft® internet information services (iis) 7.0 faith...

41
Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Post on 20-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0Faith AllingtonProgram ManagerMicrosoft Corporation

Page 2: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Session Objectives and Takeaways

How to use IIS 7.0 shared configuration to build a Web farm

Learn about new features in IIS 7.0 for Web farmsLearn how IIS 7.0 enables stateless front-end Web servers

Reduce time to build a Web farm with IIS 7.0Tips and tricks for administratorsCommon questions answered

Page 3: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Agenda

Challenges with Internet Information Services (IIS) 6.0 What’s New in IIS 7.0 for Web FarmsDemoLessons Learned and GuidanceQuestions and Answers

Page 4: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Feedback from Customers

Common pain points with IIS 6.0/Windows Server® 2003 …

Metabase corruption issuesToo many computer-specific settingsNo way to share the metabase between serversLack of metabase synchronizationDifficult to troubleshoot double-hop authenticationDifficult to manage applications remotelyDifficult to deploy new applications

Page 5: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

1. Configure master server

Life Before IIS 7.0

IIS6

IIS6

IIS6

XML

Metabase.XML

XML

Metabase.XML

XML

Metabase.XML 2. Replicate config

3. Change configuration

XML

XML

XML

4. Re-replicate config

Replication and synchronization are challenging, requiring custom code

Page 6: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

New IIS 7.0 Improvements

What’s new for Web farm administrators …

Ability to share configuration between serversShared config removes need for synchronizationComputer-independent configurationDistributed config down to the application levelXcopy deploy an application or entire serverManage local or remote apps using IIS ManagerDetailed error messages provide user account being used for authentication to Universal Naming Convention (UNC)

Page 7: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

IIS 7.0 Deployment Life CycleEnhanced management through

every stage of deployment

1. Deploy

2. Manage

3. Maintain

4. Re-Deploy

IIS 7.0: Install what you want, xcopy servers or applications

IIS 7.0: Better management for developers and admins

IIS 7.0: Better diagnostics and troubleshooting

IIS 7.0: Quickly roll-out new services or components

Page 8: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Shared Configuration Benefits

Replication: Put the same configuration on multiple computers

Synchronization: Keep the configuration in sync

Portability: Quickly move sites, applications, or servers

Staged Deployment: Stage and rollback server changes

Page 9: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Portable and Manageable Applications

Unified management and administrationIIS/Microsoft® ASP.NET settings together in Web.config filesIIS/ASP.NET side-by-side in the management tool

Site and application settings are xcopied alongside code and content

Example: Dev’s settings are pushed to the test server, no more having to manually configure it for them

Page 10: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Poll

Did you already know that IIS site settings like default document are now stored in the site’s Web.config file?

Page 11: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Portability

IIS7XML

AppHost.config

IIS7

IIS7App Deployment

UNC

Site Owner

Internet

Copy Deploy

XML

Quickly deploy an entire site from the dev computer to the server

Page 12: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Application Deployment

Creating a new site Xcopy deploying an application

demonstration

Page 13: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Demo Summary:Application Deployment

Created a web siteNew site has unique app pool by defaultDidn’t have to add unique identity to IIS_WPGDetailed error helped us troubleshoot

Xcopy deployed an applicationEnabled Code Access Security for the file shareIIS settings like DirBrowse stored in the site’s Web.config file

Page 14: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Powerful New XML Config

New configuration files:applicationHost.config (IIS global/site configuration, metabase equivalent)administration.config (IIS UI configuration)redirection.config (Shared config settings)

Easily copy config between serversEnvironment variables enable abstraction of physical pathsDistributed config provides IIS configuration down to the application level

Page 15: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Replication and Synchronization

IIS7

IIS7

IIS7Shared App Hosting

UNCSharedConfig

Configuration is shared between multiple nodes, just stays in sync

XML

AppHost.config

Page 16: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Enabling Shared Config Exporting current configuration Enabling shared configuration Adding a second Web farm node

demonstration

Page 17: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Demo Summary:Enabling Shared Config

Exported configurationEasily exported config through the UI

Enabled shared config on second serverNew server could easily be for disaster recovery

Lastly, added another nodeWe had 2 front-end web serversImproved redundancy and fault tolerance

Page 18: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Staging and Rollback

IIS7XML

AppHost.config

IIS7

IIS7

UNCStaging New Config

Version 2

Version 1

Easily manage multiple configuration versions for staging and rollback

Page 19: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Staging and Rollback

Staging the installation of a new component

Rolling back after failures

demonstration

Page 20: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Demo Summary:Staging and Rollback

Staging installation of componentsRemoved shared config Installed FTP locallyExported new config to share Re-enabled shared config

RollbackBroken config (due to missing ASP)Reverted back to known-good configuration

Page 21: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Content Replication

To achieve high fail-over and scalability:Store content on a back-end file server, not on the front-endsUse Distributed File System Replication (DFSR) to replicate content between remote file servers

Changes in Windows Server® 2008 to Server Message Block (SMB) …

Enable greater number of connections No more setting MaxCmds/MaxMpt registry

Page 22: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Shared Config and Offline Files

When to use? If you want to ensure front-ends use a cached copy of applicationHost.config when file share is down

ProsQuick, easy to useEnsures simple scenario availability

ConsNot fully redundant solutionChanges to config aren’t replicated until file share is back online

Page 23: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Shared Config and DFS

When to use?Uptime is critical and you need to ensure config is always available

ProsGreat solution for content and configConfig is always up-to-dateRelatively easy to configure

ConsMore work to set up than offline files

Page 24: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Web Farm Components

IIS, Web server settings, Web sites, application pools

Common language runtime (CLR) and ASP.NET

Files, NTFS file system permissions COM+

Registry settings (data source names [DSN], etc.)

Microsoft® SQL Server™ databases

Computers running Windows Server®

Page 25: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Best Practices

Before you enable shared config!Make sure that all the servers have the same components installedVerify on each computer using Role Manager or registry query

Before you install a new component!If it writes to the applicationHost.config, you can’t install it with shared config enabledTake a server offline and update separatelyBest practice to configure servers as needed before enabling shared config

Page 26: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Xcopy Deployment

You can xcopy the applicationHost.config and administration.config files

Important tip: First export the encryption keys if you use encrypted properties or plan to

Encrypted properties typically are passwords for custom identities (application pool, anonymous user, etc.)

Copy any custom modules to all computersYou have to copy the modules to each computer (no central storage)But it won’t break the UI if there’s a custom module in admin.config that doesn’t exist on the server

Page 27: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Code to Enable Shared Config

var config = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager"); config.CommitPath = "MACHINE/REDIRECTION";   var section = config.GetAdminSection("configurationRedirection", "MACHINE/REDIRECTION"); section.Properties.Item("enabled").Value = true; section.Properties.Item("path").Value = "\\\\somemachine\\share\\folder"; section.Properties.Item("userName").Value = "user"; section.Properties.Item( "password" ).Value = “pass"; config.CommitChanges();

Page 28: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Gotcha's

Shared config servers don’t know about each other (there’s no “server list”)

This means that performing service-level changes has to occur on each computerExample: Stopping a site on one server will not stop it on other servers, you need to do this Example: Setting WMSVC to automatic or starting it on one server will not affect the other servers

Page 29: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Questions—Outages

What happens if the file server with the config goes down, but the Web servers are still up?

Config will be cached in memory. If the Web service is restarted, it will report invalid config.Mitigation: Use a redundant solution like DFSR for both content and configuration

How do we cache config on each local computer?

Use offline files, or client-side caching, just for the shared config filesFiles are copied locally and used until file server is back online

Page 30: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Questions—Performance

What is the impact to performance when any server changes are made to the farm?

Changes are written to the shared config. If you change a global setting, all active worker processes will restart. Mitigation: Perform global changes during non-peak timesNote: Only global-level changes cause the restart, changes to individual pools/sites will only affect that pool/site

Does using shared config cause less throughput for sites?

Not a significant decrease and the IIS team is recommending it for Web farms

Page 31: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

More Questions

What if I have a different IP address on each node (I’m not using a single, virtual IP–like Network Load Balancing [NLB])?

Configure multiple bindings for each site

Does the new, out-of-band FTP server work with shared config?

Yes! But per the best practices, you need to either install it prior to enabling shared config … or you need to stage the deployment one node at a time.

Page 32: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Troubleshooting Tips

If you install a component when shared config is enabled, you’ll see:

Installation failureError in the Event Log

If you export shared config when some servers don’t have the same components:

503 Service Unavailable for sitesError in the Event Log that a module is missing

If your credentials for shared config become invalid (password changes, etc.):

Enter new set at prompt in the UIOr open redirection.config directly

Page 33: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Migrating to IIS 7.0

Components that require Metabase Compatibility:

ASP.NET 1.1Microsoft® Office FrontPage® Server Extensions (out-of-band release)Windows® SharePoint® ServicesIIS 6.0–based scripts Third-party applications that rely on custom metabase data

When to use classic mode for your application pool?

If your application relies on the way the IIS 6.0 pipeline worked, use classic modeWindows SharePoint Services requires classic mode

Page 34: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Enhanced Web Farm Management

Configuration and content solutions …

Small: 2–6 nodesCurrent recommendation is to use shared configRemote file server

Medium: 6–12 nodesDepends on the farm, you may want to move to Microsoft® System Center Distributed File System for content

Large: 12+ nodesSystem Center and Microsoft® Windows® Installer packaging

Page 35: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Session Summary

IIS 7.0 Web farm enhancementsCreate stateless front-endsShare their configuration from a UNC pathEliminate replication and synchronizationQuickly xcopy IIS config with code and contentImproved management of applicationsStaging and rollback improvementsComputer-independent configuration

Page 36: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

IIS.NET: Home for IIS Community!

In-depth technical articles and samplesConnect with other IIS experts on blogs &

forumsFree advice and assistance in forums

Download centre with IIS solutions

Page 37: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Q&A

Page 38: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

IIS 7.0 at ITForum: Session ScheduleTuesday

Friday

09:00 - 10:15 Tent 1

13:30 - 14:45 Room 115

15:15 - 16:30 Room 134

IIS 7.0 for IT Pros (WSI204) Managing Web Farms on IIS (WSI302)

Securing Internet Information Services 7 (WSI03-IS)Wednesday

Remotely Managing for IIS 7.0 (WSI309)

10:45 - 12:00 Room 121

13:30 - 14:45    Room 115 Publishing Content to IIS 7.0 (WSI308) 

Troubleshooting Web Sites on IIS 7.0 (WSI02-IS) 

09:00 - 10:15 Room 131

10:45 - 12:00    Room 125

15:45 - 17:00    Room 115

Thursday

Running PHP on Windows Server 2008 (WSI307)Customized Web Server on Server Core (WSI311)

Managing IIS 7.0 Through Scripting  (WSI310)

09:00 - 10:15    Room 115

10:45 - 12:00    Room 134

12:15 - 13:00 Room 116

13:30 - 14:45    Room 133

Securing Internet Information Services 7 (WSI03-IS)

Deliver Rich Media on Windows Server 2008 (WSI01-PD)Q&A with the IIS Product Team (WSI04-IS)

Location

Page 39: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Resources

TechNet Library

Knowledge Base Forums TechNet Magazine

Security bulletins User Groups

NewsgroupsE-learning Product

Evaluations Videos Webcasts V-labs

Blogs MVPs Certification Chats

Visit TechNet in the ATE Pavilion and get a FREE 60-day subscription to TechNet Plus!

learn

support

connect

subscribe

Technical Communities, Webcasts, Blogs, Chats & User Groupshttp://www.microsoft.com/communities/default.mspx

Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx

Microsoft Developer Network (MSDN) & TechNet http://microsoft.com/msdn http://microsoft.com/technet

Trial Software and Virtual Labshttp://www.microsoft.com/technet/downloads/trials/default.mspx

IIS.NET Walkthroughs, Forums, Blogs and Morehttp://www.iis.nethttp://blogs.iis.nethttp://forums.iis.net

New, as a pilot for 2007, the Breakout sessions will be available post event, in the TechEd Video Library, via the My Event page of the website

Page 40: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

Complete your evaluation on the My Event pages of the website at the CommNet or the Feedback Terminals to win!

All attendees who submit a session feedback form within 12 hours after the session ends will have the chance to win the very latest HTC 'Touch' smartphone complete with Windows Mobile® 6 Professional

Page 41: Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation

© 2007 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.