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
Comments
Post a Comment