Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith...
-
date post
20-Dec-2015 -
Category
Documents
-
view
217 -
download
0
Transcript of Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith...
Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0Faith AllingtonProgram ManagerMicrosoft 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
Agenda
Challenges with Internet Information Services (IIS) 6.0 What’s New in IIS 7.0 for Web FarmsDemoLessons Learned and GuidanceQuestions and Answers
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
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
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)
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
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
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
Poll
Did you already know that IIS site settings like default document are now stored in the site’s Web.config file?
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
Application Deployment
Creating a new site Xcopy deploying an application
demonstration
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
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
Replication and Synchronization
IIS7
IIS7
IIS7Shared App Hosting
UNCSharedConfig
Configuration is shared between multiple nodes, just stays in sync
XML
AppHost.config
Enabling Shared Config Exporting current configuration Enabling shared configuration Adding a second Web farm node
demonstration
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
Staging and Rollback
IIS7XML
AppHost.config
IIS7
IIS7
UNCStaging New Config
Version 2
Version 1
Easily manage multiple configuration versions for staging and rollback
Staging and Rollback
Staging the installation of a new component
Rolling back after failures
demonstration
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
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
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
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
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®
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
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
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();
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
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
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
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.
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
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
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
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
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
Q&A
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
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
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
© 2007 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.