Enabling reverse proxy in Sitecore on Azure PaaS and gotchas

In Sitecore or any .Net application, you can easily achieve Reverse Proxy with the help of Url Rewrite and Application Request Routing (ARR) as mentioned in https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/reverse-proxy-with-url-rewrite-v2-and-application-request-routing.

There are some nice blogs and answers available to achieve same in Sitecore.

Recently, we were required to achieve exact same thing. But the tweak was our instance is on Azure PaaS. So, It’s clear from the configuration in Sitecore’s perspective. But one can have questions like Do we need to install ARR on WebApp? How do we enable Reverse Proxy setting on ARR without IIS access? We were having the same access. Let’s answer these questions.

Continue reading “Enabling reverse proxy in Sitecore on Azure PaaS and gotchas”

Troubleshooting Sitecore on Azure PAAS – Part 3

Scaling

Today we are going to discuss the Scaling feature of Azure and in particular Scale out and how you can troubleshoot your Sitecore instances. If you haven’t gone through earlier posts on troubleshooting Sitecore on Azure PAAS, do visit https://pratiksatikunvar.wordpress.com/category/sitecore/azure-paas/.

One of the reason enterprise level organizations wants their site in Azure PAAS is the ability to scale at anytime with little to no efforts. Azure provides great scaling options. There are two main ways that an application can scale:

  • Vertical scaling, also called scaling up and down, means changing the capacity of a resource. For example, you could move an application to a larger VM size. Vertical scaling often requires making the system temporarily unavailable while it is being redeployed. Therefore, it’s less common to automate vertical scaling.

  • Horizontal scaling, also called scaling out and in, means adding or removing instances of a resource. The application continues running without interruption as new resources are provisioned. When the provisioning process is complete, the solution is deployed on these additional resources. If demand drops, the additional resources can be shut down cleanly and deallocated.

Both kind of scaling can be done automatic or manually. Automatic scaling can be done based on Resource Metrics, Custom Metrics, Time, Metric/time based Rules, Default Scaling.

Continue reading “Troubleshooting Sitecore on Azure PAAS – Part 3”

Troubleshooting Sitecore on Azure PAAS – Part 2

Check out the Part – 1 of Troubleshooting Sitecore on Azure PAAS if you haven’t already.

First request slow? No. Subsequent requests after first request slow.

Generally when we access any website URL, first time it takes time. As it downloads all the assets like CSS, JavaScript, Images etc. But for all subsequent requests it loads page faster as browser has already cached the static assets.

We are having a site which is on Sitecore 9.0.2 on Azure PAAS. Dev/QA are single app while UAT have different CM and CD. All our web app are on Standard tier S3 plan.

Here, i was facing exact opposite scenery. First request was quite fast (Approx 3-4 seconds). But if i refresh the page or access any page of site just after first request, it get’s spinning. And it takes a lot of time (Approx 80-90 seconds). Strange. Here’s what i tried:

Check if custom pipelines or components are culprit

  • I tried first disabling all the custom httprequestbegin and MVC.PageItem pipelines. That was the first thing in the list as we were having quite a few processors in these pipelines for Language resolving, Currency resolving, Page Not Found, Error Page, Wildcard module. But even after disabling all the things, same issue. Not a slight improvement. Note: We left few processor enabled as without that site would not function properly. But we verified there isn’t anything in that processor that can cause this issue.
  • I was sure that we are not that much talented that we write code that behave in this way. Still i wanted to remove this possibility. So, i created an item which was only having a Sample MVC layout and not a single component. When i was accessing this item URL, still the issue was same. So, there isn’t any issue in any of the component.

Continue reading “Troubleshooting Sitecore on Azure PAAS – Part 2”

Troubleshooting Sitecore on Azure PAAS

I am currently working on Sitecore (9.0.2) implementation on Azure PAAS. Sitecore can take a lot of advantages on Azure PAAS. Be it setting up environments quickly, Maintaining your resources (on your own or with the help of Cloud Solution Provider -CSP), Scaling, and Monitoring.

Troubleshooting of Sitecore on Azure sometimes became complicated and different then your own Infrastructure. I am stating few ways troubleshooting your Sitecore implementation on Azure PAAS based on my recent experience.

Instance not coming up

After setting up initial single setup on Azure PAAS for our Dev environment, we were required to restart the Webapp either manually in case of any issue or automatically as part of deployment process from Octopus. After performing the restart on Webapp, it was showing Running in Azure portal as shown below:

2019-03-31 14_39_35-Home - Microsoft Azure

But when i access the Sitecore instance, i was facing The 503 Service Unavailable error.

4056246_en_2

Even after restarting the Webapp multiple times, result was the same. It shows running in azure portal. But Sitecore instance could not come up.

Continue reading “Troubleshooting Sitecore on Azure PAAS”