Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ken Schaefer Systems Engineer Avanade MVP – Windows Server (IIS) SVR320.

Similar presentations


Presentation on theme: "Ken Schaefer Systems Engineer Avanade MVP – Windows Server (IIS) SVR320."— Presentation transcript:

1

2 Ken Schaefer Systems Engineer Avanade MVP – Windows Server (IIS) SVR320

3 How to use IIS7’s shared configuration to build a Web Farm Learn about new features in IIS7 for Web Farms Learn how IIS7 enables stateless front-end Web servers Reduce time to build a Web Farm with IIS7 Tips and tricks for administrators

4 Challenges with IIS6 What’s new in IIS7 for Web Farms Demos Lessons Learned & Guidance Q&A

5 Common pain points with IIS6/WS03… Metabase corruption issues Too many machine-specific settings No way to share the metabase between servers Lack of metabase synchronization Difficult to manage applications remotely Difficult to deploy new applications

6 1. Configure master server Replication and synchronization are challenging, requiring custom code XML Metabase.XML XML Metabase.XML XML Metabase.XML 2. Replicate config 3. Change configuration XML 4. Re-replicate config

7 Enhanced management through every stage of deployment IIS7: Install what you want, xcopy servers or apps IIS7: Better management for developers and admins IIS7: Better diagnostics and troubleshooting IIS7: Quickly roll-out new services or components

8 What’s new for Web Farm administrators… Ability to share configuration between servers Shared config removes need for synchronization Machine-independent configuration Distributed config down to the application level Xcopy deploy an application or entire server Manage local or remote apps using IIS Manager

9 Replication: Put the same configuration on multiple machines Synchronization: Keep the configuration in sync Portability: Quickly move sites, applications or servers Staged Deployment: Stage and rollback configuration changes

10 Shared App Hosting Shared Config Configuration is shared between multiple nodes, just stays in sync XML AppHost.config

11 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 allow abstraction of physical paths Distributed config provides IIS configuration down to the application level

12 Ken Schaefer Systems Engineer Avanade MVP – Windows Server (IIS)

13 Replication: Put the same configuration on multiple machines Synchronization: Keep the configuration in sync Portability: Quickly move sites, applications or servers Staged Deployment: Stage and rollback configuration changes

14 Unified management and administration IIS/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 Ex: Dev’s settings are pushed to the test server, no more having to manually configure it for them

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

16 Ken Schaefer Systems Engineer Avanade MVP – Windows Server (IIS)

17 Replication: Put the same configuration on multiple machines Synchronization: Keep the configuration in sync Portability: Quickly move sites, applications or servers Staged Deployment: Stage and rollback configuration changes

18 XML AppHost.config Staging New Config v2 v1 Easily manage multiple configuration versions for staging and rollback

19 Ken Schaefer Systems Engineer Avanade MVP – Windows Server (IIS)

20 var config WScript.CreateObject("Microsoft.ApplicationHost.Writabl eAdminManager"); 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();

21 To achieve high fail-over and scalability: Store content on a back-end file server, not on the front-ends Use DFSR to replicate content between remote file servers Changes in WS08 to SMB… Allow for much greater number of connections No more setting MaxCmds/MaxMpt registry

22 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 (app pool, anonymous user, etc.) Copy any custom modules to all machines You have to copy the modules to each machine (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

23 IIS, Web server settings, Web sites, Application pools CLR and ASP.NET Files, assemblies, code on disk and NTFS permissions COM+COM+ Registry settings (DSN, etc.) SQL Databases Windows Servers

24 Before You Enable Shared Config! Make sure that all the servers have the same components installed. Verify on each machine 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.

25 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 or a highly available file store (SAN) How do we cache config on each local box? 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.

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

27 If you install a component when shared config is enabled, you’ll see: Installation failure Error in the Event Log: Event ID 4375 Source: Servicing Server Manager Error: Attempt to install failed with error code -2147023293. Fatal error during installation 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 (Event ID 2280 – Could not load module ) If your credentials for shared config become invalid (password changes, etc.): Enter new set at prompt in the UI Or open redirection.config directly

28 Components that require Metabase Compatibility: ASP.NET 1.1 FrontPage Server Extensions (out-of-band release) Windows SharePoint Services IIS6 based scripts 3 rd 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 IIS6 pipeline worked, use Classic mode WSS requires Classic mode

29 IIS7 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 Machine-independent configuration

30 Insider info on IIS7 Advice and assistance in Forums Online labs, play with IIS7 in your browser

31 Overall Satisfaction with the session9 Usefulness of the content9 Presenter’s Knowledge9 Effectiveness of the session9 Comments: Even more impressive than the Scooby- Do Ride

32

33 © 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.


Download ppt "Ken Schaefer Systems Engineer Avanade MVP – Windows Server (IIS) SVR320."

Similar presentations


Ads by Google