Sitecore - On-Premises to Azure PaaS (ASE) Cloud Migration - Part 3

 

Automated Maintenance

Heath status check and Auto heal

Health Status

In order automatically monitor the application’s health status, Health check feature was enabled.

Using this feature there will be a ping to the specified health check path on all instances of the webapp every 2 minutes. If any web app instance does not respond within 10 minutes (5 pings), the instance is determined to be unhealthy and instance of the webapp will be taken out of the load balancer.

The health probe will continue on the instance even though it is out of load balancer. Once the health probe receives a valid response, the instance will be added back into load balancer.

Steps to enable the feature,

1.       Open the Resource explorer from the App Service blade in the portal under Development Tools.

2.       The resource explorer will open to the top-level view of your App Service. Expand the config section and click the web tab.

3.       Find the element named "healthCheckPath", set its value to the health path to a content page on the website for e.g , ‘/home

Auto Heal

Use the Auto-Heal feature to revive the web app if it encounters an unexpected behavior. The triggers such as request count, slow requests, memory limit etc on which certain specific actions can be taken like restarting the process or logging an event etc

As an example, below failed request count condition can be used as trigger to start auto heal.

Status Code

No. of requests

Frequency of the probe (Secs)

500

200

60

502

200

60

503

200

60

504

200

60

If any of above conditions are satisfied then Recycle Process, log the even are the two actions that would be triggered.

This will be an on-going maintenance activity and the triggers and action needs to be fine tuned.

Sitecore Database maintenance via Azure Automation

To reduce the performance implication due to fragmented indexes, the indexes can be rebuilt at regular intervals.

Azure Automation account that has runbooks that can be scheduled on a timer to run this task.

The Workflow RunBook will have following steps

1.       Get the tables with their corresponding average fragmentation

2.       Filter the table names that have high fragmentation (by a defined Fragmentation threshold)

3.       Iterate through tables with high fragmentation and rebuild indexes using RebuildOffline

4.       Repeat this process for all the Sitecore databases

 

Part 2                                                                                                                         Part 4

Comments

Popular posts from this blog

Sitecore: Performance issue on page load, Analytics?

Why , When and How To do a Sitecore Quality Assessment or Audit