Skip navigation

Solution architecture: Scalable Umbraco CMS web app

Medium Umbraco CMS web app configured to scale and optimised for high-traffic sites. It uses two web apps, one for your front-end app and the other for your back-office app, deployed in a single region with auto-scaling enabled.

This solution is built on the Azure-managed services: Azure SQL Database, Storage, Application Insights and Azure Cache for Redis. These services run in a high-availability environment that is patched and supported, allowing you to focus on your solution instead of the environment they run in.

Scalable Umbraco CMS web appMedium Umbraco CMS web app configured to scale and optimised for high-traffic sites. It uses two web apps, one for your front-end app and the other for your back-office app, deployed in a single region with auto-scaling enabled.BrowserStorage(media, logs, andbackup files)Application InsightsRedis Cache(Session state andoutput cache)SQL Database(Umbraco DB and Session state DB)Web App(Umbraco Frontend)Web App(Umbraco Admin)

Deploying to Azure

Use the following pre-built template to deploy this architecture to Azure

Deploying to Azure

View template source

Implementation guidance

Products/Description Documentation

Web Apps

Run an Umbraco CMS on the Web Apps feature of Azure App Service with the front-end and back-office apps running on the same app.

Azure SQL Database

Store your site’s content in Azure SQL Database. The back-office web app and front-end web app use the same database. Use Azure SQL Database’s features such as backup and high availability.

Storage

Store all of your media in Azure Storage so that you can reduce the number of I/O operations on the web app file server and improve performance.

Application Insights

Detect issues, diagnose crashes and track usage in your web app with Application Insights. Make informed decisions throughout the development life cycle.

Azure Cache for Redis

Store session state and output cache on Azure Cache for Redis to improve performance and reduce the load on your web front-ends.