Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Deploying and Managing Web Farms on Microsoft® Internet Information Services (IIS) 7.0 Faith Allington Program Manager Microsoft Corporation."— Presentation transcript:

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

2 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 farms Learn how IIS 7.0 enables stateless front-end Web servers Reduce time to build a Web farm with IIS 7.0 Tips and tricks for administrators Common questions answered

3 Agenda Challenges with Internet Information Services (IIS) 6.0 What’s New in IIS 7.0 for Web Farms Demo Lessons Learned and Guidance Questions and Answers

4 Feedback from Customers Common pain points with IIS 6.0/Windows Server® 2003 … Metabase corruption issues Too many computer-specific settings No way to share the metabase between servers Lack of metabase synchronization Difficult to troubleshoot double-hop authentication Difficult to manage applications remotely Difficult to deploy new applications

5 1. Configure master server Life Before IIS 7.0 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

6 New IIS 7.0 Improvements What’s new for Web farm administrators … Ability to share configuration between servers Shared config removes need for synchronization Computer-independent configuration Distributed config down to the application level Xcopy deploy an application or entire server Manage local or remote apps using IIS Manager Detailed error messages provide user account being used for authentication to Universal Naming Convention (UNC)

7 IIS 7.0 Deployment Life Cycle Enhanced management through every stage of deployment 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

8 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

9 Portable and Manageable Applications Unified management and administration IIS/Microsoft® ASP.NET settings together in Web.config files IIS/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

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

11 Portability XML AppHost.config App Deployment Site Owner Internet Copy Deploy XML Quickly deploy an entire site from the dev computer to the server

12 Application Deployment  Creating a new site  Xcopy deploying an application demonstration demonstration

13 Demo Summary: Application Deployment Created a web site New site has unique app pool by default Didn’t have to add unique identity to IIS_WPG Detailed error helped us troubleshoot Xcopy deployed an application Enabled Code Access Security for the file share IIS settings like DirBrowse stored in the site’s Web.config file

14 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 servers Environment variables enable abstraction of physical paths Distributed config provides IIS configuration down to the application level

15 Replication and Synchronization Shared App Hosting Shared Config Configuration is shared between multiple nodes, just stays in sync XML AppHost.config

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

17 Demo Summary: Enabling Shared Config Exported configuration Easily exported config through the UI Enabled shared config on second server New server could easily be for disaster recovery Lastly, added another node We had 2 front-end web servers Improved redundancy and fault tolerance

18 Staging and Rollback XML AppHost.config Staging New Config Version 2 Version 1 Easily manage multiple configuration versions for staging and rollback

19 Staging and Rollback  Staging the installation of a new component  Rolling back after failures demonstration demonstration

20 Demo Summary: Staging and Rollback Staging installation of components Removed shared config Installed FTP locally Exported new config to share Re-enabled shared config Rollback Broken config (due to missing ASP) Reverted back to known-good configuration

21 Content Replication To achieve high fail-over and scalability: Store content on a back-end file server, not on the front-ends Use 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

22 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 Pros Quick, easy to use Ensures simple scenario availability Cons Not fully redundant solution Changes to config aren’t replicated until file share is back online

23 Shared Config and DFS When to use? Uptime is critical and you need to ensure config is always available Pros Great solution for content and config Config is always up-to-date Relatively easy to configure Cons More work to set up than offline files

24 Web Farm Components IIS, Web server settings, Web sites, application pools Common language runtime (CLR) and ASP.NET Files, NTFS file system permissions COM+COM+ Registry settings (data source names [DSN], etc.) Microsoft ® SQL Server™ databases Computers running Windows Server ®

25 Best Practices Before you enable shared config! Make sure that all the servers have the same components installed Verify 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 enabled Take a server offline and update separately Best practice to configure servers as needed before enabling shared config

26 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 computers You 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

27 Code to Enable Shared Config var config = WScript.CreateObject("Microsoft.ApplicationHost.W ritableAdminManager"); 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();

28 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 computer Example: 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

29 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 files Files are copied locally and used until file server is back online

30 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 times Note: 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

31 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.

32 Troubleshooting Tips If you install a component when shared config is enabled, you’ll see: Installation failure Error in the Event Log If you export shared config when some servers don’t have the same components: 503 Service Unavailable for sites Error 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 UI Or open redirection.config directly

33 Migrating to IIS 7.0 Components that require Metabase Compatibility: ASP.NET 1.1 Microsoft® Office FrontPage® Server Extensions (out-of-band release) Windows® SharePoint® Services IIS 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 mode Windows SharePoint Services requires classic mode

34 Enhanced Web Farm Management Configuration and content solutions … Small: 2–6 nodes Current recommendation is to use shared config Remote file server Medium: 6–12 nodes Depends on the farm, you may want to move to Microsoft® System Center Distributed File System for content Large: 12+ nodes System Center and Microsoft® Windows® Installer packaging

35 Session Summary IIS 7.0 Web farm enhancements Create stateless front-ends Share their configuration from a UNC path Eliminate replication and synchronization Quickly xcopy IIS config with code and content Improved management of applications Staging and rollback improvements Computer-independent configuration

36 IIS.NET: Home for IIS Community! In-depth technical articles and samples Connect with other IIS experts on blogs & forums Free advice and assistance in forums Download centre with IIS solutions

37 Q&A

38 IIS 7.0 at ITForum: Session Schedule Tuesday 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

39 Resources TechNet Library Knowledge Base Forums TechNet Magazine Security bulletins User Groups Newsgroups E-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 Groups http://www.microsoft.com/communities/default.mspx http://www.microsoft.com/communities/default.mspx Microsoft Learning and Certification http://www.microsoft.com/learning/default.mspx http://www.microsoft.com/learning/default.mspx Microsoft Developer Network (MSDN) & TechNet http://microsoft.com/msdn http://microsoft.com/technet http://microsoft.com/msdn http://microsoft.com/technet Trial Software and Virtual Labs http://www.microsoft.com/technet/downloads/trials/default.mspx http://www.microsoft.com/technet/downloads/trials/default.mspx IIS.NET Walkthroughs, Forums, Blogs and More http://www.iis.net http://blogs.iis.net http://forums.iis.net http://www.iis.net http://blogs.iis.net http://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

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

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


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

Similar presentations


Ads by Google