Umbraco, the open-source .NET Content Management System (CMS), has a Platform as a Service (PaaS) offering known as Umbraco Cloud. Umbraco Cloud is a streamlined and simplified hosting option for your Umbraco site, backed by Microsoft Azure, cached by Cloudflare, and supported by Umbraco engineers.

Umbraco is “friendly”, can’t I host it myself?

For smaller to midsize companies, non-profits, associations, or startups, managing the IT infrastructure for hosting a web site is daunting. They simply don’t have the staff or the skills to properly setup and operate an internet-facing server 24×7. To host the website properly, the internal IT staff would need to have a deep, modern understanding of DNS, firewalls, network segmenting, routing, load balancer configuration, web server hardening, database hardening (where applicable), along with many, many more topics. In addition, IT staff would need to keep abreast of current cybersecurity practices, patches, and updates; monitor for potential breaches, and react to any breaches with a well-defined cybersecurity response protocol. Hosting applications and websites in a vetted, trusted cloud provider mitigates many of these concerns (though admittedly not all), reducing the expertise required by internal staff, the liabilities of executive leadership, and the risks to the business.

But if it is Microsoft Azure, why not just use Azure?

However, many organizations also find that the governance, management, maintenance, and support of Microsoft Azure to be not only overwhelming, but overkill for their particular business needs. What Azure service should you use for the website: Azure App Services? Containers? An Azure Static Web App? What other services will be required to support the website? Umbraco will need a database; a place to store media files; likely, a CDN and caching layer to improve performance and reduce load on the server and database; a firewall (or web application firewall) to detect and prevent outages from DDoS attacks, block known bots and bad actors; an Azure networking solution to protect the database from external access. What is a region pair? How is it different from an availability zone? Why do I have to provision an App Service Plan and an App Service? What kind of database is needed: Azure SQL Database, Azure SQL Edge, or Azure SQL Managed Instance? With hundreds of solutions in Azure, some of which overlap in functionality, smaller organizations can find it daunting to determine the best fit for their needs.

And once the types of Azure services have been chosen, those same decisions must be considered again for the non-production environments: development, staging, QA, etc. since not all environments may require the same configuration.

Umbraco Cloud enters the scene

Umbraco Cloud massively simplifies the cognitive load required to provision a cloud-hosted Umbraco site. The entire process consists of 5 steps, with roughly 5 selections or entries. Compare that to the dozens or even hundreds of decisions required for using Azure.

To begin, you create a new “Project” choosing the Project type: Umbraco CMS, Umbraco Baseline, or Umbraco Heartcore. Umbraco CMS is a base, “vanilla” installation of Umbraco, with no starter kits, plugins, or packages. Baseline allows you to base this new Umbraco Project on existing Umbraco Cloud project. Heartcore is Umbraco’s headless CMS, giving you the power of the Umbraco Backoffice, while serving all Umbraco content through a graphql or json API.

Umbraco Cloud simplifies project creation. First showing the project types selection for Umbraco CMS, Baseline, and Heartcore.

In step 2, you have to choose the Umbraco plan which aligns best for your project: Starter, Standard, Professional, or Enterprise. You can find detailed descriptions and pricing for each plan here.

Umbraco Cloud simplifies project creation. The Umbraco Cloud plans with details about their features and pricing.

Next, select the version of Umbraco you would like to use. Currently, the two choices are Umbraco 14 and Umbraco 13. Umbraco 14 has a completely rewritten Umbraco Backoffice, but is not a long-term supported (LTS) version. For projects where upgrades will likely need to be manual (due to custom code, configuration, etc.) and may be costly, choosing Umbraco 13, the LTS version, likely makes more sense. For sites with minimal Backoffice customization, and where automatic upgrades will smoothly install, Umbraco 14 may be the better choice.

Umbraco version selection showing versions 13 and 14.

In the final step before confirming your selections, you will enter a project name and select the geographic region where Umbraco will provision the Azure resources. Choosing the region geographically near the primary users of the site will decrease network latency of accessing resources.

The final step, showing the project details which include the name, region, and some optional information.

Once the steps above are completed, Umbraco will provision all of the Azure resources necessary for running and administering Umbraco. Yes! 5 steps, 5 decisions, and then Umbraco Cloud will do all the hard work of ensuring the correct Azure resources are allocated and configured.

Wait…that can’t be all there is to it!!

Yes, that is all there is! To put a fine point on this, simply by going through the 5 steps above, Umbraco Cloud will provision between one and three (depending on the number of Environments):

  • SQL Server databases
  • App Services
  • Azure Storage accounts for media
  • DNS entries (and possibly SSL certs) for the Environments
  • Cloudflare CDN and caching configurations

Additionally, Umbraco will be fully installed and configured in each Environment, ready for Document Types, Compositions, Templates and Media.

Conclusion

Umbraco Cloud provides a huge savings when compared to the amount of time, knowledge, and skill required to chose, provision, and configure Azure resources, then install and configure Umbraco, setup the DNS, etc. then setup Cloudflare.

Aside: Having said all of the above, there are some very good reasons to choose hosting Umbraco in your own Azure tenant, instead of using Umbraco Cloud. I will be covering those in a future article.

There are clearly many, many additional features of Umbraco Cloud not covered here. However, hopefully this understanding how Umbraco Cloud can simplify the provisioning and hosting your Umbraco site excites your interest and you will consider Umbraco Cloud as the hosting solution for your next Umbraco CMS project.