Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Deploying and Configuring Kentico CMS in a Load-Balanced, Highly Available Environment<br />Bryan Soltis – Senior Software...
Agenda	<br />Overview of Load Balancing / High Availability<br />Load Balancing Basics<br /><ul><li>Methodology
Architecture</li></ul>Configuring Site Traffic<br /><ul><li>Appliances / Software
Session Management
HTTP/HTTPS</li></ul>Web Server Configuration<br /><ul><li>IIS configuration
Site Deployment
IP Configuration</li></ul>Database Configuration<br /><ul><li>Clustered servers
Active / Passive</li></ul>Kentico Site Web Farm Support<br /><ul><li>Overview
Web.config settings
CMS Site Manager settings</li></ul>Testing the system<br />Tips / Tricks<br />Special Considerations<br /><ul><li>File rep...
WebAnalytics
SmartSearch</li></ul>Questions/Answers<br />
Overview of Load Balancing / High Availability<br />What is Load Balancing / High Availability?Load balancing is a techniq...
Load Balancing Basics<br />Load balancing a Kentico website consists of deploying the site to multiple web servers/databas...
Configuring Site Traffic<br />Configuring site traffic involves deciding how inbound traffic will directed to the multiple...
Configuring Site Traffic<br />ASP.NET Sessions<br />In-Proc<br />Default configuration.  Sessions are maintained in memory...
Objects held in session must be serializable.  Kentico objects are by default.
Microsoft provides scripts to create database
Session data will be automatically cleanup by the database</li></li></ul><li>Configuring Site Traffic<br />SQL Server Sess...
Upcoming SlideShare
Loading in …5
×

Kentico webinar load_balanced_solutions

4,401 views

Published on

