Scalable Umbraco CMS web app

Application Insights
Cache for Redis
SQL Database
Storage Accounts
Web Apps

Solution Idea

If you'd like to see us expand this article with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know with GitHub Feedback!

Medium Umbraco CMS web app configured to scale and optimal 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 autoscaling enabled.

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

Architecture

Architecture Diagram Download an SVG of this architecture.

Components

  • 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.
  • 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 Accounts: Store all your media in Azure Storage, so you can reduce I/O operation 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 lifecycle.
  • Store session state and output cache on Azure Cache for Redis to improve performance and reduce the load on your web front ends.

Deploy this solution

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

Next steps