Scalable Umbraco CMS solution for Azure Web Apps

Umbraco CMS is a leading .NET solution to bring quickly to market dynamic web applications using ASP.NET framework. Umbraco CMS earlier versions didn't support auto-scaling with Azure Web Apps. Still, the new 7.3 version release has enhancements to support better load balancing when executing the application on various instances and support auto-scaling with Azure Web Apps. Check concourse from Codegarden for extra details.

The azure quick start template gallery can utilize the ARM template that will increase a scalable Umbraco CMS application. Here’s what this template contains:

Session state: This template generates an Azure Redis cache resource and pre-configures Umbraco CMS web app to utilize this recently built Redis cache for session state caching.

Media folder: Umbraco CMS stocks all the media content on the file server by default, and upon Azure Web Apps, the files are saved on a shared drive used by all cases running your web app. As I/O calls rise in your web app, the completion of the app demotes as well. Since media content is inactive, you can complete them faster by saving them on a separate server, which in turn will increase the website loading times. Azure blob storage is a complete solution for your latent content. The implementation of a provider for Umbraco practicing blob storage is available here. This package builds an Azure storage resource and pre-configures Umbraco CMS to manage that storage for all your app’s media content.

Load balancing over various instances: Umbraco CMS (version <7.3) uses Examine (Lucence engine wrapper) for indexing the site content. It can cause many problems with load balancing when executing your app on various instances and locks on Lucene indexes. By Umbraco 7.3 used by the package here, this problem has been fixed. Setting up a load-balanced environment is reasonably easy to achieve. It can be done with only a few configuration file changes, as mentioned here, for configuration using Cloud-based auto-scale appliances. To use the adjustable load balancing of Umbraco, you Need

  • Setup 2 x Azure Web Apps - the original (administrative) environment and another for your front-end environment
  • Set up a 1 x SQL server that is shared with these two web apps.

How to install Scalable Umbraco CMS

  • Go to the Scalable Umbraco CMS template on Azure quick start template gallery.
  • Click the Deploy to Azure button.
  • Log in to the Azure preview portal using your Azure credentials.
  • Enter a resource group name and choose your subscription. NOTE: All resources (Azure Web App + Azure Redis cache + Azure Storage   + SQL Azure DB) MUST be in the SAME REGION for excellent performance
  • Click Create to start the deployment. Umbraco CMS solution ready to operate and scale on Azure Web Apps. Note, the template will need some time to deploy.