Topics covered included network architecture, SQL Server configuration, .NET configuration, and Kentico CMS configuration and optimization.
Network Architecture
- Server configuration
- Load balancing
- Traffic routing
- HTTP/HTTPS considerations
- File replication
SQL Server Configuration
- Clustered SQL server architecture
- Active/Passive
- Database configuration/settings
.NET Configuration
- Session state management
- Web server configuration
Kentico configuration
- Web farm synchronization
- Best practices

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Kentico webinar load_balanced_solutions

  1. 1.
  2. 2. Deploying and Configuring Kentico CMS in a Load-Balanced, Highly Available Environment<br />Bryan Soltis – Senior Software Engineer<br />Kentico Certified Developer<br />Kentico Certified Trainer<br />
  3. 3. Agenda <br />Overview of Load Balancing / High Availability<br />Load Balancing Basics<br /><ul><li>Methodology
  4. 4. Architecture</li></ul>Configuring Site Traffic<br /><ul><li>Appliances / Software
  5. 5. Session Management
  6. 6. HTTP/HTTPS</li></ul>Web Server Configuration<br /><ul><li>IIS configuration
  7. 7. Site Deployment
  8. 8. IP Configuration</li></ul>Database Configuration<br /><ul><li>Clustered servers
  9. 9. Active / Passive</li></ul>Kentico Site Web Farm Support<br /><ul><li>Overview
  10. 10. Web.config settings
  11. 11. CMS Site Manager settings</li></ul>Testing the system<br />Tips / Tricks<br />Special Considerations<br /><ul><li>File replication
  12. 12. WebAnalytics
  13. 13. SmartSearch</li></ul>Questions/Answers<br />
  14. 14. Overview of Load Balancing / High Availability<br />What is Load Balancing / High Availability?Load balancing is a technique to distribute workload evenly across two or more computers, network links, CPUs, hard drives, or other resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload.<br />
  15. 15. Load Balancing Basics<br />Load balancing a Kentico website consists of deploying the site to multiple web servers/databases to deliver the application.<br />Load balancing appliance/software for traffic<br />Multiple web servers<br />Clustered SQL Servers<br />Session Management<br />
  16. 16. Configuring Site Traffic<br />Configuring site traffic involves deciding how inbound traffic will directed to the multiple servers. This can be managed by hardware or software, with varying configuration options.<br />
  17. 17. Configuring Site Traffic<br />ASP.NET Sessions<br />In-Proc<br />Default configuration. Sessions are maintained in memory on the web server. Non-transferable in a load balanced environment.<br />State Server<br />Sessions are maintained in memory on one central server. Will allow for sessions to be maintained across the web farm, but still a single point of failure.<br />SQL Server<br />Sessions are maintained in a SQL Server database. All page requests will update session information. SQL Server based session, along with clustered SQL servers will provide the most secure, redundant environment. <br />Notes<br /><ul><li>Additional SQL Server trips to update session data may result in a performance hit
  18. 18. Objects held in session must be serializable. Kentico objects are by default.
  19. 19. Microsoft provides scripts to create database
  20. 20. Session data will be automatically cleanup by the database</li></li></ul><li>Configuring Site Traffic<br />SQL Server Session<br />All session data stored in SQL Server<br />Allow for all web farm servers to access session data<br />Simple creation (via scripts)<br />Self cleaning (via scripts)<br />Restorable (SQL backups)<br />
  21. 21. Configuring Site Traffic<br />NLB<br />Free with Microsoft Windows Server<br />Easy installation / configuration<br />Limited customization<br />“Simple” load balancing<br />
  22. 22. Configuring Site Traffic<br />HTTP / HTTPS<br />Traffic can be secured at load balancer level. This can alleviate processing on the web farm servers because all encryption will occur at the load balancer level.<br />Note: <br />Typically only available with hardware load balancing.<br />
  23. 23. Web Server Configuration<br />Standard IIS sites. <br />Site will have 1 external IP<br />Each web server will contain a unique internal IP. <br />Load balancer will route traffic to each internal IP as configured.<br />Site is fully deployed to each server in the web farm.<br />
  24. 24. Database Configuration<br />SQL Server databases can be configured in a number of ways to achieve redundancy and high availability.<br />Active / Active<br /><ul><li>Best use of hardware
  25. 25. Potential performance issues</li></ul>Active / Passive<br /><ul><li>Minimum performance issues
  26. 26. Hardware held in reserve</li></li></ul><li>Kentico Site Web Farm Support<br />Kentico supports multiple web servers in a web farm. Kentico will automatically replicate uploaded files to all servers in the web farm at configurable intervals. Scheduled tasks are utilized to automate replication.<br />Kentico pulls data form the database and holds it in memory on the server for faster loading and efficiency (caching). Content changes are immediately viewing on the server they are applied to, however, all other servers need refresh the data.<br />Note: <br />Kentico does not replace any load balance functionality.<br />
  27. 27. Kentico Site Web Farm Support<br />Each server will have its internal IP and identifier defined in the web.config file.<br />Additional parameters can be configured to specify exact content to synchronize.<br />
  28. 28. Kentico Site Web Farm Support<br />Servers can be enabled/disabled directly from CMS Site Manager<br />Site modifications are listed as tasks for each server<br />Scheduled tasks can be configured to automate synchronizations<br />
  29. 29. Testing the System<br />Deploy to web farm environment<br />Configure Kentico site for web farm support<br />Configure site to store files on file system<br />Update content within the site<br />Upload files (Bizform, content, etc.)<br />Check Synchronization tasks<br />Confirm file modifications are replicated<br />
  30. 30. Tips / Tricks<br />Web.config parameters<br /><ul><li>CMSWebFarmSynchronizeFiles
  31. 31. CMSWebFarmSynchronizeBizFormFiles
  32. 32. CMSWebFarmSynchronizeDeleteFiles
  33. 33. CMSWebFarmMaxFileSize
  34. 34. CMSWebFarmUpdateWithinRequest</li></ul>Debugging<br /><ul><li>CMSDebugWebFarm
  35. 35. CMSDebugAllWebFarm
  36. 36. CMSDebugWebFarmLive
  37. 37. CMSDebugWebFarmLogLength</li></ul>“Smart” load balancing<br />Scheduled tasks<br />No-downtime server maintenance<br />“Sticky sessions”<br />
  38. 38. Special Considerations<br />Web analytics files<br />SmartSearch index files<br />DFS<br />Code updates<br />Hardware vs Software load balancing<br />Affinity<br />Session Management<br />HTTPS<br />
  39. 39. Questions /Answers<br />
  40. 40. Start a Conversation With Uswww.BitWizards.com800.651.4948Bryan@BitWizards.comhttp://blogs.bitwizards.com/bryan_soltis<br />

×